Apache Hudi[1](簡稱“Hudi”)於 2016 年在 Uber 建立,旨在將資料倉庫功能引入資料湖以獲取準實時的資料,開創了事務資料湖架構,現已在所有垂直行業中進入主流。在過去的 5 年裡,圍繞該專案已發展出一個豐富多彩的社群[2],並迅速創新。Hudi 為資料湖帶來了類似資料倉庫及資料庫的功能,並使諸如分鐘級資料新鮮度、最佳化儲存、自我管理表等新事物直接在資料湖中成為可能。來自世界各地的許多公司都為 Hudi 做出了貢獻,該專案在不到兩年的時間內增長了 7 倍,每月下載量接近 100 萬次。我很榮幸目睹了亞馬遜[3]、位元組跳動、Disney+ Hotstar[4]、GE Aviation[5]、Robinhood[6]、沃爾瑪[7]等更多企業採用並構建基於 Apache Hudi 的 EB (Exabyte) 級資料湖,來支援其關鍵商業應用。緊跟潮流,我很高興能在這裡分享過去幾個月我們利用 Hudi 正在構建的公司和產品 - Onehouse。為了啟動我們的征程,我們獲得了 Greylock Ventures 和 Addition 的 8 百萬美元的種子輪投資——這些投資公司在培育企業資料初創公司方面擁有出色的業績記錄和豐富的經驗。以下是我們的旅程故事和對未來的願景。
資料湖(Lakes)、數倉(Warehouses)、湖倉一體(Lakehouses)
在與 Hudi 社群中的不同公司合作時,我們注意到了一個共同模式。這些公司通常先採用主要支援傳統 BI/Analytics 的資料倉庫(簡稱“數倉”),主要因為數倉易於使用且通常可以完全託管。然後,隨著公司業務的增長,工作負載的複雜性和規模也會隨之增加,從而導致成本呈指數級增長。不斷上漲的成本及在數倉中無法實現的更高階資料科學工作負載促使他們投入資料湖。而對資料湖的投入伴隨著一系列全新挑戰,包括併發性、效能和對成熟資料管理的缺乏。大多數公司最終在夾縫中求生存,被迫遊走其中,同時使用資料湖和數倉來管理資料。然而,在過去幾年裡,像 Hudi 這樣的新興技術提供瞭解決上述一些問題的方法——透過向資料湖新增關鍵的數倉功能,如事務、索引和可擴充套件的元資料。最近,湖倉一體(Lakehouse)作為一種支援兩種工作負載的新型湖而廣為人知。這個術語是新的,但它蘊含了我們最初在 Uber 建立 Hudi 的初衷。
大資料管理問題依然存在
即使資料管理技術存在,湖倉一體仍然需要由專業、昂貴的工程團隊,使用各種開源工具來建造。工程師需要深入瞭解至少 3 到 4 個分散式系統或資料庫,並從頭開始構建包括 CDC 攝取、資料刪除/遮蔽作業、檔案大小控制及資料佈局最佳化在內的所有模組。在與 Hudi 社群互動的五年中,我觀察到這一流程通常需要幾個月、甚至一年多的時間,時間長短取決於資料規模和複雜性。在大多數情況下,這些公司會重複構建同樣的資料基礎架構的各種模組。與其它專案不同的是,Hudi 從一開始就認識到了這個問題,提供了一組豐富的開放服務,包括回收儲存空間[8]、流式攝取[9]及最佳化表[10]以提高效能。例如,我們已經看到,依賴 Hudi 流處理工具來構建資料湖攝取的公司接踵而至,這推動了程式碼級別的標準化。然而,公司仍然需要針對這些服務及其相互作用來建立卓越的運維,以使其資料湖充分發揮潛力。運維資料湖及湖倉一體具有挑戰性;當您擁有實時流處理和事務資料來源,並且需要複雜的變更資料捕獲(CDC)管道時,這項工作會變得更加艱鉅。事實上,我們在 Uber 圍繞 Hudi 構建了大量運維繫統,這使得將資料湖作為服務提供給擁有兩萬多名員工的大型全球企業成為可能。在過去十年中花費了無數小時解決生產中斷,恢復了五個大型分散式資料庫(包括 Voldemort、ksqlDB,當然還有 Hudi)的系統穩定性,我可以肯定地說,卓越運維是成功的資料基礎架構的最重要一面。由於缺乏標準化的高質量資料基礎架構,圍繞湖倉一體技術,許多資料湖專案從未充分發揮其潛力,而這正是我們要解決的問題。
Onehouse
我們從使用者的角度,重新思考了整套資料基礎架構。例如,假設我要加入下一個 LinkedIn 或 Uber,我會如何架構資料為其成功鋪路,我們學到什麼經驗教訓以及我們會改變什麼。我們認為資料不應該被鎖定在特定的查詢或計算引擎中,而是可以在不同的 BI、AI 工具和框架中普遍接入,位於供應商中立的標準化資料基礎架構之上,無需再次投資 3 到 4 年。Onehouse 就這樣誕生了。 Onehouse[11]是您的湖倉一體(Lakehouse)的雲原生託管基礎,可自動攝取、管理和最佳化您的資料以加快處理速度。Onehouse 並不是一個新的查詢引擎;它是一個自我管理的資料層,可與任何流行的查詢引擎或資料/表格式及供應商無縫互操作,因此您可以選擇最適合您需求的組合。透過將突破性技術與全面託管且易於使用的服務相結合,企業可以在幾分鐘而不是幾個月內構建資料湖,實現大量成本節約,並仍然擁有開放格式的資料。Onehouse 旨在成為您的資料基礎架構的基石,作為您所有資料的歸宿。宏觀上我們從應對以下類別的挑戰開始。持續資料交付:基於 Hudi 的增量儲存和處理能力,Onehouse 將用增量管道取代老式的批處理。只有處理發生變化的資料才能節省大量成本和實現低延遲管道,讓您的資料始終保持最新。魔力資料架構:Onehouse 可大規模提供魔力效能提升,無需人工調參。使繁瑣的資料雜務自動化,包括聚合、快取、小檔案合併、目錄同步和擴充套件表元資料,讓資料工程師和科學家專注於創造商業價值。真正開放與互操作:有時您需要 Spark,有時您需要 Presto,有時您仍然需要一個數倉。現代資料生態系統的發展速度如此之快,以至於與許多具有相同水平效能和功能的引擎的互操作性是達成可擴充套件性上唯一要考慮的。雖然開放格式是必要的第一步,但如果沒有開放資料服務來管理資料,使用者將面臨同樣的風險,即被鎖定在提供這些服務的少數供應商中。透過複用 Hudi 的開放服務,Onehouse 提供了真正的開放性和靈活性。大規模節省成本:Onehouse 幫助公司採用面向未來的架構,而不是在後期為複雜工作負載進行改造以導致資料遷移專案及昂貴的資料基礎設施費用。Onehouse 在使用者開啟分析之旅時儘早實現易用性,同時隨著資料量的增長或複雜性的增加,以具有成本效益的方式進行擴充套件。
Hudi 不是真正的產品
那麼,這對 Hudi 有什麼影響呢?實際上,比以往任何時候都好!我們不是來照搬開源來實現企業版的 Hudi。有了這筆資金,我們現在可以將全職、全身心投入的工程師團隊的精力帶到 Hudi 社群。在支援 Hudi 社群四年多後,我認為 Hudi 的巨大增長推動了使用者支援、開發人員參與和社群期望,遠遠超出了志願者工程師或不同公司的單個工程團隊所能承受的範圍。我們將成為 Hudi 的狂熱使用者、社群的積極貢獻者,並繼續作為該專案的擁護者。我們計劃貢獻更多來自 Onehouse 的核心開源功能,以幫助 Hudi 這個已經優秀的平臺服務變得更好。作為 Onehouse,我們的重點將是利用我們在大規模資料系統方面的集體運維經驗,幫助那些無法負擔如此大量工程投資的公司。我們單獨在這篇 Blog[12]中清晰地闡述了更多我們對於開放的承諾。
下一步
在過去的幾個月裡,我們一直在努力對這一願景進行初步迭代。如果您正處於建造湖倉一體(Lakehouse)的風口浪尖,或者正在積極尋求面向未來的資料架構,那麼我們很樂意與您合作,將這個產品和平臺變為現實。可以透過如下方式之一與我們聯絡:
最後,我想借此機會感謝我們的投資人一直以來的不懈支援,尤其是在我經歷了一年半的漫長而艱辛的綠卡之路。作為一個透過工作簽證將四年的週末和夜晚投入社群的人,這是我所期待的最好的結果——能夠全職工作讓 Hudi 和資料湖變得更好。
繼續構建...
引用連結
[1]
Apache Hudi:https://hudi.apache.org/
[2]
豐富多彩的社群:https://hudi.apache.org/blog/2022/01/06/apache-hudi-2021-a-year-in-review
[3]
亞馬遜:https://aws.amazon.com/blogs/big-data/how-amazon-transportation-service-enabled-near-real-time-event-analytics-at-petabyte-scale-using-aws-glue-with-apache-hudi/
[4]
Disney+ Hotstar:https://searchdatamanagement.techtarget.com/feature/Hudi-powering-data-lake-efforts-at-Walmart-and-Disney-Hotstar
[5]
GE Aviation:https://aws.amazon.com/blogs/big-data/how-ge-aviation-built-cloud-native-data-pipelines-at-enterprise-scale-using-the-aws-platform/
[6]
Robinhood:https://s.apache.org/hudi-robinhood-talk
[7]
沃爾瑪:https://searchdatamanagement.techtarget.com/feature/Hudi-powering-data-lake-efforts-at-Walmart-and-Disney-Hotstar
[8]
回收儲存空間:https://hudi.apache.org/docs/hoodie_cleaner
[9]
流式攝取:https://hudi.apache.org/docs/hoodie_deltastreamer
[10]
最佳化表:https://hudi.apache.org/docs/compaction
[11]
Onehouse:https://onehouse.ai/
[12]
這篇 Blog:https://onehouse.ai/blog/onehouse-commitment-to-openness
[13]
加入我們的試點!:mailto:[email protected]?subject=Join%20the%20Onehouse%20Pilot
[14]
[email protected]:mailto:[email protected]?subject=Join%20the%20Onehouse%20Pilot
[15]
加入我們的團隊!:https://jobs.lever.co/Onehouse
[16]
[email protected]:mailto:[email protected]