摘要:什麼是資料湖?它有什麼作用?今天將由華為雲技術專家從理論出發,將問題抽絲剝繭,從技術維度娓娓道來。資料湖從企業的多個資料來源獲取原始資料,並且針對不同的目的,同乙份原始資料還可能有多種滿足特定內部模型格式的資料副本。因此,資料湖中被處理的資料可能是任意型別的資訊,從結構化資料到完全非結構化資料。
企業對資料湖寄予厚望,希望它能幫助使用者快速獲取有用資訊,並能將這些資訊用於資料分析和機器學習演算法,以獲得與企業執行相關的洞察力。
資料湖能給企業帶來多種能力,例如,能實現資料的集中式管理,在此之上,企業能挖掘出很多之前所不具備的能力。
企業資料中隱藏著多種能力,然而,在重要資料能夠被具備商業資料洞察力的人使用之前,人們無法利用它們來改善企業的商業表現。
長期以來,企業一直試圖找到乙個統一的模型來表示企業中所有實體。這個任務有極大的挑戰性,原因有很多,下面列舉了其中的一部分:
1. 乙個實體在企業中可能有多種表示形式,因此可能不存在某個完備的模型來統一表示實體。
2. 不同的企業應用程式可能會基於特定的商業目標來處理實體,這意味著處理實體時會採用或排斥某些企業流程。
3. 不同應用程式可能會對每個實體採用不同的訪問模式及儲存結構。
這些問題已困擾企業多年,並阻礙了業務處理、服務定義及術語命名等事務的標準化。
從資料湖的角度來看,我們正在以另外一種方式來看待這個問題。使用資料湖,隱式實現了乙個較好的統一資料模型,而不用擔心對業務程式產生實質性影響。這些業務程式則是解決具體業務問題的「專家」。資料湖基於從實體所有者相關的所有系統中捕獲的全量資料來盡可能「豐滿」地表示實體。
因為在實體表示方面更優且更完備,資料湖確實給企業資料處理與管理帶來了巨大的幫助,使得企業具備更多關於企業增長方面的洞察力,幫助企業達成其商業目標。
企業會在其多個業務系統中產生海量資料,隨著企業體量增大,企業也需要更智慧型地處理這些橫跨多個系統的資料。
一種最基本的策略是採用乙個單獨的領域模型,它能精準地描述資料並能代表對總體業務最有價值的那部分資料。這些資料指的是前面提到的企業資料。
對企業資料進行了良好定義的企業當然也有一些管理資料的方法,因此企業資料定義的更改能保持一致性,企業內部也很清楚系統是如何共享這些資訊的。
在這種案例中,系統被分為資料擁有者(data owner)及資料消費者(data consumer)。對於企業資料來說,需要有對應的擁有者,擁有者定義了資料如何被其他消費系統獲取,消費系統扮演著消費者的角色。
一旦企業有了對資料和系統的明晰定義,就可以通過該機制利用大量的企業資訊。該機制的一種常見實現策略是通過構建企業級資料湖來提供統一的企業資料模型,在該機制中,資料湖負責捕獲資料、處理資料、分析資料,以及為消費者系統提供資料服務。
資料湖能從以下方面幫助到企業:
1. 實現資料治理(data governance)與資料世系。
2. 通過應用機器學習與人工智慧技術實現商業智慧型。
3. **分析,如領域特定的推薦引擎。
4. 資訊追蹤與一致性保障。
5. 根據對歷史的分析生成新的資料維度。
6. 有乙個集中式的能儲存所有企業資料的資料中心,有利於實現乙個針對資料傳輸優化的資料服務。
7. 幫助組織或企業做出更多靈活的關於企業增長的決策。
在本節中,我們討論資料湖應該具備哪些能力。後續將會討論和評述資料湖是如何工作的,以及應該如何去理解其工作機制。
為了準確理解資料湖能給企業帶來哪些好處,理解資料湖的工作機制以及構建功能齊全的資料湖需要哪些元件就顯得尤為重要了。在一頭紮進資料湖架構細節之前,不妨先來了解資料湖背景中的資料生命週期。
在乙個較高的層面來看,資料湖中資料生命週期如圖所示。
上述生命週期也可稱為資料在資料湖中的多個不同階段。每個階段所需的資料和分析方法也有所不同。資料處理與分析既可按批量(batch)方式處理,也可以按近實時(near-real-time)方式處理。
資料湖的實現需要同時支援這兩種處理方式,因為不同的處理方式服務於不同的場景。處理方式(批處理或近實時處理)的選擇也依賴資料處理或分析任務的計算量,因為很多複雜計算不可能在近實時處理模式中完成,而在一些案例中,則不能接受較長的處理週期。
同樣,儲存系統的選擇還依賴於資料訪問的要求。例如,如果希望儲存資料時便於通過sql查詢訪問資料,則選擇的儲存系統必須支援sql介面。
如果資料訪問要求提供資料檢視,則涉及將資料儲存為對應的形式,即資料可以作為檢視對外提供,並提供便捷的可管理性和可訪問性。
最近出現的乙個日漸重要的趨勢是通過服務(service)來提供資料,它涉及在輕量級服務層上對外公開資料。每個對外公開的服務必須準確地描述服務功能並對外提供資料。此模式還支援基於服務的資料整合,這樣其他系統可以消費資料服務提供的資料。
當資料從採集點流入資料湖時,它的元資料**獲,並根據其生命週期中的資料敏感度從資料可追溯性、資料世系和資料安全等方面進行管理。
資料世系被定義為資料的生命週期,包括資料的起源以及資料是如何隨時間移動的。它描述了資料在各種處理過程中發生了哪些變化,有助於提供資料分析流水線的可見性,並簡化了錯誤溯源。可追溯性是通過標識記錄來驗證資料項的歷史、位置或應用的能力。——維基百科
很多時候,資料湖被認為與資料倉儲是等同的。實際上資料湖與資料倉儲代表著企業想達成的不同目標。
下表中顯示了兩者的關鍵區別。
從圖表來看,資料湖與資料倉儲的差別很明顯。然而,在企業中兩者的作用是互補的,不應認為資料湖的出現是為了取代資料倉儲,畢竟兩者的作用是截然不同的。
不同的組織有不同的偏好,因此它們構建資料湖的方式也不一樣。構建方法與業務、處理流程及現存系統等因素有關。
簡單的資料湖實現幾乎等價於定義乙個中心資料來源,所有的系統都可以使用這個中心資料來源來滿足所有的資料需求。雖然這種方法可能很簡單,也很划算,但它可能不是乙個非常實用的方法,原因如下:
1. 只有當這些組織重新開始構建其資訊系統時,這種方法才可行。
2. 這種方法解決不了與現存系統相關的問題。
3. 即使組織決定用這種方法構建資料湖,也缺乏明確的責任和關注點隔離(responsibility and separation of concerns)。
4. 這樣的系統通常嘗試一次性完成所有的工作,但是最終會隨著資料事務、分析和處理需求的增加而分崩離析。
更好的構建資料湖的策略是將企業及其資訊系統作為乙個整體來看待,對資料擁有關係進行分類,定義統一的企業模型。
這樣的資料湖也可以有獨立的機制來捕獲、處理、分析資料,並為消費者應用程式提供資料服務。
點選關注,第一時間了解華為雲新鮮技術~
資料倉儲和資料湖的區別
在實際專案開發中,需要和資料倉儲以及資料湖那邊的開發同事進行對接,頭一次聽到這兩個名詞,自己也是一頭霧水。下面我就以我自己的理解,簡單的向大家介紹一下。資料庫 就是儲存當前的業務資料,集中儲存的是公司經常使用到的資料 儲存的是公司近50年的資料 資料倉儲 也是儲存的公司的各種業務資料,主要集中儲存的...
的資料湖 資料湖 VS 資料倉儲 VS 資料中臺
資料行業的名詞越來越多,其中,資料湖 資料倉儲和資料中颱是比較熱門的詞彙,他們都與資料有關,他們之間又有什麼區別呢?資料湖 資料倉儲和資料中臺,他們並沒有直接的關係,只是他們為業務產生價值的形式有不同的側重。作為乙個集中的儲存庫,可以在其中儲存任意規模的所有結構化和非結構化資料。在資料湖中,可以儲存...
資料倉儲與資料湖之間的理解誤區
誤解一 資料倉儲和資料湖二者在架構上只能二選一 很多人認為資料倉儲和資料湖在架構上只能二選一,其實這種理解是錯誤的。資料湖和資料倉儲並不是對立關係,相反它們的並存可以互補給企業架構帶來更多的好處 資料倉儲儲存結構化的資料,適用於快速的bi和決策支撐,而資料湖可以儲存任何格式的資料,往往通過挖掘能夠發...