CK 介绍
CK 是目前社区外面比拟热门的,利用场景也比拟宽泛。
首先,在架构上,集群内划分为多个分片,通过分片的线性扩大能力,反对海量数据的分布式存储计算,每个分片内蕴含肯定数量的节点 Node,即过程,Node 之间互为正本,通过 ZooKeeper 进行数据同步。
其次,CK 的数据模型次要应用 MergeTree 表引擎——一种 LSM Tree 的实现,同时反对分布式表,写入时进行数据转发,读取时进行数据收集。
再者,在存储上,CK 采纳了列存、分区、数据排序和分块、主键索引等形式。最初,在计算上,CK 采纳向量化执行形式,利用 SIMD 指令减速。
存储引擎
在存储引擎上来看,TDSQL- A 和 CK 各有本人显明的特点。
TDSQL- A 采纳的是典型的列存设计,性能齐备,包含残缺的事务能力,同时还设计一些非凡的优化来减速数据读写操作。
SQL 引擎
在 SQL 引擎上,TDSQL- A 继承了 PG 原生的 SQL 能力,SQL 齐备且兼容性好,反对多表关联、存储过程等简单查问,另外 TDSQL- A 在分布式架构上对优化器和执行器具备很多优化。咱们也在分布式架构上做了一些并发器和执行器的优化,左图实际上就是分布式的一个重要例子。
CK 也具备杰出的向量化执行引擎,特地是在 AGG 计算中,针对不同数据类型设计不同的数据结构和算法,将 CPU 和内存能力施展到极致。右图中列了一下针对于 Hash AGG 计算设计的不同数据结构。
比照
整体来看,TDSQL- A 相比于 CK,在 SQL 能力、事务能力、优化器能力、分布式管控能力以及高可用能力上具备劣势,而 CK 则在计算引擎执行效率上体现突出。
TDSQL- A 受惠于 PG 社区的长期积攒,同时通过咱们团队长时间的性能加强、性能优化以及在多个应用领域的实际,曾经具备了全面和弱小的能力,能够提供企业级一站式解决方案,能够把事务、高可用以及局部业务逻辑放到数据库中来解决,大大降低业务的复杂程度。咱们也将持续与 PG 社区、CK 社区等优良开源社区放弃紧密联系,排汇改良新的倒退技术和研究成果,一直地进步 TDSQL- A 的能力并凋谢给咱们的用户。