TDSQL-A與CK的對比


CK介紹

CK是目前社區里面比較熱門的,應用場景也比較廣泛。

首先,在架構上,集群內划分為多個分片,通過分片的線性擴展能力,支持海量數據的分布式存儲計算,每個分片內包含一定數量的節點Node,即進程,Node之間互為副本,通過ZooKeeper進行數據同步。

其次,CK的數據模型主要使用MergeTree表引擎——一種LSM Tree的實現,同時支持分布式表,寫入時進行數據轉發,讀取時進行數據收集。

file

再者,在存儲上,CK采用了列存、分區、數據排序和分塊、主鍵索引等方式。最后,在計算上,CK采用向量化執行方式,利用SIMD指令加速。

存儲引擎

在存儲引擎上來看,TDSQL-A和CK各有自己鮮明的特點。

TDSQL-A采用的是典型的列存設計,功能完備,包括完整的事務能力,同時還設計一些特殊的優化來加速數據讀寫操作。

file

SQL引擎

在SQL引擎上,TDSQL-A繼承了PG原生的SQL能力,SQL完備且兼容性好,支持多表關聯、存儲過程等復雜查詢,另外TDSQL-A在分布式架構上對優化器和執行器具有很多優化。我們也在分布式架構上做了一些並發器和執行器的優化,左圖實際上就是分布式的一個重要例子。

file

CK也具有出色的向量化執行引擎,特別是在AGG計算中,針對不同數據類型設計不同的數據結構和算法,將CPU和內存能力發揮到極致。右圖中列了一下針對於Hash AGG計算設計的不同數據結構。

對比

整體來看,TDSQL-A相比於CK,在SQL能力、事務能力、優化器能力、分布式管控能力以及高可用能力上具有優勢,而CK則在計算引擎執行效率上表現突出。

file

TDSQL-A受惠於PG社區的長期積累,同時經過我們團隊長時間的功能增強、性能優化以及在多個應用領域的實踐,已經具備了全面和強大的能力,可以提供企業級一站式解決方案,可以把事務、高可用以及部分業務邏輯放到數據庫中來處理,大大降低業務的復雜程度。我們也將繼續與PG社區、CK社區等優秀開源社區保持緊密聯系,吸收改進新的發展技術和研究成果,不斷地提高TDSQL-A的能力並開放給我們的用戶。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM