在群雄逐鹿的 OLAP 數據庫市場,開源引擎 ClickHouse 憑借其出色的性能成為公認的黑馬。官方稱其性能超過了市場上同類的列式數據庫,每臺服務器每秒可處理數億到超過十億行、體積達數十 GB 的數據,運行速度比傳統數據庫快 100-1000 倍。
高效運行速度的另一面,還隱含著成本、性能、容量等諸多問題,比如不支持事務,不能夠保證數據的一致性和完整性,不存在隔離級別,不支持高并發等等。這導致 2016 年開源的 ClickHouse 難以應對當下更加復雜,數據規模更加巨大的場景需求。
比如在字節內部,從 2018 年引入 ClickHouse,因為業務的發展,要服務于大量的用戶,數據規模變得越來越巨大。由于 ClickHouse 是 Shared-Nothing 的架構,每個節點是獨立的,不會共享存儲資源等,因而計算資源和存儲資源是緊耦合的。這導致擴縮容成本變高,且會涉及到數據遷移,不能實時按需的擴縮容,從而導致資源的浪費。此外,ClickHouse 的緊耦合的架構會導致多租戶在共享集群相互影響,另外由于讀寫在一個節點完成,導致讀寫受到影響,最后 ClickHouse 在復雜查詢上例如多表 join 等的性能支持并不是很好。
字節 ClickHouse 使用情況 為了解決這些痛點,字節在 ClickHouse 架構基礎上進行了升級,于 2020 年在內部啟動了 ByConity 項目,并于 2023 年 1 月發布 Beta 版本,將于 5 月底正式對外開源。
ByConity 是一個開源的云原生數據倉庫,采用存儲 - 計算分離的架構。它支持多個關鍵功能特性,如存儲計算分離、彈性擴縮容、租戶資源隔離和數據讀寫的強一致性等。通過利用主流的 OLAP 引擎優化,如列存儲、向量化執行、MPP 執行、查詢優化等,ByConity 可以提供優異的讀寫性能。
ByConity 的架構分為三層,如下圖所示,服務接入層包含負責客戶端數據和服務的接入,也就是 ByConity Server;計算組為 ByConity 的計算資源層,每個 Virtual Warehouse 是一個計算組;數據存儲層由分布式文件系統,如 HDFS、S3 等構成。
ByConity 三層技術架構圖 除了兼備 ClickHouse 的一些優點外,ByConity 還實現了了諸多新的功能。
ByConity 的一個重要優勢是存儲 - 計算分離的架構,它實現了讀寫分離和彈性擴縮容。它的優勢是高彈性和高擴展性。這種架構確保讀操作和寫操作不會相互影響,使得計算資源和存儲資源解耦,兩者可以按需的且獨立的擴縮容,確保資源高效利用。此外,ByConity 支持多租戶資源隔離功能,保證不同租戶之間不會互相影響,使 ByConity 適用于多租戶環境,如圖 2。
ByConity 存儲 - 計算分離,實現多租戶隔離 ByConity 支持?彈性的擴縮容,能夠實時、按需的對計算資源進行擴縮容,保證資源的高效利用。并且它能對不同的租戶進行?資源的隔離,租戶之間不會受到相互影響。其另一個重要功能是?數據讀寫的強一致性?,確保數據始終是最新的,讀寫之間沒有不一致。此外,ByConity 采用了主流的 OLAP 引擎優化,例如列存、向量化執行、MPP 執行、查詢優化等,來保證提供了?優異的讀寫性能。
之所以采用開源的模式,ByConity 項目組是希望能夠把項目回饋給社區,同時也希望通過社區的力量加強和完善 ByConity。接下來,ByConity 在 2023 開源社區發展規劃中,希望增強 ByConity 的功能、性能和易用性,重點關注開發新的存儲引擎、支持更多的數據類型和與其他數據管理工具的集成領域。
責任編輯:彭菁
-
存儲
+關注
關注
13文章
4314瀏覽量
85851 -
數據庫
+關注
關注
7文章
3799瀏覽量
64396 -
OLAP
+關注
關注
0文章
24瀏覽量
10105
原文標題:分析型數據庫如何創新?
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論