《滴普科技&Gartner:2023湖倉一體演進與實踐白皮書(35頁).pdf》由會員分享,可在線閱讀,更多相關《滴普科技&Gartner:2023湖倉一體演進與實踐白皮書(35頁).pdf(35頁珍藏版)》請在三個皮匠報告上搜索。
1、湖倉一體演進與實踐數據智能未來式:FastData實時湖倉平臺 2023年2月本期內容序言 2第一章.從數據庫到湖倉一體 3第二章.構建湖倉一體關鍵要點 19 第三章.湖倉一體方案實踐 24Gartner的研究 數據湖倉一體是什么?30關于滴普科技 352序言湖倉一體演進與實踐數據智能未來式:FastData實時湖倉平臺 目錄第一章 從數據庫到湖倉一體 1.1 企業數字化平臺建設 1.2 數據平臺工程化面臨的挑戰 1.3 從數倉、數據湖到湖倉 1.4 湖倉一體的適用場景 第二章 構建湖倉一體關鍵要點 2.1 技術要點 2.2 標準統一 第三章 湖倉一體方案實踐 3.1 實踐項目背景 3.2 現
2、狀與挑戰 3.3 業務演進與目標 3.4 湖倉一體方案實踐 湖倉一體演進與實踐第一章:從數據庫到湖倉一體1.1 企業數字化平臺建設企業面向未來的數據基礎設施應該具備如下三大特征:1.從業務應用系統的建設向數據平臺和數據智能化應用建設轉變;2.數據要素越來越重要,企業將會建設或升級統一的數據平臺底座;3.業務應用和數據應用聯系會越來越緊密,基于數據智能的業務應用會成為新趨勢。下圖是數字化時代企業的數據基礎設施的整體架構圖:4圖1.未來企業IT架構業務領域過去的十多年時間里,企業的信息化、數字化建設的核心都是在圍繞著“業務數字化”以及“數字業務化”展開,業務數字化是將數字技術引入到原有業務中,為其
3、帶來效率提升和業務模式變革的過程;而數字業務化則是指通過提供數字技術,基于數據資源和數據資產服務等必要生產要素獲取業務收入的過程。企業數據與業務如今結合越來越緊密,從數據的成熟度可以分為四個階段:第一,能夠將數據管理起來,但跟業務結合處于被動模式;第二,數據可以按照業務分類有序組織在一起,搭建模型去梳理業務;第三,基于數據構建模型以及科學分析,通過數據來反哺業務,甚至能對業務進行預測,輔助管理者進行決策;第四,以數據驅動業務、經營模式產生變革。資料來源:滴普科技數據領域數據領域是數字化基礎設施的核心,企業數據平臺的建設將成為數據價值呈現的關鍵因素?;谠圃夹g的中立性,探索建設基于行業和場景
4、的新一代實時數據智能平臺,將大幅度提升企業一線部門的數據應用效能?;貧w本質,企業要想更好地使用數據,應該聚焦在快速的數據融合與分析預測上,而不是把精力大量花費在數據技術的選擇及大規模機器的部署維護。一家企業要想擁有大量繁多而有深度的技術專家:諸如OLAP數據庫專家、分布式系統專家、多語言開發工程師,XXX-SQL工程師這是不可想象的,企業會更希望能夠低門檻且便捷地使用數據。如果把時間拉長到3至5年之后,大數據和人工智能必定會緊密配合,它們之間的協同能力將對企業的智能應用起到決定性作用。在“Hidden Technical 5Debt in Machine Learning Systems”(機
5、器學習系統中隱藏的技術債務)論文中,Google認為:在任何人工智能系統應用過程中,絕大多數不是算法的聰明與否,而是圍繞這些算法的“管道”,即數據收集、清洗、驗證等基礎設施的到位程度,這樣才能有效支撐你想做到的任何機器學習。企業的數據智能平臺的特點綜合起來看,需要滿足低使用門檻,高性能和擴展能力,操作維護和易用性更好,成本更低的要求。1.1.1 數字化基礎設施一個具有現代化的數字化基礎設施涉及的數據智能平臺,通常會包含四大部分:數據平臺底座數據平臺底座的核心是為企業提供所有數據存儲的平臺。隨著企業信息化、數字化的不斷深入,企業的數據也逐漸呈現海量的趨勢,包括了來自業務系統的結構化數據,還有AP
6、P或IT系統的日志等半結構化數據,以及圖片、音視頻、聲音等各種非結構化數據。這些數據是否具有統一的存儲格式、統一的存儲標準、以及高效的讀取性能,將為數據的持續加工、挖掘和價值分析奠定基礎。數據集成數據遷移:數據庫與數據庫之間的數據搬遷,通常是一次性的,涉及到同構或異構的數據庫,場景有災備、異地多活、跨數據中心的搬遷等;數據同步則包括實時或非實時,有一對一、一對多等。數據傳輸服務通常會包含:數據遷移、訂閱、同步;解析(decode)、恢復(restore)、備份(dump)和同步(sync或rump)等動作。而數據集成是把不同來源、格式、特點性質的數據在邏輯上或物理上有機地集中,從而為企業提供全
7、面的數據共享,相比數據遷移、同步等的范圍要更大。數據集成要面對的就是各種不同的數據源,不同的數據類型、不同的實效性要求、不同的組件等,都有不同的處理方式。數據領域建模各種業務數據或者待分析的數據進入到數據平臺之后,接下來主要是數據處理的環節。在數據處理中,通常會按照業務領域的特點進行數據模型的建設。在這個環節形成了幾套不同方法論模型,來支撐數據全生命周期的管理,比如DAMA、DCMM等數據管理框架,涵蓋了數據標準、數據模型、元數據管理、主數據、數據質量、數據安全、數據價值和數據共享等等,并且還有對應的包括戰略規劃、組織架構、制度體系、審計制度和培訓宣貫等數據管理保障措施。數據智能應用經過治理和
8、處理后的數據,會支持企業各種典型場景的智能化應用。在這個層次上,基于企業的數據倉庫、數據湖、數據集市、運營平臺、知識圖譜、智能決策等數據應用系統,以及基于大數據技術的行業或者業務線應用工具。比如應用于供應鏈系統的智能化產供銷協同、全流程質量回溯、智能化排產等,應用于一體化政務系統的一網統管、一網通辦、疫情防控等,應用于金融領域的智能實時風控、數字化決策等,應用于能源雙碳領域的碳監測、碳預測、碳決策等智能場景等等。6通過利用業務數字化所產生的大量數據,用于反哺業務本身及其周邊業務,促進業務更好的管理、發展和創新,甚至衍生新的業務模式、經營模式的過程。1.1.2 企業數據平臺發展歷程企業從來沒有停
9、止過對于數據相關平臺的建設,而且隨著數字化轉型的加深,數據平臺變得越來越重,而且也越來越復雜。在數字化時代面對海量數據與個性化、專業化的應用場景,給數據管理與應用帶來了一系列挑戰。這些挑戰包括:數據規模持續膨脹提升了數據資產管理的重要性,數據應用場景持續擴展要求數據平臺具備更高的敏捷性、易用性、實時性和智能化能力,對企業的數據安全合規要求也更加嚴格等。其底層最核心的數據平臺發展大致經過了如下幾個階段:數據庫時代數據庫的標準定義是按照數據結構來組織、存儲和管理數據的倉庫。在數據量不大、數據類型以及數據的處理方式還相對簡單的時代,在數據分析的場景下,傳統業務系統使用的數據庫基本上也可以滿足分析的要
10、求。數據庫具有如下的特性:完整性,一致性,交互穩定性,并發性,異??苫謴托悦嫦蚴聞展芾?,具有ACID特性數據模型來表示數據結構,冗余小數據的統一管理和控制,易于維護和擴展具有良好的用戶接口,數據和應用程序相對獨立數倉時代數據倉庫的標準定義是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持管理決策。數據倉庫已經和業務有密切的關聯,其最終的目的是服務商業智能化分析和決策的,對單個業務或者綜合性的業務環節進行描述性分析、診斷性分析,通過可視化的工具實現簡單的報表或者BI的分析及呈現。隨著數據的沉淀,數倉能夠反映業務的歷史變化面向主題的,關注用戶重點業務集成的,跨越歷史、區域、系統
11、穩定的,具有只讀屬性,以查詢為主以時間序列存儲,非規范化管理大數據平臺或者數據湖大數據平臺是基于Google的理論構建起來的,是一類存儲數據原始格式的系統。它通常是企業中全量數據的統一存儲。全量數據包括原始系統所產生的原始數據拷貝以及為了各類任務而產生的轉換數據,各類任務包括報表、可視化、高級分析和機器學習。數據倉庫的成長性很好,而數據湖更靈活。數據倉庫支持的數據結構種類比較單一,數據湖的種類比較豐富,可以包羅萬象。數據倉庫更加適合成熟的數據當中的分析和處理,數據湖更加適合在異構數據上的價值的挖掘。數據湖中包括來自于關系型數據庫中的結構化數據、半結構化數據、非結構化數據和二進制數據等。7相比數
12、據倉庫,大數據平臺或者數據湖具有以下特征:保真性:一份原始數據,數據格式、數據模式、數據內容都不可修改。靈活性:可以根據業務的變化需求對數據進行加工處理??晒芾恚弘S著數據的不斷積累和演化,平臺需要能夠管理包括:數據源、數據連接、數據格式、數據模式,數據權限等??勺匪荩簩祿娜芷谶M行管理,包括數據的定義、接入、存儲、處理、分析、應用的全過程。能做到對其間的任意一條數據的接入、存儲、處理、消費過程是可追溯的,能夠清楚的重現數據完整的產生過程和流動過程。數據湖雖然適合存儲數據,但仍然缺少一些關鍵功能:它們不支持事務處理,不保證數據質量,并且缺乏一致性/隔離性,從而幾乎無法實現混合追加和讀取數
13、據,以及完成批處理和流式作業。由于這些原因,數據湖的許多功能尚未實現,并且在很多時候喪失了數據湖的優勢。數據智能時代從企業的多個數據源獲取原始數據,數據可能是任意類型的信息,從結構化數據到完全非結構化數據,并通過與各類外部異構數據源的交互集成,支持各類企業級應用。結合先進的數據科學與機器學習技術,能幫助企業構建更多優化后的運營模型,也能為企業提供其他能力,如預測分析、推薦模型等,這些模型能刺激企業能力的后續增長。通過對機器學習和AI算法的支持,實現數據湖+數據倉庫的閉環,極大地提升業務的效率。數據湖和數據倉庫的能力充分結合,形成互補,同時對接上層多樣化的計算生態。毫無疑問,湖倉一體將會更好地服
14、務于企業,幫助企業實現大數據能力的提升,如降低成本、提升運營效率、業務模式探索等。1.2 數據平臺工程化面臨的挑戰1.2.1 數據特點時效性多樣企業的數據分析平臺的建設由于技術的局限性和不斷的發展、以及業務的特點等,分析的時效性逐漸從原來的以天為單位的時間要求,逐漸變為了更短的時間要求,比如是小時級的分析、分鐘級的決策以及更實時性要求的業務決策。從企業的各類決策的特點來看,根據時效性的不同,可以區分為四種不同的層次:High Level:企業高層管理人員需要依賴內外部的數據,進行戰略決策,比如將戰略重點轉移到電子商務?是否更改產品組合?收購某家公司?這種決策對于數據時效性要求不高,通常月度級別
15、就可以支撐;Medium Level:企業的中層管理人員需要的是根據公司的戰略確定具體的戰術動作,比如下一個最佳實踐的標準是什么?如何配置復雜產品?信貸審批的政策是什么?這種決策對于數據的時效性會相對更高一些,但通常在周或者天這個級別就可以;8 Low Level:企業具體的業務主管在具體執行戰術時,需要更為精確以及時效性更好的數據,以此來做好執行層面的動作;Real-time Level:對于企業的具體業務人員或者是實時在運行的業務系統而言,比如在針對運營生產過程中的特定客戶是否接受次優產品?交易信用風險是否可接受等,則需要更為實時(可能要達到秒級)和細粒度的數據,來進行精確的執行。數據類型
16、多樣隨著企業業務的多樣性,以及更多的創新型場景涌現,企業數據類型變得更加異構化,互聯網時代的數據除了來自業務數據庫的結構化數據,還有來自App、Web的前端埋點數據,或者業務服務器的后端埋點日志,這些數據一般都是半結構化,甚至無結構的。傳統數據倉庫對數據模型有嚴格的要求,在數據導入到數據倉庫前,數據模型就必須事先定義好,數據必須按照模型設計存儲。數據規模和數據類型的限制,導致傳統數據倉庫無法支撐互聯網時代的商業智能。一個成功的互聯網產品日活可以過億,就像頭條、抖音、快手、網易云音樂,每天產生幾千億的用戶行為。企業的歷史經營數據、各業務板塊沉淀的過程性資料數據、外部的第三方數據、產業和行業性數據
17、等等,這些都是企業在經營決策過程中可能會依賴涉及到的數據,而且通常結構化數據只占到這些數據的20%,更多的半結構化和非結構化數據可能在結合機器學習和智能化算法的工具平臺上,能夠為企業帶來更多的經營價值。資料來源:滴普科技圖2.數據平臺工程化技術要求和挑戰91.2.2 技術債務煙囪開發的積累企業的信息化和數字化建設過程,因為技術團隊的局限性,技術本身的演進,以及業務場景的變化,會導致企業在平臺的建設過程中,存在不斷造”煙囪”的問題。這些不同的系統或平臺可能會存在著數據在不同的存儲介質,數據存儲格式也不同,數據使用的方式也大不相同等。臨時方案債務數據庫或者大數據相關技術的發展通常都是被需求所驅動的
18、。為了解決更大數據量或者更為復雜的數據結構或模型,相應的技術也在更新和迭代。而這些技術從提出到逐漸形成體系化方案,再到方案成熟最終規?;瘧?,通常都存在一個不短的周期。企業在建設數字化平臺時依據當時的技術條件所做出的決定,往往未必是最先進的技術架構,而可能會是更穩妥或者折中或者臨時的方案,這些方案有些可能會影響或制約平臺的持續演進和升級。多技術架構技術架構的選擇對于傳統企業的IT團隊來說,并不是一件容易的事情,因為這通常意味著需要既懂企業的業務流程和特點,又要懂IT和系統的架構,只有真正把這兩者融會貫通起來,讓IT和工具能夠發揮真正的價值,幫助數據和業務進行結合。這些為了解決不同場景、不同業務
19、、不同時期的技術架構,對于企業的數字化平臺的整體演進,會讓IT團隊犯難,需要盡早做出取舍。1.2.3 平臺能力滿足在線業務和分析SLA隨著企業的IT團隊不斷地迭代和升級,數據團隊作為其中重要的組成部分,得到了較為長足的發展。企業也越來越多地意識到需要有數據背景的業務人員,他們可能在未來的業務轉型過程中,能夠給予業務更多的思考,以及輔助業務進行快速決策。企業的數據管理平臺基本上會支撐很多關鍵的業務部門,而很多在線的數據分析已經和業務有較為深度的綁定,甚至是會決定著很多業務的流程以及關鍵節點。所以數據平臺需要滿足各種不同類型的業務需求,隨之而來的是也要背負相應的考核以及SLA 指標,更好地支撐業務
20、。計算能力服務化、多負載技術架構的分層從本質上還是為了更好地服務業務,減少溝通的成本、變動的影響以及相互的依賴。大數據平臺本身提供了多種類型的計算能力和負載,核心是因為在不同的場景下存在不同的關鍵需求,比如有些場景需要更好的批處理能力,有些需要更好的查詢速度,有些要有更為實時的表現,還有頻繁的變更帶來的數據不一致等情形等等。另外,為了更好的處理不同的數據,也需要有不同的工具或組件,比如非結構化數據就需要結合機器學習和深度學習的工具平臺。數據平臺本身作為數據存儲以及提供計算工具的載體,一方面是服務化的方式提供給業務層使用,另一方面也要有多樣性的負載滿足不同場景的數據處理分析和需求。10統一存儲、
21、存算分離存算分離架構核心要解決的問題其實是成本問題和效率問題。隨著累積的數據量的增大,大數據業務量的增多,數據存儲和處理的成本越來越高,企業數據基礎設施的投資越來越大,企業需要花費大量的成本進而壓縮了大數據業務創新的空間。另外就是數據平臺的各種技術架構并存,多樣化的數據格式導致數據存儲變得復雜,系統中應對不同的場景,往往同樣的數據需要存儲多份,不同組件之間還需要大量的數據拷貝和格式轉換,消耗大量的資源。存算分離架構是要能夠支持存儲的靈活擴展,計算則根據業務的場景和要求進行匹配,成本優化是核心,兼顧向未來具有更高實時性,以數據為中心,走向端到端的實時分析。1.2.4 擴展和演進過重的數倉模式當前
22、數倉分層的模式,在很大程度上解決了數據在持續的變化過程中,能夠更規范、更高效、避免重復盡可能重用的進行數據建模,數據血緣會更清晰,對業務的支撐效率也更高。但這種模式依然有一些難題需要解決,包括整個數倉的建設周期長,不容易出成果,推廣難度大;操作耗時,模型的建立需要有很高的業務抽象;數據冗余度大,成本投入也大等等。這些問題使得企業在建設數據平臺時有畏難的情緒,尤其是在業務增長壓力較大的場景下,規?;臄祩}建設難以快速見到成效。無ACID能力ACID本身是在關系型數據庫管理系統中,為了保證事務的正確以及可靠,要求具備的四個特性:原子性(atomicity,或稱不可分割性)、一致性(consiste
23、ncy)、隔離性(isolation,又稱獨立性)、持久性(durability)。這個通常是為了應對業務系統的數據變化對數據庫系統提出的要求。大數據平臺是為數據分析而生的,整個的數據鏈路很少會考慮當源端的數據頻繁發生變化時,尤其是當實時性的分析場景越來越多時,如何來進行更高效更準確的分析,對數據本身一致性的依賴很高。無法應對業務對數據體系以及科學分析的要求企業數字化平臺建設的終極目的還是為了更好地支撐業務,尤其是在數據智能時代,需要更體系化地進行數據價值的識別、挖掘和應用。數據平臺自身的發展也要充分適應業務的需要,以及AI相關場景在企業業務中的實踐和落地需求。數據智能化應用的浪潮推動著數據平
24、臺的不斷擴展和演進。1.3 從數倉、數據湖到湖倉1.3.1 數據結構化程度和數據信息密度“數據的結構化程度”描述的是數據本身的規范性。例如傳統數據庫中的數據主要是結構化的,每條記錄包含了眾多的字段,每個字段是一個獨立的信息塊。而郵件正文、發言稿件等這些信息就是非結構化的,它沒有結構化的格式來約束其中的信息。11“數據的信息密度”描述的是單位存儲體積內包含的信息量的大小。顯然,傳統數據庫中存儲的數據的信息密度是很高的,例如性別字段中的0、1就用很小的存儲體積標明了一個明確的信息。而郵件正文、發言稿的信息密度是低的,有很多重復的語句,語句中也夾雜很多意義不大的詞語甚至可能還有歧義。數據的結構化程度
25、和數據的信息密度這兩個是我們衡量企業數據特點的指標。前者描述的是數據本身的規范性,后者描述的是單位存儲體積內、包含信息量的大小。一般來說,人們獲取到的原始數據大多是非結構化的,且信息密度比較低,通過對數據進行清洗、分析、挖掘等操作,可以排除無用數據、找到數據中的關聯性,在這個過程中,數據的結構化程度、信息密度也隨之提升,最后一步,就是把優化過后的數據加以利用,變成真正的生產資料。簡而言之,大數據處理的過程其實是一個提升數據結構化程度和信息密度的過程。在這個過程中,數據的特征一直在發生變化,不同的數據,適合的存儲介質也有所不同,所以才有了一度火熱的數據倉庫和數據湖之爭。就目前來說,對數據倉庫的主
26、流定義是位于多個數據庫上的大容量存儲庫,它的作用在于存儲大量的結構化數據,為管理分析和業務決策提供統一的數據支持,雖然存取過程相對比較繁瑣,對于數據類型有一定限制,但在那個年代,數據倉庫的功能性已經夠用了,所以在2011年前后,市場還是數據倉庫的天下。到了互聯網時代,數據量呈現“井噴式”爆發,數據類型也變得異構化。受數據規模和數據類型的限制,傳統數據倉庫無法支撐起互聯網時代的商業智能,隨著Hadoop與對象存儲的技術成熟,數據湖的概念應運而生,在2011年由James Dixon提出。相比于數據倉庫,數據湖是一種不斷演進中、可擴展的大數據存儲、處理、分析的基礎設施。它就像一個大型倉庫,可以存儲
27、任何形式(包括結構化和非結構化)和任何格式(包括文本、音頻、視頻和圖像)的原始數據,數據湖通常更大,存儲成本也更為廉價。但它的問題也很明顯,數據湖缺乏結構性,一旦沒有被治理好,就會變成數據沼澤。從產品形態上來說,數據倉庫一般是獨立標準化產品,數據湖更像是一種架構指導,需要配合著系列周邊工具,來實現業務需要。換句話說,數據湖的靈活性,對于前期開發和前期部署是友好的;數據倉庫的規范性,對于大數據后期運行和公司長期發展是友好的。1.3.2 數據倉庫和數據湖的局限性早期系統采用數據庫來存放管理數據,但是隨著大數據技術的興起,大家想要通過大數據技術來找到數據之間可能存在的關系,而數據庫缺少靈活和強大的處
28、理能力,所以大家設計了一套新的數據存儲管理系統,把所有的數據全部存儲到數據倉庫,然后統一對數據處理,這個系統叫做數據倉庫。在計算機領域,數據倉庫是用于報告和數據分析的系統,被認為是商業智能的核心組件。數據倉庫是來自一個或多個不同源的集成數據的中央存儲庫。數據倉庫將當前和歷史數據存儲在一起,以利各種分析方法12如在線分析處理(OLAP)、數據挖掘(Data Mining),幫助決策者能快速從大量數據中,分析出有價值的信息,構建商業智能(BI)。數據倉庫是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持管理決策。它具有以下典型的特點:(1)高執行效率:數據倉庫處理的數據量巨大,
29、且分析周期一般以天為單位,因此對分析的時效性要求相對較高,這就需要它具有高效率的數據存儲和處理能力。(2)高數據質量:進入數據倉庫的數據一般會經過數據清洗的環節,因此可能導致數據失真的臟數據會被清除,從而保證數據倉庫提供的信息是準確的。(3)高擴展性:數據倉庫的設計和建設一般會考慮未來3-5年的情況。(4)面向主題:數據倉庫中的數據是按照一定的主題域進行組織的。主題是指在較高層次上將企業信息系統中的數據綜合、歸類并進行分析利用的抽象整合。盡管數據倉庫非常適合結構化數據,但是許多現代企業必須處理非結構化數據,半結構化數據以及具有高多樣性、高速度和高容量的數據。數據倉庫不適用于許多此類場景,并且成
30、本效益并非最佳。雖然數據倉庫的成長性很好,而數據湖在實際應用中更靈活。數據倉庫支持的數據結構種類比較單一,數據湖的種類比較豐富,可以包羅萬象。數據倉庫更加適合成熟的數據當中的分析和處理,數據湖更加適合在異構數據上的價值的挖掘。盡管如此,數據倉庫和數據湖仍然會存在以下幾個方面的主要問題:數據重復性如果一個組織同時維護了一個數據湖和多個數據倉庫,這無疑會帶來數據冗余。在最好的情況下,這僅僅只會帶來數據處理的不高效,但是在最差的情況下,它會導致數據不一致的情況出現。湖倉一體的結合,能夠去除數據的重復性,真正做到了唯一。高存儲成本數據倉庫和數據湖都是為了降低數據存儲的成本。數據倉庫往往是通過降低冗余,
31、以及整合異構的數據源來做到降低成本。而數據湖則往往使用大數據文件系統和Spark在廉價的硬件上存儲計算數據。湖倉一體架構的目標就是結合這些技術來最大力度降低成本。報表和分析應用之間的差異數據科學傾向于與數據湖打交道,使用各種分析技術來處理未經加工的數據。而報表分析師們則傾向于使用整合后的數據,比如數據倉庫或是數據集市。而在一個組織內,往往這兩個團隊之間沒有太多的交集,但實際上他們之間的工作又有一定的重復和矛盾。而當使用湖倉一體13架構后,兩個團隊可以在同一數據架構上進行工作,避免不必要的重復。數據停滯在數據湖中,數據停滯是一個最為嚴重的問題,如果數據一直無人治理,那將很快變為數據沼澤。我們往往
32、輕易地將數據丟入湖中,但缺乏有效的治理,長此以往,數據的時效性變得越來越難追溯。湖倉一體的引入,對于海量數據進行治理,能夠更有效地幫助提升分析數據的時效性。潛在不兼容性帶來的風險數據分析仍是一門興起的技術,新的工具和技術每年仍在不停地出現中。一些技術可能只和數據湖兼容,而另一些則又可能只和數據倉庫兼容。湖倉一體的架構意味著為兩方面做準備。1.3.3 湖倉一體架構的特點隨著當前大數據技術應用趨勢,企業對單一的數據湖和數倉架構并不滿意。越來越多的企業開始融合數據湖和數據倉庫的平臺,不僅可以實現數據倉庫的功能,同時還實現了不同類型數據的處理功能、數據科學、用于發現新模型的高級功能。湖倉一體(Lake
33、house)是一種新型開放式架構,將數據湖和數據倉庫的優勢充分結合,它構建在數據湖低成本的數據存儲架構之上,又繼承了數據倉庫的數據處理和管理功能,打通數據湖和數據倉庫兩套體系,讓數據和計算在湖和倉之間自由流動。作為新一代大數據技術架構,將逐漸取代單一數據湖和數據倉庫架構,并具有如下特征:事務支持Lakehouse在企業級應用中,許多數據管道通常會同時讀取和寫入數據。通常多方同時使用SQL讀取或寫入數據,Lakehouse保證支持ACID事務的一致性。模式實施和治理Lakehouse應該有一種支持模式實施和演變的方法,支持DW模式規范,例如star/snowflake-schemas。該系統應該
34、能夠推理數據完整性,并且應該具有健壯的治理和審核機制。BI支持Lakehouse可以直接在源數據上使用BI工具。這樣可以減少陳舊度和等待時間,提高新近度,并且降低必須在數據湖和倉庫中操作兩個數據副本的成本。存儲與計算分離事實上,這意味著存儲和計算使用單獨的群集,因此這些系統能夠擴展到更多并發用戶和更大數據量。兼容性Lakehouse使用的存儲格式是開放式和標準化的,例如Parquet,并且它提供了多種API,包括機器學習和Python/R庫,因此各種工具和引擎都可以直接有效地訪問數據。支持從非結構化數據到結構化數據的多種數據類型Lakehouse可用于存儲,優化,分析和訪問許多新數據應用程序所
35、需的數據類型,包括圖像,視頻,音頻,半結構化數據和文本。14支持各種工作場景包括數據科學,機器學習和SQL分析。這些可能依賴于多種工具來支持的工作場景,它們都依賴于相同的數據存儲庫。端到端流式任務實時報告是許多企業的日常需要。對流處理的支持消除了對專門服務于實時數據應用程序的單獨系統的需求。(資料來源:Lakehouse:A New Generation of Open Plateforms that Unify Data Warehousing and Advanced Analytics,Michael Armbrust et al.(2021)https:/www.cidrdb.org/
36、cidr2021/papers/cidr2021_paper17.pdf湖倉一體本質上是結合了數據倉庫和數據湖的元素而形成的數據解決方案,它實現了數據倉庫的數據結構和數據湖的可管理特性。但“湖倉一體”并不等同于“數據湖”+“數據倉”,這是一個極大的誤區,現在很多公司經常會同時搭建數倉、數據湖兩種存儲架構,一個大的數倉拖著多個小的數據湖,這并不意味著這家公司擁有了湖倉一體的能力,湖倉一體絕不等同于數據湖和數據倉簡單打通,反而數據在這兩種存儲中會有極大冗余度。在架構上,湖倉一體需要具備:統一的數據管理湖倉一體提供完善的數據管理能力。數據湖中會存在兩類數據:原始數據和處理后的數據。數據湖中的數據會不
37、斷的積累、演化,因此包含以下數據管理能力:數據源、數據連接、數據格式、數據schema(庫/表/列/行)。同時,數據湖是單個企業中統一的數據存放場所,因此,還具有一定的權限管理能力。多模態的存儲引擎湖倉一體本身內置多模態的存儲引擎,以滿足不同的應用對于數據訪問需求(綜合考慮響應時間/并發/訪問頻次/成本等因素)。但是,在實際的使用過程中,為了達到可接受的性價比,湖倉一體解決方案提供可插拔式存儲框架,支持的類型有HDFS/S3等,并且在必要時還可以與外置存儲引擎協同工作,滿足多樣化的應用需求。豐富的計算引擎提供從批處理、流式計算、交互式分析到機器學習等各類計算引擎。一般情況下,數據的加載、轉換、
38、處理會使用批處理計算引擎;需要實時計算的部分,會使用流式計算引擎;對于一些探索式的分析場景,可能又需要引入交互式分析引擎。隨著大數據技術與人工智能技術的結合越來越緊密,各類機器學習/深度學習算法也被不斷引入,可以支持從HDFS/S3上讀取樣本數據進行訓練。因此,湖倉一體解決方案提供計算引擎的可擴展/可插拔。數據全生命周期管理湖倉一體提供一個企業中全量數據的存儲場所,需要對數據的全生命周期進行管理,包括數據的定義、接入、存儲、處理、分析、應用的全過程。一個強大的數據湖實現,需要能做到對其間的任意一條數據的接入、存儲、處理、消費過程是可追溯的,能夠清楚的重現數據完整的產生過程和流動過程。151.3
39、.4 企業布局湖倉一體參考Databricks公司對Lakehouse的定義,湖倉一體是一種結合了數據湖和數據倉庫優勢的新范式,在用于數據湖的低成本存儲上,實現與數據倉庫中類似的數據結構和數據管理功能。湖倉一體是一種更開放的新型架構,有人把它做了一個比喻,就類似于在湖邊搭建了很多小房子,有的負責數據分析,有的運轉機器學習,有的來檢索音視頻等,至于那些數據源流,都可以從數據湖里輕松獲取。就湖倉一體發展軌跡來看,早期的湖倉一體,更多是一種處理思想,處理上將數據湖和數據倉庫互相打通,現在的湖倉一體,雖然仍處于發展的初期階段,但它已經不只是一個純粹的技術概念,而是被賦予了更多與廠商產品層面相關的含義和
40、價值。企業如何來布局湖倉一體,憑什么湖倉一體能代表未來?關于這個問題,我們其實可以換一個問法,即在數據智能時代,湖倉一體會不會成為企業構建大數據棧的必選項?就技術維度和應用趨勢來看,這個問題的答案幾乎是肯定的,對于高速增長的企業來說,選擇湖倉一體架構來替代傳統的獨立倉和獨立湖,已經成為不可逆轉的趨勢。一個具有說服力的例證是,現階段,國內外各大云廠商均陸續推出了自己的“湖倉一體”技術方案,比如亞馬遜云科技的Redshift Spectrum、微軟的Azure Databricks、華為云的Fusion Insight、滴普科技的FastData等,這些玩家有云計算的老牌龍頭,也有數據智能領域的新
41、勢力。事實上,架構的演進是由業務直接驅動的,如果業務側提出了更高的性能要求,那么在大數據架構建設的過程中,就需要數據庫架構建設上進行技術升級。在數據分析領域,湖倉一體可以更好地應對AI時代數據分析的需求,在存儲形態、計算引擎、數據處理和分析、開放性以及面向AI的演進等方面。以AI應用層面為例,湖倉一體架構天然適合AI類的分析(包括音視頻非結構化數據存儲,兼容AI計算框架,具有模型開發和機器學習全生命周期的平臺化能力),也更適合大規模機器學習時代。關于湖倉一體的未來應用場景預測,需要支持三類實時場景,第一類是實時持續智能;第二類是實時按需智能;第三類是離線按需智能,這三類場景將可以通過快照視圖、
42、實時視圖以及實時批視圖提供給數據消費者,這同樣是未來湖倉一體架構需要持續演進的方向。從市場發展走向來看,“湖倉一體”架構是基于技術發展進程的必經之路。但由于這個新型開放架構仍處于發展早期,國內外企業數字化水平和市場認知的不同,造成了解決方案也存在著較大的差異。在業內人士看來,雖然美國的企業服務市場比我們成熟的多,也有很多路徑可以參考,但中國市場卻有著很多中國特色。美國企業服務市場往往賣產品就可以了,但中國大客戶群體需要更與客戶資深場景深度融合的解決方案,解決方案需要兼顧通用性和定制化。16以某個具有國際視野和品牌影響力的商業企業客戶為例,該客戶已經完成了統一數倉的搭建,實現了多個業務線的數據采
43、集和各個業務域的數據建設。在保證前端數據正常運行、“熱切換”底層應用的前提下,該客戶在短短幾個月時間里將多個數倉整合為統一數倉,有效統一了業務口徑,大幅縮減了開發運維工作量,整個業務價值鏈也形成了閉環。這也是“湖倉一體”的能力價值所在:隨著數據結構的逐漸多樣性,3D圖紙、直播視頻、會議視頻、音頻等數據資料越來越多,為深度挖掘數據價值,依托于領先的湖倉一體技術架構,可先將海量的多模數據存儲入湖,在未來算力允許時,及挖掘深度的業務分析場景后,從數據湖中抓取數據分析。舉個簡單的例子,某個設計師想要設計一款新產品,一般會從歷史數據中找有效信息參考,設計師也許只需要一張貨品照片,就能像瀏覽電影般,了解到
44、該商品多年來全生命周期的銷售業績、品牌故事、競品分析等數據,賦能生產及業務決策,實現數據價值的最大化。一般來說,大體量的企業想要保持持續增長,往往需要依靠大量、有效的數據輸出,進而實現智慧決策。很多企業出于IT建設能力的限制,導致很多事情沒法做,但通過湖倉一體架構,讓之前被限制的數據價值得以充分發揮,如果企業能夠在注重數據價值的同時,并有意識地把它保存下來,企業就完成了數字化轉型的重要命題之一。湖倉一體能發揮出數據湖的靈活性與生態豐富性,以及數據倉庫的成長性與企業級能力。幫助企業建立數據資產、實現數據業務化、進而推進全線業務智能化,實現數據驅動下的企業數據智能創新,全面支撐企業未來大規模業務智
45、能落地。資料來源:滴普科技圖3.湖倉一體某商業企業客戶應用171.4 湖倉一體的適用場景在過去”IoE”以及國產化推進的大背景下,數據平臺經過近20年的發展,在數據智能時代將面臨著更為廣闊的應用場景,湖倉一體將引領下一個十年的數據領域的發展。大數據發展,讓我們看到了數據湖與數據倉庫的不斷創新與發展,也看到了湖倉一體化的技術架構為企業數據能力帶來的提升。湖倉一體能發揮出數據湖的靈活性與生態豐富性,以及數據倉庫的成長性與企業級能力。幫助企業建立數據資產、實現數據業務化、進而推進全線業務智能化,實現數據驅動下的企業數據智能創新,全面支撐企業未來大規模業務智能落地。湖倉一體依托云原生特性、存算分離架構
46、、強事務特性、全鏈路CDC、高性能并行執行能力等一系列底層技術的變革,實現強擴展性、強安全性、強共享性、強兼容性、強復雜查詢能力等上層技術能力的變革,最終幫助企業有效應對大規模、高時效、智能化等愈發明顯的數字化趨勢。下面簡單地列舉一些適用于湖倉一體架構的數據場景,當然實際上并不局限于這些,未來可以根據企業的發展做進一步的擴展和總結。1.4.1 數據多樣性場景隨著企業業務的快速發展以及全面的數字化,企業內部業務和數據系統會變得眾多,當這些數據匯聚之后,需要處理的各種結構化和非結構化數據的數據規模也因此急劇膨脹。這給企業的數據應用和數據資產管理帶來了以下問題:非結構化數據帶來數據價值不確定性企業用
47、戶往往不能確定系統中有哪些數據,也不知道自己的業務問題可以使用哪些數據來解決。企業在數字化轉型過程中,非結構化數據(如同:音視頻、聲紋指紋、人臉識別等)已經普遍進入到在線業務系統中,成為了海量數據的新入口。這些數據不但容量上遠超結構化數據,而且通過持續迭代的AI和機器學習處理,會不斷產生海量的標簽數據,對底層數據處理平臺提出了更高實時聯機處理能力要求??梢哉f,過去的非結構化數據就是個黑盒子,用戶完全不知道里面存儲的內容,所有的信息描述都在業務系統中存放。而現在,我們則需要將黑盒子打開,為里面存儲的每一個對象賦予標簽、描述和內容,同時能夠基于這些信息進行統一有效的管理、分類、檢索和查詢,實現非結
48、構化數據治理,提升數據整體“能效”。企業中的非結構化對象數據,正從“資源消耗中心”,向“數據價值中心”進行轉型??蛻魧Ψ墙Y構化數據處理的要求正在不斷提升。實現統一的數據管理和共享數據企業缺少統一的數據管理標準,導致各業務部門之間難以對數據進行匯聚、共享和使用,從而無法發揮大數據的協同價值。傳統的大數據平臺基礎架構,都將視角鎖定在了存儲和計算,而忽略了對于數據的資產化管理,這恰恰是湖倉一體作為新一代的大數據基礎設施所重點關注的方向之一。大數據基礎架構的演進,其實反應了一點:在企業/組織內部,數據是一類重要資產已經成為了共識;為了更好的利用數據,企業/組織需要對數據資產進行如18下操作:進行長期的
49、原樣存儲,以便可回溯重放原始數據進行有效管理與集中治理;提供多模式的計算能力滿足處理需求;以及面向業務,提供統一的數據視圖、數據模型與數據處理結果。在這個大背景下,除了有大數據平臺所擁有的各類基礎能力之外,湖倉一體更強調對于數據的管理、治理和資產化能力,這就包括:更強大的數據接入能力數據接入能力體現在對于各類外部異構數據源的定義管理能力,以及對于外部數據源相關數據的抽取遷移能力,抽取遷移的數據包括外部數據源的元數據與實際存儲的數據。更強大的數據管理能力管理能力具體又可分為基本管理能力和擴展管理能力:基本管理能力包括對各類元數據的管理、數據訪問控制、數據資產管理等;擴展管理能力包括任務管理、流程
50、編排以及與數據質量、數據治理相關的能力。任務管理和流程編排主要用來管理、編排、調度、監測在數據湖系統中處理數據的各類任務??晒蚕淼脑獢祿}一體中的各類計算引擎會與平臺內的數據深度融合,而融合的基礎就是元數據體系。計算引擎在處理數據時,能從元數據中直接獲取數據存儲位置、數據格式、數據模式、數據分布等信息,然后直接進行數據處理,而無需進行人工/編程干預。更進一步,對平臺內的數據進行訪問控制,控制的力度可以做到“庫表列行”等不同級別。事實上,湖倉一體平臺需要對數據進行整個生命周期的管理,以統一的方式使得企業/組織內部的數據能在一個明確的地方進行沉淀,會永久地保留原始數據,同時過程數據會不斷的完善、
51、演化,以滿足業務的需要。更便捷的獲取和使用數據傳統的大數據基礎平臺,用戶獲取所需數據的過程太長和復雜,且缺乏有效的數據開發工具,導致用戶獲取和使用數據存在困難。通常情況下,新一代的數據基礎設施會包括:數據集成系統:用于多源異構數據的集成和接入數據存儲和計算:用于多種類型數據的統一存儲,以及基于存算分離架構提供多負載的計算能力數據開發或數據處理子系統:主要用于數據的轉換、加工等操作。數據目錄Catalog:主要是整個數據平臺內的各種元數據、血緣、資產信息等等。數據治理和權限:主要包括數據質量和標準,提供統一的數據管控和安全能力。數據洞察能力:用于數據基礎分析和增強分析。數據科學:用于與AI相關的
52、科學分析能力。19從數據源定義、數據抽取和入湖入倉,到湖倉打通與集成,再到數據出湖、數據處理和數據消費,一氣呵成,各種云上數據服務無縫集成在一起。數據從各種源頭“流入”到湖倉一體存儲中,又按需流出,被處理、被消費。1.4.2 與AI結合的機器學習場景從業務的角度,數據平臺支撐了企業數字化轉型的各項需求,企業因此能夠實現精細化運營,從而降低運營成本、提高運營效率、提升創新能力。企業的數據應用場景持續擴展,敏捷性、易用性、實時性、智能化要求在不斷提升。為了充分發揮數據的價值,數據驅動的決策和業務應用正逐漸滲透進企業的各個部門和各個業務線。面對數據應用場景的持續擴展,企業對其底層數據平臺也提出更高的
53、技術和能力要求,包括了敏捷性、易用性、實時性、智能化四個方面的要求,具體如下:敏捷性企業存在大量數據分析,尤其是創新性數據分析和應用需求。但傳統豎井式建設的信息系統修改困難、集成混亂;企業缺乏自有的技術開發能力,無法快速響應業務需求。易用性數據平臺逐漸由賦能數據部門轉向全面賦能業務部門,而使用傳統數據平臺需要的編程和數據分析能力是大部分業務人員所不具備的,因此需要新一代的數據平臺具備低門檻的自助分析能力,適應不同能力的數據或業務人員。實時性企業在生產和運營中存在越來越多的實時決策場景,如何快速查找、分析和獲得數據洞察是當前數據平臺面臨的一大挑戰,需要從平臺的架構設計、計算和存儲引擎,以及業務流
54、程優化上滿足數據分析的實時性需求。智能化在數據應用越來越多的背景下,企業相關的人力配備已不能滿足需求,因此需要平臺具備智能化的能力,一方面在數據分析環節引入自動化能力,減少人工操作,降低人力成本。另一方面,通過平臺的智能預測能力,提高業務決策效率和能力。對于這些要求,新一代數據平臺以湖倉一體為基礎,通過對機器學習和AI算法的支持,實現數據湖+數據倉庫的閉環,極大地提升業務的效率。數據湖和數據倉庫的能力充分結合,形成互補,同時對接上層多樣化的計算生態,幫助企業實現大數據能力的提升,如降低成本、提升運營效率、業務模式探索等。第二章:構建湖倉一體關鍵要點企業的數字化轉型其中一個標志,就是業務和管理的
55、每個環節是否都可以通過數據來發現問題并加以改進。面對如此海量的數據儲存和分析計算的挑戰,建設一個統一的數據平臺,對企業來說是很關鍵的問題。要實現海量數據的時效性,異構數據處理統一性和面向AI場景的數據預制能力,已逐漸成為主流趨勢。20湖倉一體化實現了數據湖和數據倉庫之間的無縫流轉,打通了數據存儲和計算的不同的層面,兼顧數據湖的靈活性和數據倉庫的成長性,將二者有效結合起來為用戶實現更低的總體擁有成本,用新方法和新技術實現數據湖和數據倉庫的統一結合,實現批流融合、DATA+AI統一管理和調度,且基于云原生架構實現隨時隨地、云上云下的算力獲得。湖倉一體是一個完整的架構,具備從底層的存儲計算到數據處理
56、,以及上層的業務能力。它并不是簡單的湖內建倉,或者說湖上建倉,而是應該回歸到湖倉一體到底可以解決什么場景上來。在技術特點上,湖倉一體可以存儲結構化數據、半結構化數據以及非結構化數據,可以將數據先存儲到數據湖中,再去調動分析引擎去進行數據計算,最終將計算數據存儲到湖倉的表引擎中。整體上來說,需要先建立數據湖能力,通過在數據湖上面建立數據倉庫,底層是利用統一存儲引擎進行一個能力提升,中間層采用批流融合的統一計算引擎,以及面向應用的多維查詢分析能力。不同的數據平臺產品,從存儲引擎、多樣性計算引擎,到最后的查詢接口,也都體現出一個分層能力。湖倉一體是一次技術迭代,必須保證客戶的數據能夠升級到湖倉平臺,
57、具備整體的架構迭代和技術迭代能力。湖倉一體的解決方案,不是單純的底層的技術能力,更多的是在于滿足客戶的最終業務價值,把整個數據底層,以及數據的中間的調度和處理層,以及上面的一些數據分析服務層,能夠提供給客戶一條龍的服務,也是比較符合中國市場的一個定位。2.1 技術要點湖倉一體的架構,核心數據能力是要全面開放的,包括數據集成能力、數據存儲、數據計算、數據處理、數據消費、數據目錄、數據權限、數據運維等等。為此,我們提出了開放數據棧的架構理念:Open Data Stack。數據棧的概念的整個發展,追溯歷史其實可以劃分為三個階段:第一個階段可以稱之為數據棧的寒武紀的時代(2012 2016),借由H
58、adoop生態圈積 累的大 量的經驗 和Kubernetes項目,云平臺獲得了新生。有了Kubernetes,對于工程師而言,無論他們在使用哪一種云平臺提供的計算資源,都能夠將他們在自己便攜式電腦上的工作環境無差別地遷移到公有云上進行開發、測試和最終的大規模投產。在這個階段,誕生了大量的以此為目標的數據領域的工具,尤其是在2012年Amazon推出的Redshift,在云上逐漸占據了主流。這種大流行,是由MPP大規模并行計算和OLAP系統架構在巨大的數據集分析查詢上帶來的性能提升開始的,而在這之前,企業在進行數據分析或者接入BI進行分析時,即使在一個中等規模的數據集上做相對簡單分析都可能會非常
59、對耗費時間,并且需要構建一整套生態系統來緩解這個問題,這些問題包括:數據在被裝入到數據倉庫之前首先要進行轉換,因為數據倉庫太慢和受限而不能處理這些繁重的數據處理工作。BI工具進行了大量的本地數據處理以解決數據倉庫的瓶頸從而能夠給最終用戶一個可以接受的響應時間。21數據處理工作由中央的團隊來嚴格控制從而避免數據倉庫處理太多來自于最終用戶的請求而不堪重負。很多數據領域的專家、創業團隊都涌入這個賽道,紛紛構建了很多新的架構、理念、工具和產品,其中有些產品大獲成功,也構成了我們今天數據棧的基礎。從技術架構角度,MDS之前的“史前架構”,數據要分別進行數據導入、存儲/計算、處理分析,而當時All-In-
60、One的思想,每個部門都希望各自解決問題,因此形成了數據孤島,各產品直接難以集成,TCO非常高。2012年隨著以AWS Redshift為標志的產品,以存算分離、列存等技術解決成本和計算能力的問題,而引發了MDS的爆發式發展?,F在,技術人員不再需要非常高深的技術能力,只需使用SQL,就能實現數據的分析。第二個階段是數據棧不斷普及、不斷驗證和部署的階段,可以稱之為數據棧的1.0進化期(20162020)。在這個過程中逐漸形成了云原生的核心架構,一切基礎設施和服務都要云化。但整個數據棧的架構仍然是以最開始定義的幾個核心的部件:云端的數據倉庫,核心職責是解決數據存儲的能力,并且提供了數據處理和計算;
61、數據集成服務,核心是將不同來源、格式、特點性質的數據有機地集中,為企業提供較全面的數據共享和服務;ELT數據轉換工具,從ETL理念向ELT轉變,有專業的負責數據處理和轉換的工具;BI層,核心是為企業的決策者或者業務人員提供數據洞察的服務;反向ETL工具,將處理的數據或結果反向導入到業務系統中,給業務正確的反饋,或者能夠指導業務決策;數據治理工具,核心是提供統一的數據質量、數據標準,并且能夠為整個數據平臺提供統一的元數據等信息。那么這些部件在第一個階段發展過程中,基本上構成了數據棧的基石。所有的技術在早期采用者都是寬容的,但是技術需要改進才能被越來越多的受眾所采納。從開發到部署,然后每一輪的技術
62、開始進入成熟,從而能夠吸引到更多的新客戶,然后技術上變得更加成熟。隨著技術的演變,云原生數據棧的特點逐漸固化下來:1.以云為基礎環境,以云數倉/云數據湖為存儲核心,這也是湖倉一體架構演進的基礎2.是對云上的component的組合;3.每個component使用云上catalog來進行銜接,Catalog是數據棧的靈魂;4.每個component只專注在自己的環節,專業的人做專業的事;5.每個環節的component傾向于標準化,是可替代的。22第三個階段是數據棧的爆發期(20212025),技術不斷地完善和成熟,迎來了新的創新,也會更聚焦在解決一些數據棧不足的地方。關鍵的創新點就在于:即時和
63、實時分析:從T+N的數據處理,將整個數據流的延遲降低到分鐘級、秒級的處理,將給技術帶來很大的挑戰,并且講解鎖全新的應用;主動數據治理:如果沒有很好的治理,更多的數據=更多的混亂=更少的信任。平民化數據探索:所有的BI工具或者數據分析工具,都在思考如何能夠像Excel工具那樣廣泛的以及低門檻的被使用,并且具有足夠的靈活性;垂直分析:缺少的是在現代數據技術棧上構建的垂直的分析界面,構建像這種新的、輕量級的、垂直應用的機會將會大大的增加。非結構化數據和AI應用:企業的大量未被數倉納入管理的非結構化數據,可能會給業務帶來更多隱藏的價值,結合AI算法模型的不斷深入,業務會有更多的智能。這些都構成了湖倉一
64、體架構核心要解決的問題以及關鍵能力?;跀祿5睦砟?,我們提出了湖倉一體的開放數據棧的架構ODS(Open Data Stack):圖4.湖倉一體的開放數據棧的架構ODS資料來源:滴普科技23企業數據平臺全面開放的好處就是能夠讓更多的社區用戶一起協作發現問題、解決問題,并且幫助社區用戶在商業項目和研究中發揮作用,這是ODS設立的初衷,其開放性體現在:開放的數據格式湖倉一體支持更多數據格式,可用于各種工作場景,使用的存儲格式是開放式和標準化的,如Parquet/ORC/Avro等格式;更多的數據治理架構支持強制的Schema以及數據治理,星型模型或者雪花模型均可;可以靈活地更換計算引擎湖倉一體架
65、構可以靈活支持多種常用大數據分析、計算引擎的無縫接入和良好的互操作性,并且使用統一SQL 編輯器支持各主流的SQL類操作;AI的結合提供了多種API,包括機器學習和Python語言和R語言庫,各種工具和引擎都可以直接訪問數據,最大限度地提高靈活性。2.2 標準統一湖倉一體的架構有如下幾大特性:第一,支持事務ACID,在企業當中,數據需為業務提供高性能的并發讀寫,支持事務ACID可確保在SQL訪問模式下的并發讀寫一致性;第二,支持各種數據類型的實現與轉變,并保證數據完整性,具有健全的數據治理與審計機制;第三,BI直連數據源,提升數據分析效率,降低分析延遲與成本;第四,支持存算分離架構,賦予系統擴
66、展性、提升計算的高并發,并且底層存儲具有了彈性擴充能力;第五,支持各類計算與分析引擎,以及Parquet、ORC等數據格式,以及異構數據存存儲,以及機器學習、SQL 查詢、數據科學、數據分析等各類負載,以及支持端到端的數據流。以此為依托,湖倉一體平臺的構建,應該具有如下的標準:批流融合 需要同時滿足實時和批量的數據處理能力,降低企業維護的成本和復雜性,擴大最佳的資源使用效能。全鏈路CDC需要滿足全鏈路CDC,端到端實現從數據源到湖倉數據的增量分析,兼備實時數據分析的全面性和準確性。事務ACID一致性需要提供ACID保證數據寫入一致性;提供快照保證讀寫的并發;提供upsert/merge int
67、o能力極大地縮小數據庫入庫延遲。對象存儲不支持文件原地更新,新的記錄以append的方式寫入新文件,即使對文件中的一行記錄進行更改,也要重寫整個文件,并且多線程并發讀寫也可能造成數據不一致。湖倉一體通過多版本的方式保證事務24讀寫并發不沖突,通過將修改記錄在change file中通過合并base文件的方式提升記錄更改效率。DataOps提供數據統一服務、數據沙箱、數據開發、代碼版本管理、CI/CD、工程化運維的流程化和自動化。統一元數據管理支持異構數據的統一元數據管理,實現端到端的數據鏈路的自動化元數據采集,支持全鏈路血緣,一鍵式分析技術、業務、操作元數據詳情,為數據標準建設和數據質量提供重
68、要支撐。湖倉一體中的Catalog是統一的元數據目錄,它可以幫助我們讓數據發現變的更簡單,更加快速地查找到你想要的數據,同時提供面向多引擎(Hive、Spark、flink、trino等)的公共元數據存儲和統一元數據服務。云原生架構基于云原生架構,與主流云廠商深度連接,提供基于多云架構的統一數據平臺,幫助企業以最優成本、最敏捷的方式搭建數據資產和數據分析的全鏈路,更加精細化實現數據價值。滴普科技FastData實時湖倉平臺正是圍繞湖倉一體架構的核心標準,構建六大產品特性,也助力其成為具備先進洞察的核心基礎設施軟件。第三章.湖倉一體方案實踐3.1 實踐項目背景當前新零售業務場景繁多,業務相對復雜
69、,業務需求復雜頻繁,業務數據日益劇增。面對復雜頻繁的業務需求,以及日益劇增的業務數據,隨著業務不斷創新,數據種類不斷增加,需要統一存儲和管理多樣化的原始數據,業務分圖5.FastData湖倉一體平臺和優勢資料來源:滴普科技25析對數據時效性、數據多樣性的要求不斷提高,需要構建湖倉一體的數據體系,支持高效的精細化數據運營和業務創新發展。隨著業務快速增長,某大型品牌零售企業制定了相關發展戰略。為了適應業務發展,需要對數據價值進行挖掘,指導經營決策以及業務賦能;進行業務分析,首先要對相關數據進行良好存儲和管理,選擇適合的數據棧技術路線,進行數據平臺的搭建尤為重要。3.2 現狀與挑戰該企業的現狀與絕大
70、多數公司相似:同時存在多個數倉平臺,如Oracle、Hive等,沒有數據湖,無法支撐業務發展,尤其是創新業務,如數據科學、機器學習、人工智能等應用;結構化數據存量近2PB,日均增量500GB,近萬張表,包括交易體系、生產體系、營銷體系、會員體系、貨品體系、庫存體系、物流體系、財務體系、組織體系、辦公體系等等。傳統數倉已無法很好地支持大數據量的存儲和管理。半結構化與非結構化數據存量近200TB,每年增量35TB,未來還會考慮視頻數據(如直播、培訓、線上會議),百億級的文件數量,包括該公司所有的各類文件,商品圖片與音視頻、直播音視頻、宣傳素材、各系統上傳的附件、excel、pdf、word文檔、z
71、ip、rar、csv、json等等。這些數據原來分散在各業務的存儲中,可能存儲在對象存儲系統、文件目錄、GFS、NFS、FTP、第三方系統等等,沒有進行統一維護,也沒有相關數據應用,有業務需求時,無能為力,巨大的價值等待發掘。由此,企業數字化建設面臨著很大的挑戰:半結構化、非結構化數據分散不同業務存儲不同的地方,不同技術選型存儲系統不一樣,第三方系統使用的存儲系統也可能不一樣,技術不斷演進會引入不同的存儲系統。而且由于技術限制,不少半結構化與非結構化數據未做存儲,也沒有規范,運維復雜。種種原因導致數據分析時需要來回搬運數據;數據缺乏統一管理,無法全鏈路追蹤由于頂層設計缺失與歷史等原因,數據煙囪
72、、信息孤島和碎片化應用遍地開花。缺乏統一元數據管理,數據的定義、位置、譜系無法全鏈路追蹤,跨平臺、跨引擎使用數據困難;數據處理復雜,缺乏智能運維數據處理任務繁多,需要花費大量人力進行監控和處理,缺乏自動化智能運維手段;26存算資源緊耦合,無法獨立擴展,資源利用率低目前企業基本還是采用Lambda架構,需要消耗的服務器資源較大。隨著單臺服務器配置越來越高,資源越來越無法得到充分利用,導致資源利用率低下。3.3 業務演進與目標經分析,該公司急需一個適合的數據平臺,統一存儲和管理數據,以適配業務的快速發展。從業務與管理上需要達到兩大目標:其一,統一的數據平臺,實現不同業務、多種類型的數據的統一存儲與
73、管理,為業務提供訪問任何數據的能力,縮短業務分析時的數據準備時間,加速通過數據為業務產生價值的過程。其二,同時提供豐富的計算引擎支持,統一支持不同的工作負載,特別是未來利用AI、機器學習等技術,從數據中發掘更多的應用價值。最終實現不同業務、多種類型的原始數據的統一存儲與管理,為業務提供訪問任何數據的能力,縮短業務分析時的數據準備時間,加速通過數據為業務產生價值的過程。同時提供豐富的計算引擎支持,支持未來利用AI、機器學習等技術,從數據湖中發掘更多的數據應用價值。湖倉一體數據平臺,可以快速提升企業數據開發與治理的敏捷性,實現數據驅動下的企業數據智能創新,全面支撐企業未來大規模業務智能應用。綜上,
74、我們可以看到,要解決該公司的問題和實現他們的目標,湖倉一體正是最佳解決方案。圖6.統一的數據平臺資料來源:Databrickshttps:/ 湖倉一體方案實踐對于大數據平臺而言,不管采用何種技術,都需要解決四大問題:入湖、存儲、分析、開發。有不少用戶有個相同誤區,都是等到業務有需求時,才采集與分析相關數據,以及引入相關技術組件。缺乏整體統一的規劃,數據管理混亂,歷史數據丟失,無法滿足日新月異的業務需求。而在該項目實踐中,是以湖倉一體引擎構建數據底座,兼容不同引擎統一工作負載。綜合考慮了盡可能多的業務場景,從基礎服務平臺的角度進行建設。圖7.行業技術發展路線與業務演進資料來源:滴普科技28因此形
75、成了通用的方案,具有普適性,在落地該客戶的同時,滴普科技也進一步豐富和沉淀了FastData實時湖倉平臺的產品體系,以服務和解決更多有大數據分析需求的客戶。滴普科技FastData實時湖倉平臺基于現代數據棧的建設思路,全面整合了從數據存儲到數據開發以及數據分析的完整鏈路,包括基于替代Hadoop架構的新一代實時湖倉引擎DLink,數據智能開發治理平臺DataFacts,以及基于AI數據探索分析和數據資產決策的數據分析平臺DataSense,幫助企業建立統一治理、流批一體、湖倉一體的云原生數據智能平臺,實現海量數據實時分析,支撐企業數字化轉型。3.4.1 方案架構與傳統數倉相比,湖倉一體有效解決
76、了傳統數倉和傳統數據湖所面臨的棘手問題。數據倉庫,無法支持海量結構化數據以及非結構化的存儲和處理,時效性差(T+1),無法很好地支撐數據科學應用、機器學習等更復雜的分析應用。數據湖,缺乏對結構化數據進行有效的組織,存在嚴重的數據沼澤問題,無法很好支撐BI分析應用。數倉+數據湖,數據通常存儲在多個不同的平臺當中,有數據分析需求時常常需要反復的搬遷數據,無法統一工作負載,數據應用的效率很低,成本高、響應慢。滴普科技提出的湖倉一體方案總架構分層,與大數據平臺需要解決的四大問題一一對應。數據集成解決入湖問題、存儲層解決存儲問題、計算層解決分析問題、數據開發和數據服務解決開發問題,然后在統一的數據底座上
77、構建可擴展的數據分析應用。這一 架 構 一 大 特點 是 存 算分離,計算資 源 可以 通 過kubernetes或Hadoop Yarn進行管理資源,實現資源池化、按需使用,支持彈性伸縮,極大地提高了資源利用率。而且遵守ODS(Open Data Stack)原則,保持每個組件的開放性,如開放的數據格式、開放的表格式、統一元數據等等,對兼容原數倉與平滑過渡帶來了很大的便利。3.4.2 項目成果湖倉一體的建設意義重大,作為數字化的底座,為企業數字化轉換提供強有力的保障。具體價值如下:業務高彈性和降低TCO通過大數據存算分離,實現全域數據統一存儲。統一元數據管理實現湖倉共享存儲資源池,計算資源彈
78、性伸縮應對業務變化。面向異構數據的價值挖掘湖內存儲企業所有數據源(包括結構化、半結構化、非結構化數據),支持面向多源異構數據的數據探索分析。提高數據分析效率數據分析專家無需數據搬遷,即可無縫處理和分析數據湖數據,加速數據準備和重用流程,縮短數據入倉時間,提高數據提供的時效性。加速業務創新數據分析專家能夠在數據結構化和清洗、轉換之前訪問數據,從而能夠比傳統數據倉庫更快地獲得結果,實現快速地洞察數據。29從數據基礎工作到數據輔助決策,再到業務賦能,全面展現項目成果與收益,達成了可觀的項目成果:1)數據采集,對接了20多個業務系統,總任務150多個,接入源表近3000張;2)數據存儲,結構化數據總量
79、2PB,每日新增數據處理的數據量近500GB,每日新增數據采集的數據量20多GB;3)數據處理,總任務數量1500多個,其中流式任務300多個,離線任務1200多個,預計當年年底總任務數量增加到4000多個;4)數據服務,提供了200多個服務API,訂閱項目數9個,日均調用量20幾萬?;A指標400多個,衍生指標1萬多個;5)其他,常規補貨準時率提升了8%,補貨流程提效20%,商品運營歷史 數 據60多億條,商品運營每日新增4億多條;總的來看,湖倉一體是數據倉庫和數據湖技術的融合的新范式,彌補了數據倉庫無法支持海量數據和非結構化數據存儲問題,也彌補了數據湖缺乏數據管理的問題。實現統一數據存儲和
80、管理,統一工作負載,使得數據的管理和使用效率得到提升。為商業智能、數據科學、數據智能運維構建統一的數據底座。隨著數據智能的演變與發展,湖倉一體將會擁有強韌的生命力,與更為廣闊的發展空間。資料來源:滴普科技圖8.滴普科技FastData湖倉一體解決方案資料來源:滴普科技 Gartner的研究快速問答:數據湖倉一體是什么?供應商和咨詢公司是數據湖倉一體概念的主要推手,該形勢使得數據和分析領域的領導者考慮使用湖倉一體。但是他們發現很難繼續下去,并且對湖倉一體的概念及可能的用處感到困惑。本快速問答旨在解決此困惑??焖賳柎饠祿}一體是什么?數據湖倉一體是一種融合的數據架構,它結合并統一了部署在單個平臺
81、(通?;谠疲┥系臄祿}庫和數據湖的架構和功能。這種設置使數據和分析行業領導者能夠實現數據湖倉一體的主要益處:降低架構冗余度。統一的湖倉一體架構使設計、維護、優化、數據標準和管理工作更加簡單。因為不需要在平臺之間移動數據,所以可以更早地準備好數據以用于數據倉庫及其相關用例(報告、儀表盤、自助服務、分析等)。對新用例的重新場景化工作將在原地進行。但是,雖然湖倉一體架構在某些方面會有幫助,但該架構并不能顯著減少所需的總體工作,因此可能無法提供預期的好處。要實現湖倉一體的益處,需注意一些事項。例如,單一平臺湖倉一體是經典的“單體架構”(通過犧牲豐富功能來換得簡單性),因此受到單一平臺的限制。湖倉一體
82、可以實現“零復制數據共享”,但前提是所有共享數據都在一個平臺上。與大多數其他架構相比,湖倉一體涉及的供應商數量較?。ㄍǔV簧婕耙粋€供應商,而不是兩個或更多供應商),但這會提高供應商鎖定程度。要成功實現數據湖倉一體架構,主要挑戰是選擇合適的數據平臺,因為很少有平臺能夠同時最優地處理數據湖和數據倉庫。即使有平臺可同時支持這兩者,但通常也會厚此薄彼。更多細節數據湖倉一體的定義和成功取決于其架構設計。因此,我們需要深入了解數據湖和數據倉庫的架構細節,以及湖倉一體如何整合這些細節。集成兩個或更多平臺上的數據湖和數據倉庫會導致冗余度和復雜度在下一節討論為何在單個數據平臺上放置數據湖和數據倉庫會讓組織受益之
83、前,讓我們先看看兩個或更多平臺的集成所產生的冗余度和復雜度。圖1顯示了典型數據湖和數據倉庫的組成部分,其中的數據湖和數據倉庫緊密集成,但位于獨立的數據平臺上。請注意明顯冗余的架構組件。圖1.兩種數據平臺上的數據湖和數據倉庫的參考架構例如,看看在將數據從數據湖平臺移動到數據倉庫平臺時會發生什么。在此場景中,數據通常在數據湖中進行暫存、通過數據集成技術傳輸、進入數據倉庫、進行改進和加載,然后在數據倉庫中做好生產準備。冗余度增加了集成平臺的復雜度和維護工作,減緩了數據移動,并對管理、標準和優化工作構成挑戰。包括數據湖和數據倉庫的數據架構由幾個數據處理區組成,包括提取、進入、處理和暫存。通過在單一平臺
84、上集成數據湖和數據倉庫,可以減少冗余度和復雜度數據湖倉一體架構模式的關鍵點是,減少數據湖-數據倉庫集成的冗余度,如圖2所示。通過將數據湖和數據倉庫置于單個數據平臺(通常是基于云的平臺)上,便無需在兩個或更多平臺之間傳輸數據。單純用于進行此數據傳輸過程的架構組件可取消,或與其他組件合并:由于不進行平臺間數據傳輸,湖倉一體架構的數據湖部分就不需要用于出站數據的暫存區。與此相似,此架構中的數據倉庫區域也不需要用于入站數據的數據進入處理。圖2.單一數據平臺上的數據湖倉一體的參考架構32雖然這些特定暫存區域和進入區域(及其處理的臨時數據集)是多平臺數據架構所必需的,但在單平臺數據湖倉一體架構中可將它們省
85、去,如圖2中所示,其中省去了這兩者。單一云將為所有數據和用例提供共享存儲,因此用于平臺間數據傳輸的管道和提取,以及轉換和加載(ETL)工作也可以省去。所有數據都可以整合到單個改進區域,盡管此區域很可能被組織為許多數據集和流程(因為數據湖倉一體必須支持許多用例)。數據湖倉架構包括數據湖和數據倉庫所需的所有數據區,但與數據湖和數據倉庫的兩個獨立架構相比,數據區重復更少。好處是架構更簡單,占用的存儲空間更少,數據流更直接。關于更復雜的數據湖倉一體架構的表述,請參見探索湖倉一體架構和用例中的圖3。選擇適合的數據平臺是成功之旅中面臨的最大挑戰雖然數據湖倉一體能帶來諸多益處,但其架構也具有潛在的挑戰,必須
86、由數據和分析行業專家予以解決。需要仔細評估平臺,以確定對于各種湖倉一體工作負載,“足夠高”性能的促進因素有哪些。數據湖的范圍。Gartner評估的大多數數據湖都不涉及湖倉一體設計。這些數據湖是獨立的企業級數據設計模式,可為多種用例提供數據,包括分析(從報告到數據科學)和運營(營銷、供應鏈、流程監控)的混合。相比之下,用戶通常更狹隘地在湖倉一體中設計數據湖,使其只支持數據倉庫和由此產生的用例(報告和儀表盤)。因此,通過精心定義湖倉一體中數據湖的范圍,使您的數據湖倉一體設計模式滿足業務需求。該數據湖可能僅限用于某個數據倉庫,也可能廣泛適用于整個企業中的多個用例,或介于兩種情況之間。一種常見的折衷方
87、法是,讓湖倉一體中的數據湖提供數據,來滿足傳統數據倉庫和數據科學計劃中的各種需求。顯然,您還可以將企業級數據湖與數據倉庫集成在一起,前提是兩者位于同一個平臺上,并共享相同的存儲空間。數據湖倉一體架構及其優勢仍可實現。即使在湖倉一體內,用戶也必須保護數據湖,防止其變成數據沼澤。通過管理數據湖、策劃其內容、使用元數據和其他語義記錄數據湖的數據,以及精心組織數據湖存儲作為數據區、存儲桶、原則、文件夾等,數據和分析行業領導者可以提供這種保護。數據湖倉一體架構面臨的另一個挑戰是,大多數數據庫管理系統和其他數據平臺都適合于數據倉庫和數據湖,但很少會同等地適合兩者。3334例如,數據倉庫平臺支持大量不同的并
88、發工作負載和并發用戶;大多數數據湖平臺面向小型數據科學家社區而設計。此外,數據湖平臺支持所有結構、容器和延遲的數據;大多數數據倉庫平臺已針對通過批次、微批次或流加載到表中的關系數據進行了優化。因此,用戶需要通過精心選擇同時具有數據湖和數據倉庫功能與優化的單一平臺,來成功實現湖倉一體架構的兩個組成部分。依據此項研究基于Gartner客戶電話、供應商簡報和Gartner分析師協作。Gartner研究紀要G00765955,Philip Russom,2022年5月17日“湖倉一體演進與實踐”由滴普科技發布。由滴普科技提供的編輯內容與Gartner的分析結果相互獨立。使用任何Gartner調研報告須
89、獲得Gartner的許可,Gartner調研報告最初作為Gartner面向所有具備資格的Gartner客戶的聯合調研服務的一部分發布。2023 Gartner,Inc.和/或其關聯公司。保留所有權利。使用或者出版本出版物中的Gartner調研報告并不表示Gartner認可滴普科技的產品和/或策略。未經Gartner事先書面許可,不得以任何形式復制或分發本出版物。本出版物中包含的信息均取自公認的可靠來源。Gartner不對此類信息的準確性、完整性或適當性做出任何保證。此處表明的觀點隨時可能更改,恕不另行通知。雖然Gartner研究可能會討論相關的法律問題,但Gartner并不提供法律建議或法律服
90、務,不應將其研究解釋為或用作法律建議或法律服務。Gartner是一家上市公司,其股東擁有的公司或基金可能與Gartner調研報告中涉及的實體有財務利益關系。Gartner的董事會成員可能包括這些公司或基金的高級管理人員。Gartner調研報告是由其調研機構獨立完成的,并沒有受到這些公司、基金或其管理人員的介入或影響。如需了解Gartner調研報告的獨立性和完整性的詳細信息,請參閱其網站上的“獨立性和目標的指導原則”。聯系我們如需詳細信息,請通過以下方式聯系我們:關于滴普科技北京滴普科技有限公司()成立于2018年,定位為數據智能服務商。滴普科技以數據智能技術為基礎,以數據的業務價值為核心,為客戶提供數據智能領域的大數據基礎軟件產品與服務。滴普科技的核心產品實時湖倉平臺FastData,全面整合了從數據源、數據分析到數據價值實現的完整鏈路,幫助企業建立統一治理、流批一體、湖倉一體的云原生數據智能平臺,實現海量數據實時分析,成為支撐企業數字化轉型的核心基礎軟件設施。掃描二維碼獲取更多信息。