TDSQL-A与CK的对比
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的能力并开放给我们的用户。
TDSQL-A与CK的对比的更多相关文章
- 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比
最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...
- python采用 多进程/多线程/协程 写爬虫以及性能对比,牛逼的分分钟就将一个网站爬下来!
首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都 ...
- 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”
Bloodhound SSC超音速汽车将陆地极限速度提升到1678公里/小时,号称陆地“超音速战斗机”.无独有偶,同样也在2017年,在英特尔®.腾讯金融云团队的共同见证下,腾讯云数据库TDSQL采用 ...
- 分布式 NewSQL 对比
1.TiDB: 说明: PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库. 开源分布式 NewSQL 关系型数据库 TiDB 是新一代开源分 ...
- PHP-不同Str 拼接方法性能对比
问题 在PHP中,有多种字符串拼接的方式可供选择,共有: 1 . , .= , sprintf, vprintf, join, implode 那么,那种才是最快的,或者那种才是最适合业务使用的,需要 ...
- 阿里云、青云、腾讯云服务器,Mysql数据库,Redis等产品性能对比
阿里云.青云.腾讯云服务器,Mysql数据库,Redis等产品都使用过,对比维度很多就不一一放出.直接放结论吧:买的腾讯(金融专区)服务器,Mysql(TDSql)把所有项目转到腾讯云,但是没有用腾讯 ...
- 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比(Python实现)
最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...
- CK:User mode Bus Error(用户空间操作内核地址导致的异常)
关键词:VEC_ACCESS.coredump.LR.PC等. CK中存在一种VEC_ACCESS异常,可能原因是用户空间访问了内核空间,还有一种是内核访问不存在的总线地址. 下面简单构造VEC_AC ...
- JS与JQuery的一些对比
主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
随机推荐
- js中==和===的区别以及总结
js中==和===的区别以及总结 学习js时我们会遇到 == 和 === 两种符号,现做总结如下 两种符号的定义 "==" 叫做相等运算符 "===" 叫做严格 ...
- 构建前端第2篇之--ESLint 配置
张艳涛 写于2021-1-19 报错: http://eslint.org/docs/rules/space-before-function-paren Missing space before fu ...
- noip模拟29[简单的板子题](虽然我不会)
\(noip模拟29\;solutions\) 这次考试给我最大的伤害,让我意识到了差距 这场考试可以说是非常的简单,就是简单到,看两眼,打个表就有结果了 但是呢?我考得非常的完蛋,只有30pts 据 ...
- Python小白的数学建模课-16.最短路径算法
最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径. 在图论中,最短路径长度与最短路径距离却是不同的概念和问题,经常会被混淆. 求最短路径长度的常用算法是 Dijkst ...
- firewalld防火墙基础
目录 一.firewalld 概述 二.firewalld与iptables 的区别 三.firewalld 区域概念 四.Firewalld数据处理流程 五.Firewalld检查数据包的源地址的规 ...
- template.js模板工具案例
案例一 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&qu ...
- 常见的Web攻击手段,拿捏了!
大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...
- Convert a Private Project on bitbucket.com to a github Public Project
Create a public repo on github, you can add README or License files on the master branch, suppose th ...
- Windows内核-7-(IRP)I/O请求包
Windows内核-7-(IRP)I/O请求包 IRP(I/O Request Packet)就是一个进行I/O操作的请求包. IRP是一个结构体,谁分配谁就得释放,通常由执行体里的管理器,获取内核驱 ...
- Abp vNext 基础篇丨领域构建
介绍 我们将通过例⼦介绍和解释⼀些显式规则.在实现领域驱动设计时,应该遵循这些规则并将其应⽤到解决⽅案中. 领域划分 首先我们先对比下Blog.Core和本次重构设计上的偏差,可以看到多了一个博客管理 ...