資料湖(Data Lake)在Wiki中定義如下:

簡而言之,資料湖是按儲存原始資料格式的資料儲存,旨在任何資料可以以最原始的形態儲存,可是結構化或者非結構化資料,以確保資料在使用時可以不丟失任何細節,一般以Hadoop系統儲存為比較典型的解決方案,所有的實時資料和批量資料,都彙總到資料湖當中,然後從湖中取相關資料用於機器學習或者資料分析。一個典型資料湖的結構如下圖所示:

圖1:資料湖儲存著企業各種各樣的資料

(感謝楊欣元同學的配圖)

資料湖的概念被企業中廣泛用於大資料平臺的儲存與使用,替代了原有資料倉儲體系當中的ODS(operational data store)儲存企業中各種各樣的資料。在易觀,SDK的月活達到5.9億,當易觀的資料湖達到6.8Pb都無法儲存半年資料的時候我意識到這個問題:

“這樣真的是對的麼?資料一味的堆積,等待被使用時才呼叫? ”

企業的業務是實時在變化的,這代表著沉積在資料湖中的資料定義、資料格式實時都在發生的轉變,企業的大型資料湖對企業資料治理(Data Governance)提升了更高的要求。大部分使用資料湖的企業在資料真的需要使用的時候,往往因為資料湖中的資料質量太差而無法最終使用。資料湖,被企業當成一個大資料的垃圾桶,最終資料湖成為臭氣熏天,儲存在Hadoop當中的資料成為無人可以清理的資料沼澤,最終以為TCO(Total cost of ownship)過高而被企業所拋棄。

圖2:缺乏資料治理的資料湖會成為資料沼澤

 

這個時候我意識到:

“大資料,不被有效使用就會成為大垃圾。”

 

如何讓大資料的水保持清亮不會成為資料沼澤?中國有句諺語:“流水不腐,戶樞不蠹”。資料只有流動起來,才可以不成為資料沼澤,湖泊只是暫存資料河流的基地。資料流動就意味著所有的資料產生,最終要有它的耕種者和使用者。要讓資料有效流動起來,就要建立有效的“資料河”(Data River)。

“什麼是資料河?”

資料河(Data River)就是在由源頭產生清晰乾淨的有效資料(去ETL化,資料來源頭業務就像生態水源一樣,不讓汙水流下去),通過各個河流網,流向各個資料消費端的架構。

 

資料河的特點如下:

•   源頭有效:根據大資料IOTA架構,資料河在產生的源頭就需要加工為有效的CDM資料(Common Data Model),參見文章《Lambda架構已死,去ETL化的IOTA才是未來》,資料通過資料耕種方和使用方直接在資料產生源頭通過Edge SDK 進行清洗。

 

•   全域性唯一:多條資料河的差別在於CDM模型的不同,而不是使用者的使用方法不同,避免同樣資料來源被多次加工失去資料唯一性。

 

•   高低流向:資料河一定是要有高低流向,即每條河流都需要有確定的使用者,而不是漫無目的的洪水,資料來源頭的質量是通過環境治理由使用者定義的,而不是由產生者,產生者只關注資料是真實即可。

 

•   湖中暫存:資料河一定是基於IOTA架構的實時資料,在CDM模型的支援下,實時流向使用者。資料河在資料湖中只是暫存,一定會流向其他河流和分支,而不會沉積在資料湖中,否則會產生資料淤泥,最終成為資料沼澤。

最終一個企業內部由多條河流組成一個公司內部的資料生態(Enterprise Data Eco System ):

圖3:由資料河組成的公司資料生態

•   資料來源頭(Data Source):資料產生者,確保產生的資料都是真實資料,像冰川雪水一樣確保資料真實性。通過邊緣計算,變為IOTA架構當中的CDM模型,確保CDM全域性唯一,不用管資料業務統計的計算邏輯。

 

•   資料河(Data River):有全域性CDM模型唯一定義的,由資料來源頭流向資料消費者的資料架構,可以使用大資料IOTA架構或者其他類似的去實時資料處理架構。

 

•   資料消費者(Data Cosumer):資料消費方,拿到原始真實的資料,根據自己的業務邏輯,實時計算為自己所需要的結果或者根據資料實時驅動自己的業務。(整體是去ETL化的,參考Lambda架構已死,去ETL化的IOTA才是未來

 

•   資料三角洲(Data Delta):多條資料河交匯使用的地方,需要資料耕種者(Data Cultivators)把兩個不同的CDM模型(例如使用者行為資料的CDM與商品庫存資料的CDM),實時合併,提供給資料消費者實時驅動自己的業務。一般,三角洲的河流交匯越多,這個三角洲的土壤更加肥沃。資料三角洲的耕種,可以通過AI或者機器學習會產生新的資料來源,在新的CDM模型和使用者的支撐下可以是新的資料來源頭(Data Source)。

 

•   資料湖(Data Lake):在河流交匯或者河水需要暫存下來的時候,這是根據資料耕種者的需要,其中的資料一定是要繼續流動的,而不是死水,即資料在資料湖中暫存時間是有限的,例如3個月或者6個月,最終在資料消費者這裡才是永久保留。

這個模式比較典型的一個實現就是易觀方舟,易觀方舟以IOTA架構安裝到企業內部,幫助企業建立使用者行為分析這個CDM的資料河,以“主、謂、賓”的模式打通企業內部使用者的各種行為,直接提供給產品和運營做相關的資料分析,同時也是一個PaaS平臺,可以供給給其他資料耕種者繼續再次加工。

資料河是資料驅動中臺的最終架構,只有讓資料流動起來不斷消費才可以讓資料不斷的自我更新迭代資料質量,不斷自我加強才可以實現資料驅動業務。

資料,只有流動起來才可以產生價值。寧要IOTA架構下的資料河,不要Lambda架構下的資料湖。

來源:易觀