TiKV & TiFlash 加速复杂业务查询
一、TiKV 行存 与 TiFlash 列存混合使用 TiDB 中 query 执行的示意图,可以看到在 TiDB 中一个 query 的执行会被分成两部分,一部分在 TiDB 执行,一部分下推给存储层( TiFlash/TiKV )执行。 1.1 混用原理 1 TiDB 的行列混合并不是传统设计上的行存列存二选一, 而是 TiDB 可以在同一张表同时拥有行存和列存,且两者永远保持数据强一致(而非最终一致)。 2 多表查询分别使用不同的引擎 TIKV 或 TiFlash 。 3 TiFlash 支持 MPP 模式的查询执行,即在计算中引入跨节点的数据交换(data shuffle 过程)。 1.2 混用优化 二、标签系统高级筛选 通过标签(从宽表里不确定字段)和窄表特定字段组合查询客户并分页 2.1 Read from TiKV SELECT /*+ READ_FROM_STORAGE(tikv[b], tikv[c],tikv[d]) */ a.*, b.CUST_NAME,b.CERT_TYPE,b.CERT_NUM,b.CUST_TYPE,b.SEX,b.AGE,b....
