湖倉一體方案有很多,為何偶數(shù)的實(shí)時湖倉脫穎而出?
2022-08-15 09:35 作者:偶數(shù)實(shí)驗(yàn)室 | 我要投稿
近十余年,移動互聯(lián)網(wǎng)的高速發(fā)展給互聯(lián)網(wǎng)用戶提供了更便捷的服務(wù)途徑,不管是在地鐵、飯店還是室外,用戶都可以隨時通過手機(jī)、pad等移動設(shè)備連接到高速的移動網(wǎng)絡(luò),實(shí)現(xiàn)購物、社交、商務(wù)會議等各種網(wǎng)絡(luò)服務(wù)。與此同時,用戶源源不斷的產(chǎn)生和獲取大量的數(shù)據(jù),使得數(shù)據(jù)流量呈現(xiàn)爆炸式的增長,不論是互聯(lián)網(wǎng)巨頭、零售、政府、金融等行業(yè),在海量數(shù)據(jù)的存儲、查詢和分析場景,都需要一個能承載多種數(shù)據(jù),支持超高并發(fā)、易擴(kuò)容、易維護(hù)的實(shí)時湖倉。
那么,最近熱議的湖倉一體究竟是怎樣的技術(shù)?什么又是實(shí)時分析處理?實(shí)時湖倉一體技術(shù)的逐步成熟,能給我們帶來怎樣的想象空間呢?
大勢所趨,云原生實(shí)時湖倉一體
在21世紀(jì)的前十年,大量企業(yè)開始采用MPP驅(qū)動的新型數(shù)據(jù)庫系統(tǒng),MPP解決了單個SQL數(shù)據(jù)庫不能存放海量數(shù)據(jù)的問題,分析型MPP數(shù)據(jù)庫的激增和成本下降也為數(shù)據(jù)驅(qū)動型組織提供了巨大的機(jī)會來運(yùn)營和分析比以往更大的數(shù)據(jù)集,但與此同時,數(shù)據(jù)的快速增長也為固有體系帶來額外的復(fù)雜性,MPP數(shù)據(jù)庫在集群規(guī)模上是有限制的,它所支持的應(yīng)用主要還是適合小集群、低并發(fā)的場景。
2010年前后,大數(shù)據(jù)熱推動 Hadoop 技術(shù)快速普及,逐步形成了以Hadoop作為數(shù)據(jù)湖,MPP作為數(shù)據(jù)倉庫的協(xié)作模式。這個階段的 Hadoop+MPP 協(xié)作模式,也是“湖倉分體”模式。它讓湖和倉有很好的技術(shù)特性互補(bǔ),但是它也會產(chǎn)生嚴(yán)重的數(shù)據(jù)孤島問題:同一份數(shù)據(jù)在多個集群冗余存儲,分體模式下的湖和倉各自形成數(shù)據(jù)孤島;數(shù)據(jù)達(dá)到PB 級別時, Hadoop 和 MPP 集群規(guī)模受限,Hadoop和MPP本身也需要拆成多個集群;在面對高并發(fā)數(shù)據(jù)查詢時,易造成業(yè)務(wù)應(yīng)用崩潰。另外,湖+倉帶來的復(fù)雜的實(shí)施和運(yùn)維問題更讓從業(yè)者頭疼不已。
為了保證存儲和計(jì)算可以獨(dú)立的彈性擴(kuò)展和伸縮,數(shù)據(jù)平臺的設(shè)計(jì)出現(xiàn)了一個嶄新的架構(gòu),即存算分離架構(gòu)。顯然,傳統(tǒng) MPP 和 Hadoop 都不適應(yīng)這樣的要求。MPP 數(shù)據(jù)庫存算耦合,而 Hadoop 不得不通過計(jì)算和存儲部署在同一物理集群拉近計(jì)算與數(shù)據(jù)的距離提高性能,僅在同一集群下構(gòu)成邏輯存算分離。
要真正的解決業(yè)務(wù)的痛點(diǎn),選擇企業(yè)適合的湖倉產(chǎn)品,我們可以參考ANCHOR 標(biāo)準(zhǔn)來選型。ANCHOR 中文譯為錨點(diǎn)、頂梁柱,或?qū)⒊蔀楹}一體浪潮下的定海神針。ANCHOR 具有六大特性,其 6 個字母分別代表:All Data Types(支持多類型數(shù)據(jù))、Native on Cloud(云原生)、Consistency(數(shù)據(jù)一致性)、High Concurrency (超高并發(fā))、One Copy of Data(一份數(shù)據(jù))、Real-Time(實(shí)時 T+0)。通過使用 ANCHOR 六大特性,很容易判斷出某一系統(tǒng)設(shè)計(jì)是否真正滿足湖倉一體。
全新框架,Omega全實(shí)時框架實(shí)現(xiàn)T+0
其中, Lambda 架構(gòu)由于實(shí)時數(shù)據(jù)和T+1數(shù)據(jù)走不同計(jì)算和存儲,難保障數(shù)據(jù)的一致性,Kappa 依賴 Kafka 等消息隊(duì)列來保存所有歷史,難以實(shí)現(xiàn)更新、糾錯,故障升級周期長,并且不具備即席查詢數(shù)據(jù),架構(gòu)實(shí)際落地困難。同時兩個架構(gòu)又都很難處理可變更數(shù)據(jù)(如關(guān)系數(shù)據(jù)庫中不停變化的實(shí)時數(shù)據(jù)),即便引入流處理引擎實(shí)現(xiàn)了部分固定模式的實(shí)時流處理分析,仍無達(dá)到 T+0 全實(shí)時水平(此處全實(shí)時包含實(shí)時流處理和實(shí)時按需查詢)。因此,我們需要一種新的架構(gòu)滿足企業(yè)實(shí)時分析的全部需求,這就是基于偶數(shù)科技自主研發(fā)的云原生數(shù)據(jù)庫OushuDB的Omega 全實(shí)時架構(gòu)。
Omega 架構(gòu)由流數(shù)據(jù)處理系統(tǒng)和實(shí)時數(shù)倉構(gòu)成。相比 Lambda 和 Kappa,Omega 架構(gòu)新引入了實(shí)時數(shù)倉和快照視圖 (Snapshot View) 的概念,快照視圖是歸集了可變更數(shù)據(jù)源和不可變更數(shù)據(jù)源后形成的 T+0 實(shí)時快照,可以理解為所有數(shù)據(jù)源在實(shí)時數(shù)倉中的鏡像和歷史,隨著源庫的變化實(shí)時變化。
因此,實(shí)時查詢可以通過存儲于實(shí)時數(shù)倉的快照視圖得以實(shí)現(xiàn)。另外,任意時間點(diǎn)的歷史數(shù)據(jù)都可以通過 T+0 快照得到,這樣離線查詢可以在實(shí)時數(shù)倉中完成,離線查詢結(jié)果可以包含最新的實(shí)時數(shù)據(jù),完全不再需要通過 MPP+Hadoop 組合來處理離線跑批及分析查詢。
偶數(shù)流處理系統(tǒng)WASP既可以實(shí)現(xiàn)實(shí)時連續(xù)的流處理,也可以實(shí)現(xiàn) Kappa 架構(gòu)中的批流一體,但與 Kappa 架構(gòu)不同的是,OushuDB 實(shí)時數(shù)倉存儲來自 Kafka 的全部歷史數(shù)據(jù),而在 Kappa 架構(gòu)中源端采集后通常存儲在 Kafka 中。
因此,當(dāng)需要流處理版本變更的時候,流處理引擎不再需要訪問 Kafka,而是訪問實(shí)時數(shù)倉 OushuDB 獲得所有歷史數(shù)據(jù),規(guī)避了 Kafka 難以實(shí)現(xiàn)數(shù)據(jù)更新和糾錯的問題,大幅提高效率。此外,整個服務(wù)層也可以在實(shí)時數(shù)倉中實(shí)現(xiàn),而無需額外引入 MySQL、HBase 等組件,極大簡化了數(shù)據(jù)架構(gòu)。
在 Omega 全實(shí)時架構(gòu)的加持下,偶數(shù)率先實(shí)現(xiàn)了具備實(shí)時能力的湖倉一體,即實(shí)時湖倉。實(shí)時湖倉統(tǒng)一了湖倉市(數(shù)據(jù)湖、數(shù)倉、集市),避免數(shù)據(jù)孤島的同時,極大提升了企業(yè)實(shí)時數(shù)據(jù)分析能力,讓企業(yè)在快速更迭的商業(yè)環(huán)境中立于不敗之地。
數(shù)據(jù)說話,高性能OushuDB為企業(yè)保駕護(hù)航
為了更直觀的比較OushuDB的查詢能力,我們用標(biāo)準(zhǔn)TPC-H來對OushuDB和其他知名的MPP數(shù)據(jù)庫產(chǎn)品Greenplum、ClickHouse進(jìn)行測試。TPC-H是美國交易處理效能委員會組織制定的用來模擬決策支持類應(yīng)用的一個測試集,目前在學(xué)術(shù)界和工業(yè)界普遍采用它來評價數(shù)據(jù)查詢處理能力。我們主要的評價指標(biāo)是TPC-H包的22 個查詢(Q1~Q22)各個查詢的響應(yīng)時間,即從提交查詢到結(jié)果返回所需時間,我們分別對不同平臺進(jìn)行單節(jié)點(diǎn)使用Scale為100的數(shù)據(jù)集進(jìn)行測試。
測試結(jié)果顯示,OushuDB和Greenplum支持全面支持 TPC-H 的 22 條查詢語句,ClickHouse 只支持其中的部分語句;在性能方面,OushuDB表現(xiàn)優(yōu)秀,總體性能在ClickHouse和Greenplum的5倍左右,很多查詢時間快一個數(shù)量級以上。
用戶信賴,新銳準(zhǔn)獨(dú)角獸脫穎而出
除了OushuDB,偶數(shù)科技的實(shí)時湖倉一體解決方案還包含自動化機(jī)器學(xué)習(xí)平臺 LittleBoy 、數(shù)據(jù)分析與應(yīng)用平臺Kepler以及數(shù)據(jù)管理平臺 Lava等多個產(chǎn)品, 深厚的研發(fā)實(shí)力和優(yōu)秀的產(chǎn)品性能吸引了廣泛的知名用戶群,目前已在金融、電信、制造、公安、能源和互聯(lián)網(wǎng)等行業(yè)得到廣泛的部署和應(yīng)用。
標(biāo)簽: