玩弄放荡人妇系列av在线网站,日韩黄片,人人妻人人添人人爽,欧美一区,日本一区二区三区在线 |观看,日本免费a级毛一片

您當(dāng)前的位置: 首頁 > 新聞 > 行業(yè)

5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。 ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。 字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了

來源:網(wǎng)絡(luò) 編輯:小編 時(shí)間:2023-05-23 16:13人閱讀

5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。

ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。

字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了一系列的問題,包括擴(kuò)縮容成本高、復(fù)雜查詢性能受限等。為了滿足業(yè)務(wù)訴求,字節(jié)跳動(dòng)數(shù)據(jù)平臺(tái)團(tuán)隊(duì)在 ClickHouse 社區(qū)版本基礎(chǔ)上做出架構(gòu)升級(jí),開發(fā)出云原生版本、存儲(chǔ)計(jì)算分離的數(shù)據(jù)倉庫 ByConity,并自研優(yōu)化器,提升其復(fù)雜查詢等性能。

本文將深度介紹ByConity項(xiàng)目背景、工作原理、功能特性、技術(shù)架構(gòu),以及未來規(guī)劃。

一、項(xiàng)目背景

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

ByConity 的背景可以追溯到 2018 年,當(dāng)時(shí)字節(jié)跳動(dòng)開始在內(nèi)部使用 ClickHouse,因?yàn)闃I(yè)務(wù)的發(fā)展,要服務(wù)于大量的用戶,數(shù)據(jù)規(guī)模變得越來越巨大。由于 ClickHouse 是 Shared-Nothing 的架構(gòu),每個(gè)節(jié)點(diǎn)是獨(dú)立的,不會(huì)共享存儲(chǔ)資源等,因而計(jì)算資源和存儲(chǔ)資源是緊耦合的,這使得 ClickHouse 在使用過程中會(huì)遇到以下情況:

首先,這導(dǎo)致擴(kuò)縮容成本變高,且會(huì)涉及到數(shù)據(jù)遷移,使他們不能實(shí)時(shí)按需的擴(kuò)縮容,從而導(dǎo)致資源的浪費(fèi);

其次,ClickHouse 緊耦合的架構(gòu)會(huì)導(dǎo)致多租戶在共享集群環(huán)境相互影響,同時(shí)由于讀寫在同一個(gè)節(jié)點(diǎn)完成,導(dǎo)致讀寫相互影響;

最后,ClickHouse 在復(fù)雜查詢上例如多表 Join 等操作的性能支持并不是很好。

基于這些痛點(diǎn),字節(jié)在 ClickHouse 架構(gòu)基礎(chǔ)上進(jìn)行了升級(jí),于 2020 年在內(nèi)部啟動(dòng)了 ByConity 項(xiàng)目,2022年準(zhǔn)備開源,并于 2023 年 1 月發(fā)布 Beta 版本,5月底正式對(duì)外開源。

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖1)

圖1 字節(jié) ClickHouse 使用情況

據(jù)介紹,ByConity開源之前,字節(jié)跳動(dòng)數(shù)據(jù)平臺(tái)團(tuán)隊(duì)也曾考慮將自研修改合并回ClickHouse社區(qū),與ClickHouse核心研發(fā)團(tuán)隊(duì)、ClickHouse創(chuàng)業(yè)公司負(fù)責(zé)人做了幾次閉門溝通,得到的反饋是架構(gòu)差異過大、合并難度和代價(jià)大、無法聯(lián)合開發(fā)。于是,按照ClickHouse社區(qū)給到的建議,數(shù)據(jù)平臺(tái)團(tuán)隊(duì)決定獨(dú)立開源,并跟ClickHouse社區(qū)消息同步。

二、功能特性

ByConity 引入了計(jì)算與存儲(chǔ)分離的架構(gòu),將原本計(jì)算和存儲(chǔ)分別在每個(gè)節(jié)點(diǎn)本地管理的架構(gòu),轉(zhuǎn)換為在分布式存儲(chǔ)上統(tǒng)一管理整個(gè)集群內(nèi)所有數(shù)據(jù)的架構(gòu),使得每個(gè)計(jì)算節(jié)點(diǎn)成為一個(gè)無狀態(tài)的單純計(jì)算節(jié)點(diǎn),并利用分布式存儲(chǔ)的擴(kuò)展能力和計(jì)算節(jié)點(diǎn)的無狀態(tài)特性實(shí)現(xiàn)動(dòng)態(tài)的擴(kuò)縮容。正是由于這種改進(jìn),使得ByConity具有以下重要特性:

資源隔離:對(duì)不同的租戶進(jìn)行資源的隔離,租戶之間不會(huì)受到相互影響;

