資料作為一項重要資產,已經成為企業的共識,為了更好地儲存資料、挖掘資料,企業需要:
· 一個超級大的儲存庫,對資料進行長期的原樣的儲存;
· 能夠對這些資料高效地管理與集中治理;
· 需要強大的計算能力滿足資料處理需求。
假設有這樣一種解決方案:在一種技術的支援下,企業在快速實現企業中各類的資料整合的同時,也能輕鬆獲取企業外部資料,打通產業鏈上下游資料,實現生態化資料整合,實現全貌資料分析。同時,資料儲存量大,支援批量歷史資料和實時流資料的處理,能夠實現資料的快速查詢和高階分析。
這樣的解決方案,你是否會心動?
其實,這個方案,通過資料湖就能實現。
一、什麼是資料湖?
資料湖概念的提出,最早是在2010年,由Pentaho的創始人兼CTO詹姆斯·狄克遜(James Dixon)在紐約Hadoop World大會上提出的,就在當時,釋出了現在被大資料界廣泛使用的開源框架Hadoop的第一個版本。
近兩年,隨著大資料、雲端計算等技術的發展與成熟,資料湖再次被人們提起,人們對原始資料的分析、非結構化資料的分析的應用也越來越多,資料湖開始走向企業的實際應用中。
資料湖的定義:資料湖是一個以原始格式(通常是物件塊或檔案)儲存資料的系統或儲存庫。資料湖通常是所有企業資料的單一儲存,用於報告、視覺化、高階分析和機器學習等任務。資料湖可以包括來自關係資料庫的結構化資料(行和列)、半結構化資料(CSV、日誌、XML、JSON)、非結構化資料(電子郵件、文件、pdf)和二進位制資料(影象、音訊、視訊)。
二、資料湖誕生的原因
資料湖概念的誕生,源自企業面臨的一些資料挑戰,包括資料的源頭、儲存、共享和使用。
最開始的時候,企業內部外部有大量的應用系統,每個應用系統會產生、儲存大量資料,而這些資料並不能被其他應用系統使用,這種狀況導致資料孤島的產生。
隨後資料倉庫應運而生,應用程式產生的資料經過清洗轉換後儲存在一個集中式的資料倉庫中,可根據需要按照許可權供企業內部使用。但是資料倉庫的主題式儲存方式又造成了一個一個"資料煙囪",增加了資料在不同組織間的共享困難;資料只新增不修改(刪除)特性,又使得資料在及時性方面無法滿足當前企業的需求。
之後是資料中臺的出現,解決了主題式的儲存方式與及時性問題,為前端的資料使用與共享提供了很好的條件。但是企業在應用資料中臺一段時間後,又發現了新的問題:一是資料抽取清洗複雜,成本高,原有資訊系統資料庫可能是SQLServer、Oracel、MySql、Hadoop等,資料維護人員需要懂得所有資料庫,並在資料發生錯誤時,能迅速定位並解決問題;二是資料使用人員只知道資料來自於資料中臺,而不知道源系統在哪裡,資料有什麼限制等(比如銷售資料可能只有直營店資料,沒有加盟店資料)。三是資料無法追溯到源系統,因為資料中臺資料儲存格式等與源系統不同,造成了資料使用人員向下進行資料追溯時無法追蹤到源頭。
為了解決前面提及的各種問題,企業有很強烈的訴求搭建自己的資料湖,資料湖不但能儲存源資訊系統的資料,也能儲存清洗處理過的資料;既能儲存結構化資料,也能儲存非結構化資料,並且能在它們之上做進一步的處理與分析,產生最終結果供各崗位人員或者程式使用。
三、資料湖的架構
從架構上來看,資料湖的主要特徵有:
· 資料接入:資料湖提供各種型別資料的接入,包括資料庫中的表、各種格式的檔案、資料流、ETL工具轉換後的資料、應用API獲取的資料等等,並自動生成元資料資訊。
· 資料儲存:資料湖儲存的資料量大、來源多,並且是以原始格式儲存,不同於資料倉庫的結構化儲存方式,資料湖以自然格式儲存資料。
· 資料處理:支援資料的驗證、清洗、聚合、許可權管理以及資料安全等。
· 資料應用:除了BI、報表分析、視覺化分析、高階分析外,也適用於機器學習。
資料湖本質上是一套先進的企業資料架構。
四、資料湖和資料倉庫有什麼區別呢?
在這裡,我們拿資料湖和熟知的資料倉庫進行對比,方便大家對資料湖進一步理解。
通過對比,我們可以看到資料湖相比於資料倉庫,不僅在資料來源上更豐富,資料也不需要提前進行定義,在準備使用資料時再定義即可,這提高了資料的靈活性與可擴充套件性。
資料湖在未來的使用中應用範圍更廣,使用場景也得到了大大的拓展。
五、資料湖能夠給企業帶來哪些價值?
通過對資料的分析與應用成功創造商業價值的企業,將會在數字化浪潮下越走越遠。資料湖的核心價值是為企業帶來了資料平臺化運營機制,真正幫助企業實現技術轉型,應對快速發展的商業環境下層出不窮的新問題。據Aberdeen 的一項調查顯示,實施資料湖的組織比同類公司在有機收入增長方面高出 9%。
資料湖對企業的價值主要體現在:
1、儲存原始資料,企業資料保真可追溯
資料倉庫儲存的資料都是結構化處理後的資料,而非原始資料,且無用資料不會被納入。但是目前看來"無用"的資料是否真的沒有用處呢?其他格式的資料是否沒有價值?有用無用依賴的是我們業務人員的經驗來判斷的,這明顯不符合大資料的原則,而資料湖能夠儲存原始資料,同時過程資料會不斷的完善、演化,以滿足業務的需要,保證使用者能獲取到各個階段的資料。
2、打破資料孤島,實現資料互通
有的企業先後上線了ERP系統、CRM系統、OA系統等,企業的資料分別儲存在這些系統中,資料之間互不相通,而資料湖可以容納所有系統的資料,同時也能夠充分利用企業外部資料,打破資料孤島,整合企業全貌資料。
3、支援實時資料,提高運營效率
物聯網 (IoT) 引入了更多方式來收集有關製造等流程的資料,包括來自網際網路連線裝置的實時資料。資料湖支援對實時和高速資料流執行 ETL 功能,並對機器生成的 IoT 資料進行分析,從而能夠協助企業發現降低運營成本、提高運營效率的方法。
4、實現資料探勘,驅動價值增長
資料湖統一管理所有資料,通過資料湖能夠輕鬆實現對資料的搜尋、查詢、計算和訪問,結合機器學習和深度學習能夠為企業構建更多優化後的運營模型,進行資料探勘和資料分析。資料湖還會跟蹤和確認資料血統,這有助於確保資料值得信任,還會快速生成可用於資料驅動決策的 BI,提供企業級資料服務,驅動企業的價值增長。
5、靈活可拓展,支援敏捷開發
由於資料湖採用的是分散式架構部署,具有很高的拓展性。相比於傳統集中儲存式,資料湖具有更高的靈活性和敏捷性,當需要修改或增添新單元時,無需對資料湖進行大規模改變,能夠在短時間內(如幾天或幾周)實現。
六、資料湖的發展前景
目前,資料湖與雲端計算技術的融合成為一種趨勢,由於資料湖的特性與優勢,資料湖在企業資料儲存、處理和分析上將扮演更重要的角色。
一方面,雲端計算具有高效的運算能力,在原有伺服器基礎上增加雲端計算功能能夠使計算速度迅速提高,為企業帶來了更多的管理便捷性;
另一方面,雲端計算採用虛擬化、多租戶等技術,將資源放在虛擬資源池中統一管理,在一定程度上優化了物理資源,使用者不再需要昂貴、儲存空間大的主機,降低企業對IT基礎設施的成本,為企業帶來了巨大的經濟性。
資料湖+雲端計算,兩大技術融合使用,將大資料計算部署在雲上,把儲存資源與計算資源獨立開來,實現計算和資料各自獨立擴充套件,彈性伸縮。
當前,資料湖架構已經在公有云上得到了較完美的實現和應用,企業上雲已經成為一種發展趨勢,將會有越來越多的企業通過上雲服務來提升自己的競爭力。