數據湖這一律念,最先是在2011年由CITO Research網站的CTO和做家Dan Woods首次提出。其比喻是:若是咱們把數據比做大天然的水,那麼各個江川河流的水未經加工,源源不斷地匯聚到數據湖中。業界便對數據湖一直有着普遍而不一樣的理解和定義。「數據湖是一個集中化存儲海量的、多個來源,多種類型數據,並能夠對數據進行快速加工,分析的平臺,本質上是一套先進的企業數據架構。」數據庫
"數據湖"的核心價值在於爲企業提供了數據平臺化運營機制。隨着DT時代的到來,企業急需變革,須要利用信息化、數字化、新技術的利器造成平臺化系統,賦能公司的人員和業務,快速應對挑戰。而這一切的數據基礎,正是數據湖所能提供的。安全
數據湖自己,具有如下幾個特色:服務器
海量原始數據集中存儲,無需加工。數據湖一般是企業全部數據的單一存儲,包括源系統數據的原始副本,以及用於報告、可視化、分析和機器學習等任務的轉換數據。數據湖能夠包括來自關係數據庫(行和列)的結構化數據,半結構化數據(CSV,日誌, XML, JSON),非結構化數據(電子郵件,文檔, PDF)和二進制數據(圖像,音頻,視頻)。也就是數據湖將不一樣種類的數據匯聚到一塊兒。網絡
使用者按需處理,不須要移動數據便可計算。數據庫一般提供了多種數據計算引擎供用戶來選擇。常見的包括批量、實時查詢、流式處理、機器學習等。架構
數據湖提供靈活的,面向任務的數據編訂,不須要提早定義數據模型。併發
任何事物都有兩面性,數據湖有優勢也一樣存在些缺點。機器學習
優勢包括:高併發
缺點主要體如今:工具
數據湖建設思路從本質上顛覆了傳統數據倉庫建設方法論。傳統的企業數據倉庫則強調的是整合、面向主題、分層次等思路。其二者並非對等的概念,更可能是包含;即數據倉庫做爲數據湖的一類「數據應用」存在。二者可從如下維度進行對比:oop
這是兩種大相徑庭的數據處理方法。由於數據湖是在數據到使用時再定義模型結構,所以提升了數據模型定義的靈活性,可知足更多不一樣上層業務的高效率分析訴求。
還有不少方面,咱們經過下圖簡要對比。
數據湖的技術實現,與大數據技術緊密結合。
雲計算採用虛擬化、多租戶等技術知足業務對服務器、網絡、存儲等基礎資源的最大化利用,下降企業對IT基礎設施的成本,爲企業帶來了巨大的經濟性;同時雲計算技術實現了主機、存儲等資源快速申請、使用,則一樣爲企業帶來了更多的管理便捷性。在構建數據湖的基礎設施時,雲計算技術能夠發揮很大做用。此外,像AWS、MicroSoft、EMC等均提供了雲端的數據湖服務。
近些年,人工智能技術再一次飛速發展,訓練和推理等須要同時處理超大的,甚至是多個數據集,這些數據集一般是視頻、圖片、文本等非結構化數據,來源於多個行業、組織、項目,對這些數據的採集、存儲、清洗、轉換、特徵提取等工做是一個系列複雜、漫長的工程。數據湖須要爲人工智能程序提供數據快速收集、治理、分析的平臺,同時提供極高的帶寬、海量小文件存取、多協議互通、數據共享的能力,能夠極大加速數據挖掘、深度學習等過程。
傳統方式下,數據治理工做每每是在數據倉庫中。那麼在構建企業級數據湖後,對數據治理的需求實際更強了。由於與」預建模」方式的數倉不一樣,湖中的數據更加分散、無序、不規格化等,須要經過治理工做達到數據」可用」狀態,不然數據湖極可能會」腐化」成數據沼澤,浪費大量的IT資源。平臺化的數據湖架構可否驅動企業業務發展,數據治理相當重要。這也是對數據湖建設的最大挑戰之一。
數據湖中存放有大量原始及加工過的數據,這些數據在不受監管的狀況下被訪問是很是危險的。這裏是須要考慮必要的數據安全及隱私保護問題,這些是須要數據湖提供的能力。但換種角度來看,將數據集中在數據湖中,實際上是有利於數據安全工做的。這要比數據分散在企業各處要好的多。
在數據接入方面,需提供適配的多源異構數據資源接入方式,爲企業數據湖的數據抽取匯聚提供通道。提供以下能力:
許多企業一般忽略數據積累的價值,數據須要從企業的各個方面持續的收集、存儲,纔有可能基於這些數據挖掘出價值信息,指導業務決策,驅動公司發展。所以數據湖須要提供的核心能力之一就是存儲能力。經過一套數據存儲池,可有效解決企業中的數據煙囪問題,提供統一的命名空間,多協議互通訪問,實現數據資源的高效共享,減小數據移動。固然數據在湖中也不能無序存放,這裏須要有個數據生命週期的概念。須要根據數據的不一樣階段,根據其價值、成本因素,設計可行的存儲方案。
數據湖須要提供多種數據分析引擎,來知足數據計算需求。須要知足批量、實時、流式等特定計算場景。此外,向下還須要提供海量數據的訪問能力,可知足高併發讀取需求,提升實時分析效率。
在基本的計算能力之上,數據湖需提供批量報表、即席查詢、交互式分析、數據倉庫、機器學習等上層應用,還須要提供自助式數據探索能力。
做者:韓鋒
首發於公衆號《韓鋒頻道》,歡迎關注。
來源:宜信技術學院