讀寫分離:計(jì)算資源和存儲(chǔ)資源解耦,確保讀操作和寫操作不會(huì)相互影響;

彈性擴(kuò)縮容:支持彈性的擴(kuò)縮容,能夠?qū)崟r(shí)、按需的對(duì)計(jì)算資源進(jìn)行擴(kuò)縮容,保證資源的高效利用;

數(shù)據(jù)強(qiáng)一致:數(shù)據(jù)讀寫的強(qiáng)一致性,確保數(shù)據(jù)始終是最新的,讀寫之間沒有不一致;

高性能:采用了主流的 OLAP 引擎優(yōu)化,例如列存、向量化執(zhí)行、MPP 執(zhí)行、查詢優(yōu)化等提供優(yōu)異的讀寫性能。

三、技術(shù)架構(gòu)

3.1 整體架構(gòu)

ByConity 的架構(gòu)分為三層,如圖2所示,包括服務(wù)接入層,計(jì)算層和數(shù)據(jù)存儲(chǔ)層。服務(wù)接入層負(fù)責(zé)客戶端數(shù)據(jù)和服務(wù)的接入,也就是 ByConity Server;ByConity 的計(jì)算資源層,由一個(gè)或者多個(gè)計(jì)算組構(gòu)成,每個(gè) Virtual Warehouse(VW)是一個(gè)計(jì)算組;數(shù)據(jù)存儲(chǔ)層由分布式文件系統(tǒng),如 HDFS、S3 等構(gòu)成。

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖2)

圖2 ByConity 三層技術(shù)架構(gòu)圖

3.2 工作原理

圖3 是 ByConity 組件交互圖,圖中虛線部分表示一個(gè) SQL 的流入,實(shí)線部分的雙向箭頭表示組件內(nèi)的交互,單向箭頭表示數(shù)據(jù)的處理并輸出給客戶端。字節(jié)跳動(dòng)數(shù)據(jù)平臺(tái)團(tuán)隊(duì)將通過一個(gè) SQL 的完整生命周期來具體分析它在 ByConity 各個(gè)組件的交互過程。

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖3)

圖3 ByConity 內(nèi)部組件交互圖


第一階段:客戶端提交 Query 請(qǐng)求給 Server 端,Server 端首先進(jìn)行 Parsering,然后通過 Analyzer 和 Optimizer分析和優(yōu)化生成更加高效的可執(zhí)行計(jì)劃。這里需要讀取元數(shù)據(jù) MetaData,元數(shù)據(jù)存儲(chǔ)在一個(gè)分布式 KV 里,ByConity 使用 FoundationDB,并通過 Catalog 讀取元數(shù)據(jù)。

第二階段:ByConity 把通過分析和優(yōu)化器后產(chǎn)生的可執(zhí)行計(jì)劃交由調(diào)度器(Plan Scheduler),調(diào)度器通過訪問Resource Manager 獲取空閑的計(jì)算資源,并決定把查詢?nèi)蝿?wù)調(diào)度到哪些節(jié)點(diǎn)去執(zhí)行。

第三階段:Query請(qǐng)求最終在 ByConity 的 Worker 上執(zhí)行,Worker 會(huì)從最底層的 Cloud Storage 讀取數(shù)據(jù),并通過建立 Pipeline 的方式進(jìn)行計(jì)算。最終多個(gè) Worker 的計(jì)算結(jié)果通過 Server 匯聚,并返回給客戶端。

ByConity 還有兩個(gè)主要的組件,分別是 Time-stamp Oracle 和 Deamon Manager。前者支持事務(wù)處理,后者則對(duì)后來的一些任務(wù)進(jìn)行管理和調(diào)度。

3.3 主要組件庫

1)元數(shù)據(jù)管理

ByConity 提供了一個(gè)高可用和高性能的元數(shù)據(jù)讀寫服務(wù)--Catalog Server,并且支持了完備的事務(wù)語義特性(ACID)。同時(shí)字節(jié)跳動(dòng)數(shù)據(jù)平臺(tái)團(tuán)隊(duì)對(duì) Catalog Server 做了比較好的抽象,使得后端的存儲(chǔ)系統(tǒng)是可插拔的,當(dāng)前他們支持的是蘋果開源的 FoundationDB,后面可以通過擴(kuò)展去支持更多的后端存儲(chǔ)系統(tǒng)。

2)查詢優(yōu)化器

查詢優(yōu)化器是數(shù)據(jù)庫系統(tǒng)的核心之一。一個(gè)優(yōu)秀的優(yōu)化器可以大大提高查詢性能。尤其是在復(fù)雜的查詢場(chǎng)景下,優(yōu)化器可以帶來數(shù)倍至數(shù)百倍的性能提升。ByConity 自研優(yōu)化器基于兩個(gè)方向提升優(yōu)化能力:

