在Databricks的過去幾年裏,我們看到了一種新的數據管理架構,它獨立地出現在許多客戶和用例中:beplay体育app下载地址的lakehouse.在這篇文章中,我們將描述這種新的架構以及它相對於以前的方法的優勢。
數據倉庫有一個悠久的曆史在決策支持和商業智能應用。自從數據倉庫技術在20世紀80年代末出現以來,它不斷發展,MPP體係結構導致了能夠處理更大數據量的係統。但是,盡管倉庫非常適合結構化數據,但許多現代企業必須處理非結構化數據、半結構化數據以及具有高種類、高速度和高容量的數據。數據倉庫不適合這些用例中的許多,而且它們肯定不是最具成本效益的。
隨著公司開始從許多不同的來源收集大量數據,架構師開始設想一個單一的係統來容納許多不同的分析產品和工作負載的數據。大約十年前,公司開始建造數據的湖泊-各種格式的原始數據存儲庫。雖然適合存儲數據,但數據湖缺乏一些關鍵特性:它們不支持事務,不強製執行數據質量,而且它們缺乏一致性/隔離性,因此幾乎不可能混合添加和讀取,以及批處理和流式作業。由於這些原因,數據湖的許多承諾都沒有實現,並且在許多情況下導致失去了數據倉庫的許多好處。
對靈活、高性能係統的需求並沒有減弱。公司需要用於各種數據應用程序的係統,包括SQL分析、實時監控、數據科學和機器學習。人工智能最近的大部分進步都是在更好的模型上處理非結構化數據(文本、圖像、視頻、音頻),但這些恰恰是數據倉庫沒有優化的數據類型。一種常見的方法是使用多個係統——一個數據湖、幾個數據倉庫和其他專門的係統,如流、時間序列、圖形和圖像數據庫。擁有大量的係統會帶來複雜性,更重要的是,還會帶來延遲,因為數據專業人員總是需要在不同的係統之間移動或複製數據。
什麼是湖屋?
解決數據湖局限性的新係統開始出現。湖屋是一種新的開放架構,它結合了數據湖和數據倉庫的最佳元素。lakehouse采用了一種新的係統設計:直接在開放格式的低成本雲存儲上實現與數據倉庫類似的數據結構和數據管理功能。它們是在現代世界中,如果您必須重新設計數據倉庫,就會得到的東西,因為現在有了廉價且高度可靠的存儲(以對象存儲的形式)。
湖屋有以下主要特點:
- 事務支持:在企業的湖屋中,許多數據管道經常同時讀寫數據。對ACID事務的支持確保了多方並發讀寫數據(通常使用SQL)的一致性。
- 模式實施和治理:Lakehouse應該有一種支持模式強製和進化的方法,支持DW模式架構,比如星型/雪花模式。係統應該能夠做到數據完整性的原因它應該有健全的治理和審計機製。
- BI支持:lakehouse支持直接在源數據上使用BI工具。這減少了過時性,提高了近時性,減少了延遲,並降低了必須在數據湖和倉庫中操作兩個數據副本的成本。
- 存儲與計算解耦:在實踐中,這意味著存儲和計算使用單獨的集群,因此這些係統能夠擴展到更多並發用戶和更大的數據大小。一些現代數據倉庫也具有此屬性。
- 開放:他們使用的存儲格式是開放和標準化的,如Parquet,他們提供了一個API,因此各種工具和引擎,包括機器學習和Python/R庫,可以有效地訪問數據直接.
- 支持從非結構化數據到結構化數據的各種數據類型: lakehouse可用於存儲、細化、分析和訪問許多新的數據應用程序所需的數據類型,包括圖像、視頻、音頻、半結構化數據和文本。
- 支持不同的工作負載:包括數據科學、機器學習、SQL和分析。可能需要多個工具來支持所有這些工作負載,但它們都依賴於相同的數據存儲庫。
- 端到端流:實時報告是許多企業的標準。對流的支持消除了專門為實時數據應用程序服務的單獨係統的需要。
這些都是湖屋的關鍵屬性。企業級係統需要額外的特性。用於安全和訪問控製的工具是基本需求。包括審計、保留和沿襲在內的數據治理功能已經變得至關重要,特別是考慮到最近的隱私法規。還需要支持數據發現的工具,如數據目錄和數據使用度量。對於湖畔別墅,這樣的企業特性隻需要為單個係統實現、測試和管理。
閱讀完整的研究論文萊克豪斯的內部運作.
一些早期的例子
的Databricks Lakehouse平Beplay体育安卓版本台具有湖屋的建築特點。微軟的Azure Synapse Analytics服務,與Azure Databricks集成,形成了類似的湖屋模式。其他托管服務,例如BigQuery而且光譜紅移擁有上麵列出的一些lakehouse特性,但它們主要集中在BI和其他SQL應用程序上。想要構建和實現自己的係統的公司可以訪問開放源碼文件格式(三角洲湖,Apache的冰山,Apache Hudi),適合建造湖邊小屋。
將數據湖和數據倉庫合並到一個係統中意味著數據團隊可以更快地使用數據,而不需要訪問多個係統。對於大多數企業數據倉庫來說,這些早期lakehouse的SQL支持水平和與BI工具的集成通常已經足夠了。物化視圖和存儲過程是可用的,但用戶可能需要使用與傳統數據倉庫中的機製不同的其他機製。後者對於“升降和移位場景,這要求係統實現的語義幾乎與舊的商業數據倉庫的語義相同。
對其他類型的數據應用程序的支持怎麼樣?湖屋的使用者可以使用各種標準工具(火花, Python, R,機器學習庫)用於非BI工作負載,如數據科學和機器學習。數據探索和優化是許多分析和數據科學應用的標準。Delta Lake旨在讓用戶逐步提高其湖屋中的數據質量,直到數據可以消費為止。
關於技術構建塊的說明。雖然分布式文件係統可用於存儲層,但對象存儲更常用於湖屋。對象存儲提供低成本、高可用性的存儲,擅長大規模並行讀取——這是現代數據倉庫的基本要求。
從BI到AI
lakehouse是一種新的數據管理架構,在機器學習即將顛覆所有行業的時代,它從根本上簡化了企業數據基礎設施,加速了創新。在過去,進入公司產品或決策製定的大部分數據都是來自運營係統的結構化數據,而今天,許多產品以計算機視覺和語音模型、文本挖掘等形式集成了人工智能。為什麼人工智能使用湖屋而不是數據湖?lakehouse為您提供了即使是非結構化數據也需要的數據版本、治理、安全性和ACID屬性。
目前的湖屋降低了成本,但它們的性能仍然落後於專門的係統(如數據倉庫),這些係統背後有多年的投資和實際部署。用戶可能更喜歡某些工具(BI工具,ide,筆記本電腦),所以lakehouse還需要改進他們的用戶體驗和與流行工具的連接,這樣他們就可以吸引各種角色。隨著技術的不斷成熟和發展,這些問題和其他問題將得到解決。隨著時間的推移,湖屋將縮小這些差距,同時保留更簡單、更經濟、更能服務於不同數據應用的核心屬性。
讀了關於數據湖屋的常見問題欲知詳情。