概述
近幾年,資料湖架構的概念逐漸興起,很多企業都在嘗試建構資料湖。相比較大資料平台,資料湖在資料治理方面提出了更高的要求。對于資料湖場景所提出的新需求,“傳統”的大資料工具在很多方面都面臨着新的挑戰。JindoTable 正是專為解決資料湖管理結構化資料甚至是半結構化資料的痛點而設計的,包括資料治理功能和查詢加速功能。
資料優化
資料湖需要存儲來自各種資料源的資料。對于 HDFS 叢集,小檔案問題讓很多使用者倍感煩惱。在存儲計算分離的資料湖中,小檔案同樣會産生很多問題:過多的檔案數會導緻目錄list時間顯著變長,小檔案也會影響很多計算引擎的并發度。此外,由于對象存儲一般以對象為機關,小檔案也會導緻請求數量的上升,會明顯影響中繼資料操作的性能,更會增加企業需要支付的費用。而如果資料檔案過大,如果資料又使用了不可分割的壓縮格式,後續計算的并發度會過低,導緻無法充分發揮叢集的計算能力。是以,即使是資料湖架構中,對資料檔案進行治理和優化也是非常必要的。
基于資料湖所管理的中繼資料資訊,JindoTable 為客戶提供了一鍵式的優化功能,使用者隻要在資源較為空閑時觸發優化指令,JindoTable 可以自動為使用者優化資料,規整檔案大小,進行适當的排序、預計算,生成适當的索引資訊和統計資訊,結合計算引擎的修改,可以為這些資料生成更加高效的執行計劃,大幅減少使用者查詢的執行時間。資料優化對使用者透明,優化前後不會出現讀取的資料不一緻的情況。這也是資料湖的資料治理所不可或缺的功能。
查詢加速
JindoTable 還有一項重磅功能,就是查詢加速功能。在數倉中,資料分析總是越快越好。尤其是 Ad-Hoc 場景,對查詢延遲非常敏感。現在“湖倉一體”的概念也很火,對于資料湖這種普遍使用存儲計算分離場景的架構,如何盡可能減少 IO 開銷,對于縮短查詢時間是非常關鍵的。
之前介紹的 JindoTable 資料優化功能,是在存儲端減少額外開銷,并且通過提前的計算,為運作時優化打好基礎。JindoTable 的查詢加速功能則是在查詢執行時,通過把計算推向存儲,減少計算時整體的 IO 壓力,同時利用存儲端空閑的計算資源提供高效的計算,縮短整體查詢時間。JindoTable 的加速服務結合修改後的各種計算引擎,可以把盡可能多的算子下推到緩存端,并且利用高效的 native 計算能力過濾大量原始資料,再把資料高效地傳輸給計算引擎。這樣,計算引擎所需處理的資料大大減少,甚至一些計算也可以直接略過,後續的計算所需的時間自然也就大為減少。

分層存儲
資料湖所存儲的資料量通常增長迅速。對于傳統的 Hadoop 叢集,如果資料量急劇增長,所需的存儲資源也要相應增加,這樣會導緻叢集規模迅速擴大,計算資源也會變得過剩。抛開叢集規模增長導緻的其他問題不談,光是營運叢集的成本問題就足夠讓人頭疼。好在公有雲平台提供了對象存儲的服務,我們可以按存儲的資料量來付費,這在節約成本的同時,使用者也不用擔心 HDFS 在叢集資源和資料量快速增長情況下的穩定性問題。但資料量快速增長還是會等比例的增加整體開銷。
阿裡雲的對象存儲服務 OSS,為使用者提供了低頻存儲和歸檔存儲,對于通路不是那麼頻繁的資料,如果能夠轉為低頻或歸檔模式來存儲,可以盡量節約成本。而一部分資料如果有頻繁的通路需求,放在遠離計算資源的對象存儲上,又會導緻計算時的 IO 出現瓶頸。JindoTable 對接資料湖中各種計算引擎,以表或分區為最小機關,統計資料的通路頻次。根據使用者設定的規則,JindoTable 可以告訴使用者哪些表或者分區的通路頻次較高,讓使用者可以通過 JindoTable 指令,借助 JindoFS 提供的底層支援,把這些表或者分區對應的資料緩存到計算叢集内,加速查詢的執行。同時,對于通路頻次較低的表或者分區,使用者也可以使用 JindoTable 把對應的資料轉為低頻或者歸檔存儲類型,或是設定生命周期。在需要對歸檔資料操作的時候,可以直接用 JindoTable 對歸檔資料進行解凍。JindoTable 還為使用者提供了中繼資料管理,友善使用者檢視表或者分區目前的存儲狀态。JindoTable 讓使用者能盡可能高效地管理自己的資料,節約成本的同時,不犧牲計算性能。
小結
對于企業來說,資料湖為各種來源的資料提供了整合的可能性。背靠豐富的雲産品體系,資料湖架構可以幫助客戶進一步發掘資料價值,實作企業願景。JindoTable 在資料湖解決方案中,為使用者提供資料治理和查詢加速的增值功能,進一步降低使用者資料入湖的門檻,幫助使用者在更低的成本下,實作更高的資料價值。
更多資料湖技術相關的文章請點選:[阿裡雲重磅釋出雲原生資料湖體系
](
https://developer.aliyun.com/article/772298?spm=a2c6h.12873581.0.dArticle772298.28042b0fFZNGve&groupCode=datalakeformation)更多資料湖相關資訊交流請加入阿裡巴巴資料湖技術釘釘群