同一份資料全域共享,HashData UnionStore實時性背後的故事

HashData發表於2023-09-22
時至今日,資料已經被越來越多的企業視為發展的戰略資源,而云數倉則是資料發揮重要價值的關鍵媒介。 雲數倉的出現,不僅改變了傳統資料倉儲的服務模式,更給使用者帶來了應對海量、新型資料的儲存和處理能力,為滿足業務現代化需求提供了基礎。

然而,隨著經營節奏的加快,企業對實時分析和快速結論的需求越來越強烈,傳統數倉的離線同步已經逐漸無法滿足業務要求。

站在這樣一個行業需求的路口,面對這個難題,酷克資料給出了自己的解法: 在優勢OLAP產品的基礎上,研發推出了嶄新的Uni on Store模組,在保持頂層同一套引擎、底層同一套儲存與資料的一致性設計的情況下,實現了近事務級的計算與查詢實時性,為使用者應用雲數倉開啟了新的思路和場景。

圖1:HashData UnionStore模組架構圖

酷克資料是一家專注於雲端資料倉儲的科技公司,公司旗艦產品HashData秉承雲原生的理念與設計框架,幫助諸多企業打破了資料煙囪,整合了資料孤島;打造的企業級雲數倉,支撐著各種各樣的資料分析負載。

要想了解HashData是如何實現雲數倉的實時特性,我們需要回到雲數倉的演進歷史。其實,正所謂“歷史一直在螺旋式上升”,任何新變化都不是一蹴而就,雲數倉成為今天企業數字化轉型的核心技術,其中的變化也是逐步演化而來,並非一蹴而就的過程。 

雲數倉演進歷史

過去十年是資訊化高速發展的十年,也是大資料快速成長的十年。資訊資料呈爆發式增長,不僅讓傳統企業加速向數字經濟靠攏,更帶來了底層資料架構變化的新正規化。越來越多的企業希望把資料存好、用好,透過資料背後的邏輯分析去挖掘商業價值,探索資料之間的關聯關係,找出大資料裡面有價值的資訊,輔助商業決策。資料倉儲在此種背景下逐漸被企業重視。

同傳統資料倉儲相比,雲數倉依託雲端計算的特點,在搭建、使用、擴容及運維等方面有著顯著的優勢,已成為目前最為主流的技術產品。它可以把大規模平行計算與雲的優勢結合在一起,更好地實現數倉的分析能力。

比如:在高效能方面,雲數倉可以支援向量計算非同步的執行框架,包括透過平行計算來最大化地利用 CPU資源去提升查詢的效能。在資料一致性方面,可以支援ACID特性,包括在資料新鮮度上,可以支援資料的實時增、刪、改、查。而從可擴充套件性來看,雲數倉這種存算分離的架構,可以按需擴充套件,按使用量去計費,極大地降低了使用者的使用成本。當計算不夠的時候可以去擴計算,儲存不夠的時候可以擴儲存,實現充分靈活。

架構變革

一般來說,由於數倉產品普遍採用列存,產品通常在離線處理和實時處理之中更偏向離線,而實時性會成為相對的短板。


在離線處理的場景中,使用者資料載入後,透過ETL進行資料的抽取和清洗,然後儲存到資料倉儲,執行離線分析、批處理、報表生成等作業。資料工程師們常常在下班前將前一天或者當天的查詢計劃輸入到數倉,系統在夜間來執行作業,第二天上班後來查詢報表結果,時效是T+1天以上。

然而,隨著企業資料種類越來多,資料量越來越大,資料處理過程越來越複雜,單一的傳統數倉越來越難以滿足業務需求。企業希望使用一套架構去承載資料,提升整體效能,同時還要滿足實時需求,這些都在促使OLAP和OLTP發生進一步的融合。

如今,各行各業都在不斷追求更好的使用者體驗,這一追求帶動了實時資料分析能力的需求越來越強烈。

