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的对比的更多相关文章

  1. 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比

    最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...

  2. python采用 多进程/多线程/协程 写爬虫以及性能对比,牛逼的分分钟就将一个网站爬下来!

    首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都 ...

  3. 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”

    Bloodhound SSC超音速汽车将陆地极限速度提升到1678公里/小时,号称陆地“超音速战斗机”.无独有偶,同样也在2017年,在英特尔®.腾讯金融云团队的共同见证下,腾讯云数据库TDSQL采用 ...

  4. 分布式 NewSQL 对比

    1.TiDB: 说明: PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库. 开源分布式 NewSQL 关系型数据库 TiDB 是新一代开源分 ...

  5. PHP-不同Str 拼接方法性能对比

    问题 在PHP中,有多种字符串拼接的方式可供选择,共有: 1 . , .= , sprintf, vprintf, join, implode 那么,那种才是最快的,或者那种才是最适合业务使用的,需要 ...

  6. 阿里云、青云、腾讯云服务器,Mysql数据库,Redis等产品性能对比

    阿里云.青云.腾讯云服务器,Mysql数据库,Redis等产品都使用过,对比维度很多就不一一放出.直接放结论吧:买的腾讯(金融专区)服务器,Mysql(TDSql)把所有项目转到腾讯云,但是没有用腾讯 ...

  7. 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比(Python实现)

    最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...

  8. CK:User mode Bus Error(用户空间操作内核地址导致的异常)

    关键词:VEC_ACCESS.coredump.LR.PC等. CK中存在一种VEC_ACCESS异常,可能原因是用户空间访问了内核空间,还有一种是内核访问不存在的总线地址. 下面简单构造VEC_AC ...

  9. JS与JQuery的一些对比

    主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

随机推荐

  1. 深入源码理解Spring整合MyBatis原理

    写在前面 聊一聊MyBatis的核心概念.Spring相关的核心内容,主要结合源码理解Spring是如何整合MyBatis的.(结合右侧目录了解吧) MyBatis相关核心概念粗略回顾 SqlSess ...

  2. Ubuntu 20.04 安装kodi播放器

    打开终端,执行命令在线安装 sudo apt-get install software-properties-common sudo add-apt-repository ppa:team-xbmc/ ...

  3. Python基础之用PyQt5写一个tabview

    前面学习了menu的画图,现在学习tabview的画图,关于怎么打开designer.exe部分就不详细介绍了. 第一步:拖动一个Tab Widget控件到窗口去. 将控件拖上去之后就是这个样子,默认 ...

  4. TCP通信简单梳理

    一.什么是TCP协议 TCP协议是一种面向连接的可靠的通信协议,最重要的两个特点:连接.可靠. 二.TCP是如何进行通信的 TCP通过三次握手建立连接后客户端服务端的内核都分别开辟资源,这时候开始进行 ...

  5. 洛谷P3067题解

    题面 首先,对于每个数,有三种状态:选入集合A,选入集合B,或者不选入集合.暴力枚举的时间复杂度是 \(O(n\times3^n)\) ,显然跑不过去. 因此考虑 \(\text{Meet in Mi ...

  6. template.js模板工具案例

    案例一 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&qu ...

  7. RHCSA_DAY02

    Linux:一切皆文件 分区:/boot:做引导盘 /swap:虚拟内存----最大20gb /data:自己放文件用 /:根分区 - 图形界面:   - Ctrl+Shift +号   //调整命令 ...

  8. MySQL 不完全入门指南

    由于 MySQL 的整个体系太过于庞大,文章的篇幅有限,不能够完全的覆盖所有的方面.所以我会尽可能的从更加贴进我们日常使用的方式来进行解释. 小白眼中的 MySQL 首先,对于我们来说,MySQL 是 ...

  9. Required request body is missing-请求接口报错

    一.问题由来 自己目前在做一个小程序的后台,已经写好了项目中的很多的接口,同时也在进行一些修改,比如添加拦截器,统一校验一个固定的参数是否正确. 在自己添加拦截器之前,这些接口都可以正常访问,可是在添 ...

  10. [转]C# 互操作性入门系列(一):C#中互操作性介绍

    传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...