RBO:基于規(guī)則的優(yōu)化能力。支持:列裁剪、分區(qū)裁剪、表達(dá)式簡(jiǎn)化、子查詢解除關(guān)聯(lián)、謂詞下推、冗余運(yùn)算符消除、Outer-Join to Inner-Join、運(yùn)算符下推存儲(chǔ)、分布式運(yùn)算符拆分等常見的啟發(fā)式優(yōu)化能力。

CBO:基于成本的優(yōu)化能力。支持:Join Reorder、Outer-Join Reorder、Join/Agg Reorder、CTE、Materialized View、Dynamic Filter Push-Down、Magic Set 等基于成本的優(yōu)化能力,并為分布式計(jì)劃集成 Property Enforcement。

3)查詢調(diào)度

ByConity 目前支持兩種查詢調(diào)度策略:Cache-aware 調(diào)度和 Resource-aware 調(diào)度。其中:

Cache-aware 調(diào)度針對(duì)計(jì)算和存儲(chǔ)分離的場(chǎng)景,旨在最大化 Cache 的使用避免冷讀。Cache-aware 調(diào)度策略會(huì)盡可能地將任務(wù)調(diào)度到擁有對(duì)應(yīng)數(shù)據(jù)緩存的節(jié)點(diǎn)上,實(shí)現(xiàn)計(jì)算命中 Cache,提升讀寫性能。同時(shí),由于系統(tǒng)進(jìn)行動(dòng)態(tài)的擴(kuò)縮容,當(dāng)計(jì)算組的拓?fù)浒l(fā)生變化時(shí),需要最小化 Cache 失效對(duì)查詢性能的影響。

Resource-aware 調(diào)度通過感知整個(gè)集群中計(jì)算組不同節(jié)點(diǎn)的資源使用情況,并有針對(duì)性地進(jìn)行調(diào)度,以最大化資源利用,同時(shí)還會(huì)進(jìn)行流量控制,確保合理使用資源,避免過載造成的負(fù)面影響,如系統(tǒng)宕機(jī)等。

4)計(jì)算組

ByConity支持不同的租戶使用不同的計(jì)算資源,如圖4 所示。在 ByConity 新的架構(gòu)下,很容易實(shí)現(xiàn)了多租戶隔離和讀寫分離等特性。不同租戶可以使用不同的計(jì)算組,實(shí)現(xiàn)多租戶隔離,同時(shí)支持讀寫分離。由于擴(kuò)縮容方便,計(jì)算組可以按需進(jìn)行動(dòng)態(tài)的擴(kuò)縮容,保證資源利用率高效。當(dāng)資源利用率不高時(shí),可以進(jìn)行資源共享,借調(diào)計(jì)算組給其他租戶使用,實(shí)現(xiàn)資源的最大化利用并降低成本。

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖4)

圖4 計(jì)算組和多租戶

5)虛擬文件系統(tǒng)

虛擬文件系統(tǒng)模塊作為數(shù)據(jù)讀寫的中間層,ByConity 做了比較好的封裝,將存儲(chǔ)作為一種服務(wù)暴露給其他模塊使用,實(shí)現(xiàn)“存儲(chǔ)服務(wù)化”。虛擬文件系統(tǒng)提供了一個(gè)統(tǒng)一的文件系統(tǒng)抽象,屏蔽了不同的后端實(shí)現(xiàn),方便擴(kuò)展并支持多種存儲(chǔ)系統(tǒng),如 HDFS 或?qū)ο蟠鎯?chǔ)等。

6)緩存加速

ByConity 通過緩存進(jìn)行查詢加速,在計(jì)算-存儲(chǔ)分離的架構(gòu)下,ByConity 在元數(shù)據(jù)和數(shù)據(jù)維度都進(jìn)行緩存加速。在元數(shù)據(jù)維度,通過在 ByConity 的 Server 端的內(nèi)存中進(jìn)行緩存,以 Table 和 Partition 作為粒度。在數(shù)據(jù)維度,通過在ByConity 的 Worker 端,也就是計(jì)算組進(jìn)行緩存,而且在 Worker 端的緩存是層次化的,同時(shí)利用了 Memory 和磁盤,以 Mark 集合作為緩存粒度,從而有效地提高查詢速度。

7)如何獲取和部署

ByConity 目前支持四種獲取和部署模式,歡迎社區(qū)開發(fā)者使用,并提 Issue:?jiǎn)螜C(jī)Docker、K8s集群部署、物理機(jī)部署、源代碼編譯:

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖5)

四、開源規(guī)劃

