前言
上一篇讲述了KunlunBase的查询优化原理(KunlunBase),本篇讲述Project和Filter下推演示。
一、测试表基本信息
1.1 测试环境
本次测试演示投影和过滤操作的下推。
测试环境的数据库集群共有四个数据节点(DN), 配置为两个shard (shard1和shard2),每个shard节点由一个主节点和一个从节点构成(shard1两个节点为数据复制关系,shard2两个节点也是数据复制关系,shard1 和shard2 存放数据表的不同分片数据)。如下图:
可以通过下面语句显示集群环境的节点信息
select t1.name, t2.shard_id, t2.hostaddr, t2.port,
t2.user_name, t2.passwd from pg_shard t1, pg_shard_node t2
where t2.shard_id=t1.id;
结果如下图:
1.2 表结构
本次测试的表结构如下图:
1.3 分片信息
表Customer1依据c_id字段,按范围分区,对应的分区表分别是:
Customer1_1,Customer1_2,Customer1_3,Customer1_4。
4个分片数据分别存在两个shard里:
select t1.nspname, t2.relname,t2.relshardid, t2.relkind
from pg_namespace t1 join pg_class t2 ont1.oid = t2.relnamespace
where t2.relshardid != 0 and relkind='r' and relname like
'%customer1%' order by t2.relname;
结果如下图:
1.4 数据分布
数据根据分片规则落于不同的分片存储里