無論你是零售商、金融服務公司還是數字廣告商,數據都是現代企業的生命線。跨行業,組織正在認識到其數據對于業務分析、機器學習和人工智能的重要性。
智能企業正在投資于從數據中提取價值的新方法:更好地了解客戶需求和行為,定制新產品和服務,并做出在未來幾年將帶來競爭優勢的戰略決策。
幾十年來,企業數據倉庫已用于所有類型的業務分析,圍繞 SQL 和關系數據庫的強大生態系統。現在,一個挑戰者出現了。
創建數據湖是為了存儲用于訓練人工智能模型和預測分析的大數據。這篇文章涵蓋了每個存儲庫的優缺點:如何使用它們,以及最終為 ML 項目提供最佳結果的方法。
這個難題的關鍵是處理 AI 和 ML 工作流的數據。人工智能項目需要大量數據來訓練模型和運行預測分析。技術團隊必須評估如何捕獲、處理和存儲數據,以使其具有可擴展性、經濟性和易用性。
什么是數據倉庫?
數據倉庫創建于 20 世紀 80 年代,旨在幫助企業組織高數據量,以便做出更好的業務決策。數據倉庫與企業資源規劃( ERP )、客戶關系管理( CRM )軟件、庫存和銷售點系統等遺留資源一起使用。
主要目標是跨業務線、產品分析和商業智能提供運營報告。
數據倉庫使用 ETL (提取、轉換、加載)已有幾十年的歷史,在上傳數據之前,傾向于完成轉換和清理數據。傳統的數據倉庫對數據結構和提前規劃有嚴格的標準,以滿足模式要求。
數據只有在經過處理和優化后才能存儲在數據倉庫中。 ETL 通過首先清理數據,然后上傳到關系數據庫來處理數據。好處是數據狀態良好,可以使用。但是,您需要預先支付處理開銷,如果數據從未使用,則會丟失這些開銷。
數據分析員在運行查詢之前,必須創建預先確定的數據結構和固定模式。這個攔截器對于數據科學家、分析師和其他業務部門來說是一個巨大的痛點,因為運行新的查詢需要幾個月或更長的時間。
通常,倉庫中的數據是只讀的,因此很難添加、更新或刪除數據文件。
優勢:數據質量
對于任何系統,都存在權衡。數據倉庫的優點是,它們的數據在接收時處于良好狀態,并且由于數據倉庫的規則,可能會保持這種狀態 數據清洗 和數據治理。
傳統的數據倉庫可以作為分類賬,提供干凈、結構化和規范化的數據,作為組織的唯一真實來源。通過使用關系數據庫,整個組織的經理和業務分析師可以快速準確地查詢大量企業數據,以指導關鍵業務戰略。
缺點:模式需求
數據倉庫更有可能將 ETL 用于操作分析和機器學習工作負載。
然而,傳統的數據倉庫需要一個固定的模式來構建數據,這可能需要數月或數年的時間才能在所有團隊和業務線經理之間達成一致。當一個模式被實現時,它的用戶有了新的查詢,使他們回到原點。
公平地說,數據倉庫模式引發了人們對數據湖的極大興趣。
為什么使用數據湖?
在 21 世紀初, Apache Hadoop 引入了一種在分布式文件系統( HDF )中存儲數據的新范式,使企業能夠更輕松地挖掘其數據以獲得競爭優勢。數據湖的想法來自 Hadoop ,能夠吸收存儲在低成本 blob 或對象存儲中的各種數據類型。
在過去的十年中,組織紛紛涌向數據湖,以捕獲來自 web 、社交媒體、傳感器、物聯網、天氣數據、購買列表等的各種數據類型。隨著大數據變得越來越大,數據湖開始流行使用彈性技術存儲數 PB 的原始數據。
數據湖有兩個主要優點:易于接受廣泛的數據類型和隨時訪問該數據以進行臨時查詢。
使用 ELT (提取、加載、轉換),數據湖可以吸收大多數任何類型的數據:結構化、非結構化、半結構化和二進制圖像和視頻。
進入數據湖的數據在存儲之前不必進行轉換。攝取是高效的,沒有按類型清理和規范化數據的開銷。
數據湖使存儲所有類型的數據( PDF 、音頻、 JSON 文檔)變得很容易,而不知道將來如何使用這些數據。
優勢:即席查詢
數據湖的好處是團隊可以訪問不同的數據,并根據需要運行任意查詢。需要立即提供數據分析是采用數據湖的主要驅動力。
缺點:隨著時間的推移,數據質量會下降
原始數據在數據湖中很快就會壞掉。很少有工具可以馴服原始數據,因此很難進行合并、重復數據消除和數據連續性。
數據倉庫和數據湖有什么共同點?
數據倉庫和數據湖都是大型數據存儲庫,具有共同的特點和缺點,尤其是在成本和復雜性方面。
比例:兩者都可以使用批處理和流式處理來保留大量數據。
高成本:兩者都非常昂貴,每年維護成本超過 100 萬美元。
復雜性:數據中心正在管理數十個獨特的數據源,數據量以每年 50% 或更高的速度快速增長。存儲基礎架構占用了更多的 IT 工時,提高了存儲成本,降低了整體效率。
數據處理:兩者都可以使用 ETL 和 ELT 處理。
共享用例:隨著數據科學家優先考慮 ML 技術以從他們的數據中獲得新的見解,許多組織現在正在充分利用這兩個領域:支持人工智能的數據分析和廣泛的不同數據類型。
數據倉庫和數據湖之間有什么區別?
比較數據倉庫和數據湖有點像比較蘋果和桔子。他們提供不同的東西。
數據倉庫組織、清理和存儲用于分析的數據。
數據湖存儲許多數據類型,并根據需要進行轉換。
隨著團隊越來越專注于人工智能項目,功能性、可管理性和數據質量問題上的差距逐漸顯現,導致這兩種方法不斷發展和改進。
部署
數據倉庫更有可能位于內部或混合云中。數據湖更有可能是基于云的,以利用更實惠的存儲選項。
數據處理
數據倉庫更有可能將 ETL 用于操作分析和機器學習工作負載。數據湖使用原始數據的 ELT 管道接收數據,以備將來需要。數據湖也不需要模式,因此團隊可以毫不延遲地提出臨時查詢。
工具
就功能性編程模型和成熟的、企業級軟件和工具而言,數據湖缺乏數據倉庫的穩健性。數據湖有很多痛點,包括不支持事務、原子性或數據治理。
數據質量
這總是一個問題。對于數據湖來說,這是一個更大的問題。希望對數據湖中的數據進行大量監控和維護。如果不能有效地管理原始數據,最終可能會陷入數據沼澤,性能低下,存儲成本失控。
Gartner 估計,大約 85% 的數據湖由于低質量的數據而失敗。正如諺語所說:數據管道的好壞取決于流經它們的數據。
購買與建造相比
像 Teradata 、 Oracle 和 IBM 這樣的公司可以以數百萬美元的價格向您出售一個數據倉庫。存儲是最昂貴的組件之一,因為一般公司的數據量每年增長超過 50% 。
為了獲得數據湖,大多數公司使用開源的 Apache Spark 、 Kafka 或 Zookeeper 在免費的 PaaS 上構建自己的數據湖。然而,這并不意味著構建和維護數據湖的成本更低。
據估計,雇傭人員部署帶有云存儲的生產數據湖每年可能會花費超過 100 萬美元。如果你能獲得專業知識,建立一個數據湖可能需要 6 個月到一年的時間。
什么最適合 ML 工作負載?
簡單的答案是兩者都有。大多數公司將在人工智能項目中同時使用數據倉庫和數據湖。原因如下。
數據湖之所以受歡迎,是因為它們可以擴展到 PB 或 EB 級的大數據,而不會破壞數據庫。然而,由于其編程模型中的約束,數據湖并沒有為 ML 工作負載提供端到端的解決方案。
許多組織采用了 Hadoop 范式,卻發現幾乎不可能讓高技能人才使用 MapReduce 從數據湖中提取數據。 Apache Spark 的引入和開發使數據湖得以維持,從而使數據訪問變得更容易。
盡管如此, Hadoop 模型并沒有實現其對 ML 的承諾。 Data lakes 持續的痛點包括缺乏原子性、性能差、缺乏語義更新,以及不斷發展的 SQL Spark 引擎。
將其與數據倉庫進行比較,數據倉庫與整個 SQL 生態系統兼容。任何為 SQL 后端編寫的軟件都可以訪問企業軟件。這些方法從所見即所得前端和拖放界面到自動生成的儀表板,再到進行 Kube 分析和超 Kubes 的全自動方法等等。
過去 30 年的所有商業智能和數據分析工作都是在 SQL 數據庫中繼承的。這些都不適用于 Hadoop 或數據湖。
越來越多的數據倉庫支持數據湖常用的 ELT 。數據湖的一個主要用例是將數據攝取到數據倉庫中,以便可以為 ML 項目提取和構造數據。 ELT 使數據科學家能夠定義一種結構數據和查詢數據的方法,同時將原始數據作為真理的來源。
數據湖之家的前景
對于尋求更強健的數據解決方案以滿足其大數據需求的數據工程師來說,一個 數據湖屋 (數據湖和數據倉庫的組合)有望解決數據湖的缺點。
在一個名為 三角洲湖 。
混合云選項
如果你剛剛開始人工智能數據架構,像 Amazon 和谷歌這樣的公司正在提供基于云的數據倉庫 ( Amazon 紅移 , Google BigQuery ) 幫助降低存儲和部署成本。
核心數據庫 是一種開源數據庫服務,作為 Apache 許可證下的一項服務,其功能相當于數據湖。
結論
數據倉庫和數據湖都是馴服大數據和推進高級 ML 分析的有用方法。數據湖是最近在商業云中存儲大量數據的一種方法,例如 Amazon S3 和 Azure Blob 。
數據倉庫和數據湖的定義正在演變。每種方法都在為新的用例測試新的數據過程和模型。展望未來,優化性能的技術對于管理成本和監控大型存儲庫中的數據衛生至關重要。
數據湖為數據分析提供了更靈活的解決方案,可以以較低的價格處理和存儲數據。然而, Hadoop 數據湖范式目前并沒有為大規模機器學習提供全功能解決方案。許多組織正在制定新策略并嘗試新工具,以便在不久的將來為數據倉庫和數據湖提供更好的功能。
關于作者
JudyMcConnell 為 NVIDIA 撰寫了關于企業數據中心和網絡安全的文章。在過去的 15 年里,她在硅谷的多家公司工作,之前她是一名技術記者。
審核編輯:郭婷
-
AI
+關注
關注
87文章
30887瀏覽量
269066 -
機器學習
+關注
關注
66文章
8418瀏覽量
132628
發布評論請先 登錄
相關推薦
評論