Roadmap:

 5月22日,字節(jié)跳動(dòng)宣布開源ByConity云原生數(shù)據(jù)倉庫。  ByConity基于ClickHouse內(nèi)核開發(fā),采用計(jì)算存儲(chǔ)分離的架構(gòu)、主流的OLAP引擎和自研的表引擎,提供便捷的彈性擴(kuò)縮容和極速的分析性能,覆蓋實(shí)時(shí)分析和海量數(shù)據(jù)的離線分析,幫助企業(yè)更好地挖掘數(shù)據(jù)價(jià)值。  字節(jié)跳動(dòng)是國內(nèi)使用 ClickHouse 規(guī)模最大的企業(yè)之一,此前隨著其業(yè)務(wù)發(fā)展和數(shù)據(jù)規(guī)模的增加,在不同的業(yè)務(wù)場(chǎng)景中遇到了(圖6)

據(jù)悉,ByConity 在 2023 年的開源社區(qū)路線圖中包括多個(gè)關(guān)鍵里程碑。這些里程碑旨在增強(qiáng) ByConity 的功能、性能和易用性。其中,開發(fā)新的存儲(chǔ)引擎、支持更多的數(shù)據(jù)類型和與其他數(shù)據(jù)管理工具的集成是字節(jié)跳動(dòng)重點(diǎn)關(guān)注領(lǐng)域。具體包含以下幾個(gè)方向:

性能提升:使用索引進(jìn)行加速,包含 Skip-index 優(yōu)化、新的 Zorder-index 和倒排索引等支持、外表索引的構(gòu)建和加速、以及索引的自動(dòng)推薦和轉(zhuǎn)換;查詢優(yōu)化器的持續(xù)優(yōu)化;分布式緩存機(jī)制等。

穩(wěn)定性提升:支持更多維度的資源隔離,提供更好多租戶能力;豐富 Metrics,提升可觀察性和問題診斷能力。

企業(yè)級(jí)特性增強(qiáng):實(shí)現(xiàn)更細(xì)粒度權(quán)限控制;完善數(shù)據(jù)安全性相關(guān)的功能(備份、恢復(fù)和數(shù)據(jù)加密);持續(xù)探索數(shù)據(jù)的深度壓縮,節(jié)約存儲(chǔ)成本。

生態(tài)兼容性提升:支持 S3、TOS 等對(duì)象存儲(chǔ);提升生態(tài)兼容性方便集成;支持?jǐn)?shù)據(jù)湖聯(lián)邦查詢?nèi)?Hudi、Iceberg等。

五、社區(qū)合作共建

總之,ByConity 是一個(gè)開源的云原生數(shù)據(jù)倉庫,提供讀寫分離、彈性擴(kuò)縮容、租戶資源隔離和數(shù)據(jù)讀寫的強(qiáng)一致性。其計(jì)算-存儲(chǔ)分離的架構(gòu),結(jié)合主流的 OLAP 引擎優(yōu)化,確保了優(yōu)異的讀寫性能。隨著 ByConity 的不斷發(fā)展和改進(jìn),其希望成為未來云原生數(shù)據(jù)倉庫的重要工具。

網(wǎng)頁搜索「GitHub - ByConity」查看官方地址。ByConity官方微信公眾號(hào)回復(fù)「用戶手冊(cè)」,獲取ByConity完整背景和技術(shù)架構(gòu)。

據(jù)了解,ByConity 發(fā)布 Beta 版本后,得到了來自華為、電子云、展心展力、天翼云、唯品會(huì)、傳音控股等十幾家企業(yè)開發(fā)者的支持,他們幫助 ByConity 分別在各自的環(huán)境下跑通了 TPC-DS 驗(yàn)證,有些在自身業(yè)務(wù)場(chǎng)景下進(jìn)行測(cè)試并反饋出不錯(cuò)的效果,并提出了諸多改進(jìn)建議。

ByConity項(xiàng)目負(fù)責(zé)人對(duì)此表示非常感謝,他也歡迎有意向的團(tuán)隊(duì)一起參與社區(qū)共建。據(jù)了解,目前ByConity已收到一些社區(qū)伙伴共建的意愿和想法。例如,ByConity與華為終端云的交流中達(dá)成了共建合作,未來會(huì)在 Kerberos 鑒權(quán)、ORC 的支持、以及支持 S3 存儲(chǔ)上一起共建。



本站所有文章、數(shù)據(jù)、圖片均來自互聯(lián)網(wǎng),一切版權(quán)均歸源網(wǎng)站或源作者所有。

如果侵犯了你的權(quán)益請(qǐng)來信告知我們刪除。郵箱:business@qudong.com

標(biāo)簽: 張一鳴

相關(guān)文章