分析型數(shù)據(jù)庫如何創(chuàng)新?GOTC 2023 議題揭秘

在群雄逐鹿的 OLAP 數(shù)據(jù)庫市場,開源引擎 ClickHouse 憑借其出色的性能成為公認的黑馬。官方稱其性能超過了市場上同類的列式數(shù)據(jù)庫,每臺服務器每秒可處理數(shù)億到超過十億行、體積達數(shù)十 GB 的數(shù)據(jù),運行速度比傳統(tǒng)數(shù)據(jù)庫快 100-1000 倍。

高效運行速度的另一面,還隱含著成本、性能、容量等諸多問題,比如不支持事務,不能夠保證數(shù)據(jù)的一致性和完整性,不存在隔離級別,不支持高并發(fā)等等。這導致 2016 年開源的 ClickHouse 難以應對當下更加復雜,數(shù)據(jù)規(guī)模更加巨大的場景需求。

比如在字節(jié)內(nèi)部,從 2018 年引入 ClickHouse,因為業(yè)務的發(fā)展,要服務于大量的用戶,數(shù)據(jù)規(guī)模變得越來越巨大。由于 ClickHouse 是 Shared-Nothing 的架構,每個節(jié)點是獨立的,不會共享存儲資源等,因而計算資源和存儲資源是緊耦合的。這導致擴縮容成本變高,且會涉及到數(shù)據(jù)遷移,不能實時按需的擴縮容,從而導致資源的浪費。此外,ClickHouse 的緊耦合的架構會導致多租戶在共享集群相互影響,另外由于讀寫在一個節(jié)點完成,導致讀寫受到影響,最后 ClickHouse 在復雜查詢上例如多表 join 等的性能支持并不是很好。

字節(jié) ClickHouse 使用情況

為了解決這些痛點,字節(jié)在 ClickHouse 架構基礎上進行了升級,于 2020 年在內(nèi)部啟動了 ByConity 項目,并于 2023 年 1 月發(fā)布 Beta 版本,將于 5 月底正式對外開源。

ByConity 是一個開源的云原生數(shù)據(jù)倉庫,采用存儲 - 計算分離的架構。它支持多個關鍵功能特性,如存儲計算分離、彈性擴縮容、租戶資源隔離和數(shù)據(jù)讀寫的強一致性等。通過利用主流的 OLAP 引擎優(yōu)化,如列存儲、向量化執(zhí)行、MPP 執(zhí)行、查詢優(yōu)化等,ByConity 可以提供優(yōu)異的讀寫性能。

ByConity 的架構分為三層,如下圖所示,服務接入層包含負責客戶端數(shù)據(jù)和服務的接入,也就是 ByConity Server;計算組為 ByConity 的計算資源層,每個 Virtual Warehouse 是一個計算組;數(shù)據(jù)存儲層由分布式文件系統(tǒng),如 HDFS、S3 等構成。

ByConity 三層技術架構圖

除了兼?zhèn)?ClickHouse 的一些優(yōu)點外,ByConity 還實現(xiàn)了了諸多新的功能。

ByConity 的一個重要優(yōu)勢是存儲-計算分離的架構,它實現(xiàn)了讀寫分離和彈性擴縮容。它的優(yōu)勢是高彈性和高擴展性。這種架構確保讀操作和寫操作不會相互影響,使得計算資源和存儲資源解耦,兩者可以按需的且獨立的擴縮容,確保資源高效利用。此外,ByConity 支持多租戶資源隔離功能,保證不同租戶之間不會互相影響,使 ByConity 適用于多租戶環(huán)境,如圖 2。

ByConity 存儲 - 計算分離,實現(xiàn)多租戶隔離

ByConity 支持彈性的擴縮容,能夠?qū)崟r、按需的對計算資源進行擴縮容,保證資源的高效利用。并且它能對不同的租戶進行資源的隔離,租戶之間不會受到相互影響。其另一個重要功能是數(shù)據(jù)讀寫的強一致性,確保數(shù)據(jù)始終是最新的,讀寫之間沒有不一致。此外,ByConity 采用了主流的 OLAP 引擎優(yōu)化,例如列存、向量化執(zhí)行、MPP 執(zhí)行、查詢優(yōu)化等,來保證提供了優(yōu)異的讀寫性能。

之所以采用開源的模式,ByConity 項目組是希望能夠把項目回饋給社區(qū),同時也希望通過社區(qū)的力量加強和完善 ByConity。接下來,ByConity 在 2023 開源社區(qū)發(fā)展規(guī)劃中,希望增強 ByConity 的功能、性能和易用性,重點關注開發(fā)新的存儲引擎、支持更多的數(shù)據(jù)類型和與其他數(shù)據(jù)管理工具的集成領域。

5 月 28 日,字節(jié)跳動分析型數(shù)據(jù)庫負責人陳星將出席 GOTC 2023 “數(shù)據(jù)與數(shù)據(jù)庫技術” 分論壇,并擔任講師,帶來《ByConity: 分析型數(shù)據(jù)庫技術創(chuàng)新與開放之路》主題演講,詳解 ByConity 中的關鍵技術選擇,分享 ByConity 開源與開放背后的故事。

敬請期待!

全球開源技術峰會(Global Open-source Technology Conference),簡稱 GOTC,是由開放原子開源基金會、上海浦東軟件園、Linux 基金會亞太區(qū)和開源中國聯(lián)合發(fā)起的,面向全球開發(fā)者的一場盛大開源技術盛宴。

5 月 27 日至 28 日,GOTC 2023 將于上海舉辦為期 2 天的開源行業(yè)盛會。大會將以行業(yè)展覽、主題發(fā)言、專題論壇、開源市集的形式展現(xiàn),與會者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區(qū)塊鏈等熱門技術主題,以及開源社區(qū)、AIGC、汽車軟件、AI 編程、開源教育培訓、云原生等熱門話題,探討開源未來,助力開源發(fā)展。

GOTC 2023報名通道現(xiàn)已開啟,誠邀全球各技術領域開源愛好者共襄盛舉!

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。 )