例如,消費品公司希望透過電商平臺和社交網路上來了解使用者的搜尋行為和關注熱點,這無疑需要獲取實時資料。這一變化將傳統的Lambda架構推到風口浪尖。Lambda架構的優勢是高容錯、低延時和可擴充套件等特徵。但是,它的弊端則在於需要將所有的演算法實現兩次。其中,一套系統用來做批處理,進行存量資料計算;另一套系統用來滿足實時性業務需求。兩套系統的並行運作為開發和運維工作帶來了大量的成本與負擔。

為了實現架構簡化,業界推出了Kappa架構作為一個新的演進方向。這種只採用流式處理引擎的方式,使得開發人員只需維護實時處理模組,極大地降低了開發的複雜性。

提到實時處理,很難不提Flink。透過訊息佇列的形式,Flink可以儲存歷史資料,並支援使用者源源不斷地去消費這些資料,對資料進行實時處理,將結果反饋輸出。對於雲數倉而言,與Flink方案的結合,在計算和儲存引擎端帶來了不同的架構變化。在計算引擎上,產品需要支援實時性,快速捕捉資料。而在儲存引擎上,透過分散式儲存,實現高可靠性與高擴充套件性的需求,同時實現較低的儲存成本。 

圖2 基於“存算分離”架構的HashData雲數倉在金融行業落地方案示意圖


展望未來,存算分離和Serverless架構將會成為主流。考慮到可擴充套件性成本,企業更願意基於完善的儲存設施平臺去構建技術底座,提升查詢效能。作為業內領先的雲數倉產品, HashData 採用的是後設資料、計算和儲存完全分離的架構設計,透過物件儲存來共享一份全域資料的方式,充分發揮雲架構優勢,實現叢集的秒級自動擴縮容,在滿足實時性的同時,提供了更高的架構與成本靈活度


應用趨勢

從應用趨勢來看,金融、電信、能源、政務等行業領域,會是雲數倉的重要應用場景。在數字化轉型浪潮推動下,會有越來越多的企業想成為資料驅動型企業,發動基於資料的業務創新。


對於金融行業而言,業務屬性對雲數倉的實時性提出了更高要求,包括處理速度、I/O效能等。例如,在金融風控和反欺詐場景中,資料系統需要在短時間內進行響應,做出決策,才能避免經濟損失。

同時,可擴充套件性、易用性、價效比也是金融場景的重要需求點。只有打破部門之間的壁壘,實現架構上的突破,才能經受得住複雜場景下的打磨和驗證。

面對使用者“既要、又要、還要”的問題,HashData在核心層面進行了創新突破,讓實時資料處理成為可能。以HashData UnionStore為例,這是一種基於日誌的資料庫架構思想,當存算解耦後,讓使用不同引擎分開處理資料成為可能,Log is database理念可以全面提升數倉的TP效能,在磁碟隨機訪問、非同步提交、併發控制、批處理、重放等方面進行了全面最佳化,從而實現了實時性提升。

圖3:HashData UnionStore應用場景

如今,已經有很多的領先金融企業選擇用HashData實現了傳統資料倉儲的替代,解決傳統架構擴容難題。金融領域資料量一般比較大,叢集很多,傳統MPP的部署方式導致每個部門都有自己的專屬叢集及相關資料,擴容過程繁瑣,時間週期長,運維成本居高不下。在進行資料流動、資料共享,資料互通的操作時,一般透過資料同步或者複製的方式來建立資料副本,建立新的叢集,這樣的方式帶來了巨大的成本壓力。

HashData不僅解決了使用者的可擴充套件問題,還能實現按需收費。舉例來說,如果使用者的CPU需求密集,可以建立一個CPU比較多的叢集,根據叢集請求靈活擴充套件資源。不同叢集對應同一份資料,可以滿足各類讀寫需求。

今天我們看到,存算分離已經成為雲數倉的主流技術趨勢。HashData正透過一份資料全域共享的方式,滿足核心業務的實時性需求,為企業業務決策提速帶來了強大助力。相信隨著企業對實時分析需求的不斷增強,HashData會和更多使用者攜手同行,奔向數智化的新未來!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70019410/viewspace-2985426/,如需轉載,請註明出處,否則將追究法律責任。

相關文章