財經統計湖;中南財經統計學
數據湖是現在的一個熱點,在大廠迅速普及,可在傳統企業卻不溫不火,有點冰火兩重天的意思,為什么?
為了更好的理解這篇文章,建議大家可以先讀讀我這篇普及數據湖的文章《到底什么是數據湖?全面解讀數據湖的緣起、特征、技術、案例和趨勢》。
1、數據湖容易望文生義,導致雷聲大雨點小
在我第一次接觸數據湖的時候,就望文生義:“什么?把所有東西亂七八糟都扔到一個地方,這也叫一種技術?應該叫數據沼澤吧”,相信很多做數據倉庫的朋友第一次聽到這個名詞,會跟我有同樣的反應。
有一次參加合作伙伴大會,正好有展示數據湖的,然后我就問講解員:“這個數據湖有什么特點?” 然后講解員跟我說了一堆數據倉庫的東西,核心意思就是匯聚數據。然后我問:“這個跟數據倉庫又有什么區別?” 講解員又扒拉了老半天,我就知道其實他也不知道。
數據湖這個概念在大廠的節奏下莫名其妙的飛起來了,有一天公司同事給我發了一段老大要講的話,里面提到了數據湖,問我們是否已經有數據湖了,老大的報告里提數據湖是不是合適?
我趕緊到網上查了數據湖的來龍去脈,發現hadoop算是一種數據湖的形式,但當初建hadoop的時候,可沒人說這是數據湖啊。數據湖顯然不是簡單的數據收容箱,技術內涵遠不是hadoop所能囊括的,心里就慌得一比,不知道它到底能給企業帶來什么增值價值。
由于數據湖的概念大家混淆不清,很容易眉毛胡子一把抓的說成就是將所有數據匯聚在一個地方的簡單技術,大多數老板會認為自己建設的大數據平臺就是數據湖,如果都是這種認知,那的確沒有再建設的必要了。
大廠想普及數據湖,傳統企業巋然不動,顯然跟概念沒講清楚有一定關系,同樣是數據歸集和整合,數據湖相較于數據倉庫,境界顯然要高很多,但到底高在哪里?想想我這個搞數據技術10多年的人都對其一臉懵逼,更何況一般的人?
2、數據湖技術門檻較高,標準化水平卻不高
數據湖有六個特點:保真性、靈活性、可管理、可分析、可追溯、可存儲,特點多了,一方面可以說是功能強大,另一方面也說明了技術復雜性,讓我們很難清晰判定什么樣的平臺才有資格叫作數據湖。
就拿保真性來說,其是這么描述的:“數據湖中對于業務系統中的數據都會存儲一份“一模一樣”的完整拷貝。與數據倉庫不同的地方在于,數據湖中必須要保存一份原始數據,無論是數據格式、數據模式、數據內容都不應該被修改。在這方面,數據湖強調的是對于業務數據“原汁原味”的保存。同時,數據湖應該能夠存儲任意類型/格式的數據,包括結構化、半結構化和非結構化數據?!?/p>
那么,原系統的實時數據如何保真到數據湖呢?
這個技術就復雜了,比如數據寫入數據湖的時候要保證ACID,要高效支持upsert /delete歷史數據,要能容忍數據頻繁導入文件系統上產生的大量的小文件(顯然HDFS就不行了)。
Delta、iceberg和hudi等開源數據湖就是一些特定技術解決方案,但傳統企業連hadoop生態還沒搞通搞透呢,又搞出這么多技術,而且還沒有統一標準,的確令人頭大。
然后國內的大廠又基于開源的數據湖技術搞出了自己的數據湖,無論是騰訊的基于iceberg的Flink+Iceberg 企業級實時數據湖,還是阿里的基于hudi的湖倉一體,真是亂花漸欲迷人眼啊,但這個時候大多企業估計連數據湖還沒整明白吧。
3、數據湖理念比較超前,大規模普及尚需時日
10多年前自助BI就已經提出來了,包括自助取數,自助報表等等,其核心理念是業務人員能基于自助BI的產品自己操控數據,從而提升業務響應速度。但10多年過去了,現在的傳統企業有多少比例的業務人員能夠自己取數分析?
客觀來講,比10多年前有進步,但自助BI對于大多數企業的業務人員仍然是奢侈品一樣的存在,一方面受限于企業的數字化水平,另一方面也受限于企業的數據文化,也許,只有等這一代的業務人員退休了,自助BI才能占據主流。
自助BI的數據模型好歹還是數據倉庫預先生成的,但數據湖就更加激進了,從數據采集、建模、挖掘到分析,所有工作都需要業務人員基于數據湖提供的工具來完成,因為數據湖倡導者認為只有這樣才能更快捷的響應市場需求。
如果說數據倉庫分層建模是計劃經濟的話,那數據湖就是一種市場經濟了,如果說自助BI是產品層面的創新,那數據湖就是全新升級版了,是對傳統數據倉庫服務模式的一種顛覆。
數據湖的始作俑者是亞馬遜,我不知道這個企業自己有多少人在用,但人家企業的數字化水平高是肯定的,國內的大廠也差不多吧,但對于大多數企業來講,數據湖倡導的理念實在是有點超前。
20多年前,數據倉庫是很多巨無霸企業的技術狂歡,但當時的業務人員根本不知道建這個玩意有什么價值,也許我們還要再等10-20年,才能真正領悟數據湖的真諦,歷史,總是在不停的重復吧。
4、數據湖是數庫技術的升級,但不具備不可替代性
老板問我:“我們到底要不要數據湖?” 我說:“場景太少,即使需要,也有替代方案,雖然不是很完滿!”
數據湖有一種典型的應用場景,就是需要實時寫海量數據進數據庫然后能實時分析統計,很多大屏都需要用到這個技術,我想諸如Flink+Iceberg 等數據湖技術引擎肯定是比較完美的解決方案。
但我安排幾個技術人員一周也搞定了,采用的是Flink+HTAP,雖然加載速度、查詢速度并不是毫秒級,但對于大多數場景夠用。
數據湖專業人士會跳出來說這個方案有很多問題,比如HTAP無法支持多種存儲引擎和計算引擎等等,但在這個場景下,不會追求通用的技術方案,而是盡量選擇符合企業技術現狀、性價比更高的方式。
數據湖總結下來有六大技術特點,包括(1)同時支持流批處理(2)支持數據更新(3)支持事務(ACID)(4)可擴展的元數據(5)支持多種存儲引擎(6)支持多種計算引擎等等。
對于大多數企業,如果要為這些技術去找特定應用場景,并不是很好找,不信你找找看,即使找到了,估計用到其中的1-2個技術能力就可以了,而滿足1-2個條件的肯定有其他的替代品。
5、數據湖替換成本較大,無法保護原有的投資
從保護企業的固有資產投資的角度來講,如果你已經建設了大數據平臺,現在選擇數據湖并不是明智之舉,當然新建另當別說。
在我們剛建設完成hadoop大數據平臺后,面臨的質疑聲是很多的,因為業務人員并沒有看到什么顯性的價值,因此花了巨大的代價去建設基于Hadoop的數據管理體系,包括端到端的一體化工具鏈等等。
對于大多數企業來講,要用好Hadoop,Hadoop周邊生態體系的建設比hadoop建設本身更為重要,大家都聚焦到了如何讓大數據平臺發揮出應有的價值上來,這是好事情,而且完成hadoop大數據平臺建設也不過4-5年,從保護投資的角度講,這是理性的,不能這山望著那山高。
況且,Hadoop某種程度算是剛需,因為不采用它,海量數據根本處理不了,當然這種剛需也僅是針對擁有PB級別數據的企業來講的,而數據湖顯然還不是,它的技術緣起于解決某些特定場景,反正我想好了老半天,都沒找到必需使用它的理由。
最后,即使要采用數據湖,實施的難度不小,因為數據湖為了達成那六種技術能力,需要用到一種存儲中間件,對下統一對接各種存儲,對上統一對接各種技術引擎,這實在是太折騰了。
當然也許我說得都是錯的,那5年后再回過頭來看吧。
轉載自公眾號 大魚的數據人生