最近幾年,"數據湖"正在被越來越多人提起,盡管各方對數據湖的定義并不統一,但這不妨礙企業紛紛下水實踐,比如亞馬遜、阿里、騰訊、華為等,都在探索建設數據湖。為何眾多企業在"數據湖是什么"上還沒有達成共識的情況下,就開始著手進軍數據湖領域呢?一個可能的原因是,數據湖將代表大數據和AI時代融合存儲和計算的全新體系,特別是數據湖和云原生結合以后,這一趨勢更加明顯。要想理解這一點,還要從數據湖的發展說起。
數據湖的崛起?
2010年Pentaho公司的創始人兼首席技術官詹姆斯·狄克遜(James Dixon)首次提出數據湖的概念。詹姆斯·狄克遜把數據湖中的數據比作原生態的水——它是未經處理的,保留原始結構的。
數據湖中的水從源頭流入湖中,各種用戶都可以來湖里獲取、蒸餾提純這些水(數據)。于是,早期業界和用戶多把數據湖定義為一個集中式的儲存原始格式數據的系統,可存儲任意規模的結構化、半結構化、非結構化及二進制的數據。
隨著大數據技術的融合發展,數據湖的邊界不斷擴展,內涵不斷變化,逐步演變成為集多源異構數據統一儲存、多范式計算分析及統一管理調用的大數據綜合解決方案。
這就讓數據湖與數據倉庫有了很大的不同。
數據倉庫誕生于數據庫時代,它的核心思路是把數據庫眾多數據進行一定格式轉換后,定時地復制到另一個庫里做列式存儲,從而滿足企業查詢和數據分析的需求。
在過去,很多企業的數據以ERP、CRM數據為主,數據規模往往是TB級,企業通常在本地采用數據倉庫解決方案來存儲和分析數據。但數據倉庫這種方式模型范式固定,底層數據無法做到多樣變化。
隨著互聯網的發展,數據量暴增,非結構化數據越來越多,企業業務變化越來越快,數字化轉型成為IT行業的熱點,數據需要更深度的價值挖掘,因此需要確保數據中保留的原始信息不丟失,應對未來不斷變化的需求。
傳統的數據倉庫無法滿足大數據時代企業對于實時、交互式分析等方面的需求,而數據湖擇了"前松后緊"的設計思路,初始化階段放棄嚴格的模式,后置schme,從而獲得更強的靈活性,同時通過統一存儲和計算優化來保證數據的一致性和性能,這就讓數據湖開始在大數據領域逐漸受到關注。
發展至今,數據湖已經不再局限于某個技術、某個軟件產品,而是涵蓋數據湖存儲、數據湖計算、數據湖AI的多元化數據架構,滿足企業級用戶的生產管理需求。
為何數據湖與云原生是最佳組合
隨著以Oracle為代表的數據庫中間件越來越難以滿足企業業務迅速變化帶來的數據處理需求,IT業界不斷地產生新的計算引擎,比如,企業開始紛紛自建開源Hadoop數據湖架構,原始數據統一存放在HDFS系統上,引擎以Hadoop和Spark開源生態為主,存儲和計算一體。
但這種架構的缺點是需要企業自己運維和管理整套集群,成本高且集群穩定性較差。在這種情況下,云上托管Hadoop數據湖架構(即EMR開源數據湖)應運而生。底層物理服務器和開源軟件版本由云廠商提供和管理,數據仍統一存放在HDFS系統上,引擎以Hadoop和Spark開源生態為主。這個架構通過云上IaaS層提升了機器層面的彈性和穩定性,使企業的整體運維成本有所下降,但企業仍然需要對HDFS系統以及服務運行狀態進行管理和治理,即應用層的運維工作。
因為存儲和計算耦合在一起,穩定性不是最優,兩種資源無法獨立擴展,使用成本也不是最優。同時,受到開源軟件本身能力的限制,傳統數據湖技術無法滿足企業用戶在數據規模、存儲成本、查詢性能以及彈性計算架構升級等方面的需求,也無法達到數據湖架構的理想目標。
而云計算可以讓數據湖發揮出最大的價值與作用。云計算擁有極為靈活、彈性和可擴展的計算存儲資源,使得數據的存儲、分析和應用變得無比容易;而數據湖最大的價值在于將企業內各種格式的數據統一匯聚,在一份數據之上進行多種分析,高性價比且高效地挖掘數據價值,特別是數據湖的設計思路與云計算天然契合,因此自2010年數據湖概念被提出以來,云服務商是數據湖概念走向落地的重要推手。
隨著云原生時代到來,當數據湖以云原生(當提到云原生時,很多人的第一反應是Serverless、容器化這些概念,其實近些年來,云原生的概念逐步泛化,涵蓋了很多產品服務,從某種程度上講,云原生是一種分布式系統的設計范式,這種范式具備彈性、安全、穩定等特征)的方式部署時,其強大的性能優勢可以被最大化釋放。
一方面,數據湖上云后可以享受云本身帶來的性能提升,如高可用(相較于自建IDC,云環境擁有更多的資源冗余,一節點發生故障可以無縫切換到其他節點,確保業務的連續性)、彈性(云計算具備動態擴充性與可負擔性,可以解決海量業務帶來的吞吐和IO性能瓶頸,滿足大數據分析所需資源的龐大規模與突發性質的需求)、敏捷(云讓企業從重復、復雜的底層IT工作中釋放出來,同時其模塊化、松耦合的敏捷架構有利于數據產品的快速迭代、部署、運維與創新)。
另一方面,數據湖在云原生的環境中可以做更多性能優化的工作,如豐富的上下文帶來的分析加速,流失處理和批式處理的融合帶來的實時數據價值釋放,一站式數據管理方案帶來的安全和質量改善等。這就讓企業得以有效利用公有云的基礎設施,數據湖平臺也有了更多的技術選擇,比如云上純托管的存儲系統逐步取代HDFS,成為數據湖的存儲基礎設施,并且引擎豐富度也不斷擴展。總之,云特有的"池化、彈性、敏捷"等特性,讓數據層與應用層的很多設想得以實現,擁抱云原生成為數據湖乃至大數據的必然選擇。
展望云原生數據湖的未來
如果對云原生數據湖做一個概括的話,云原生數據湖是大數據計算平臺借助云計算理論發展出來的新技術產品,其支持異構數據靈活存儲、計算資源彈性伸縮,能夠幫助企業應對當前數據結構愈發復雜、數據處理時效性要求不斷變高的業務環境。
也就是說,云原生數據湖只是一種架構原理,其具體實現的方式多種多樣,基于EMR可以做云原生數據湖,基于Flink也可以做云原生數據湖。
不過需要說明的是,雖然中國數據湖技術正在逐年發展與突破,公有云廠商及其他廠商紛紛在嘗試,但目前在數據感知收集及歸類清洗方面存在壁壘和難度,數據湖建模經驗不足。總的來說,我國數據湖市場整體發展處于初期階段,技術路線不統一,業內產品能力良莠不齊。
從應用現狀來看,數據湖在國內的落地還存在許多痛點。
產品層面,數據湖的數據治理能力和全鏈路能力仍需要進一步加強。
就數據治理而言,數據治理要求在目錄中包含數據的分類、規則,如果企業對于數據湖的掌控能力不足,會導致數據湖目錄及整體架構設計不良,湖內數據未得到充分歸檔或維護,容易形成數據沼澤。因缺少上下文元數據關聯,數據沼澤無法進行數據檢索,致使用戶無法有效分析和利用數據。
就全鏈路能力而言,現階段國內可以提供全鏈路云原生數據湖服務的供應商較少,大多廠商僅提供數據湖組件的支持,因此下游需求企業只能采購多家供應商來滿足自身從數據采集治理到分析可視化的需求。
應用層面,云原生數據湖的行業認知和人才培養較為薄弱。人才方面,目前大數據、AI技術棧的發展日新月異,企業缺乏專業人才。從企業內部來看,管理者對數據治理一知半解,若在沒有深入梳理企業業務現狀及需求的情況下盲目搭建數據湖,追求大而全的概念,可能導致數據湖的落地效果不佳。行業認知方面,盡管數據的價值屬性已經獲得業界的廣泛共識,但是選擇觀望的企業仍舊占絕大多數,數據湖在認知和推廣上仍面臨多方面的挑戰。
另外,隨著企業數字化轉型進入深水區,數據已經成為企業的核心生產要素,而數據湖的最大風險之一就是安全性和訪問控制。大量數據在沒有任何監管的情況入湖泊,一旦某些數據包含其他數據沒有的隱私和法規要求,將可能發生數據泄露和遺失,帶來不可估量的后果。
當然,任何一個行業在發展初期都會存在這樣那樣的問題,有不完善的地方恰恰意味著這個行業還有發展的空間。根據艾瑞咨詢的分析,由于國家政策利好,比如國家接連出臺《促進大數據發展行動綱要》《全國一體化大數據中心協同創新體系算力樞紐實施方案》等文件推動大數據產業走向成熟,以及互聯網技術高速發展的驅動、企業數字化轉型加速等因素,預計中國云原生數據湖市場未來會以39.7%的復合增長率快速發展。
所以,云原生數據湖未來的發展前景值得我們期待和關注。
參考資料:https://www.iresearch.com.cn/Detail/report?id=3972&isfree=0