2014年10月3日 星期五

什麼是大數據的新架構「資料湖泊」?

隨著資訊科技的發達,企業開始面臨大量數據的儲存問題。過去許多企業從導入資料庫,到導入 資料倉儲,甚至商業智慧。以面對不斷增長的資料以及資料的應用問題,但資料持續增加,傳統架構將可能不敷使用。

因此有個新名詞「資料湖泊(Data Lake)」(又稱數據湖泊、DL)因應而生。該名詞於2011年最早出現在富比士(Forbes)雜誌,「Big Data Requires a Big, New Architecture」一文中。

資料湖泊(Data Lake)有別於我們提到的資料倉儲(Data Warehouse),資料倉儲(DW)的資料通常是品質較高,且是被預先處理過的資料。而資料湖泊(DL)則是儲存大量且龐雜的資料,作為資料素材(Data Material)的儲存池(Pool),以便未來分析使用。

因此資料湖泊(DL)使資料科學家在資料分析上擁有更大的分析彈性。

資料湖泊(DL)被提起後,EMC也開始使用這個名詞進行大數據產品的推廣。

今年1月富比士(Forbes)雜誌的「The Data Lake Dream」一文中,提到了資料湖泊(DL)成熟度的分為四級,筆者將圖片重新翻譯繪製並整理如下:

圖一:資料湖泊成熟度第一級

首先是成熟度第一級「尚未導入DL」,紅色為應用服務(資料庫),綠色為資料倉儲,部分資料間互相串接,部分資料傳遞到資料倉儲進行分析。該架構也是目前企業普遍的資料架構,各個資料庫相互獨立,只有少部分資料庫整理資料後,傳到資料倉儲做分析應用。此成熟度有3個重點:
  1. 企業所有應用服務(資料庫)都各別獨立。
  2. 僅部分資料庫將資料傳遞到資料倉儲。
  3. 資料科學家透過資料倉儲進行資料分析。

圖二:資料湖泊成熟度第二級

當進入到成熟度第二級「導入Hadoop」,紅色為應用服務(資料庫),綠色為資料倉儲,藍色為Hadoop、深藍色為資料分析器。這時候資料庫開始把部分資料往Hadoop進行傳遞,資料科學家可透過Hadoop進行ETL(資料萃取、轉換、讀取),提升分析效率。本成熟度4個重點:
  1. 企業的應用服務(資料庫),開始將部份資料儲存到Hadoop。
  2. Hadoop開始透過MapReduce處理資料。
  3. 資料科學家使用Hadoop進行ETL接著放到資料倉儲或開發資料分析器。
  4. Hadoop處理好的資料傳回應用服務(資料庫)
圖三:資料湖泊成熟度第三級

進展到成熟度第三級「資料不斷增長的資料湖泊」,紅色為應用服務(資料庫),綠色為資料倉儲,藍色為Hadoop、深藍色為資料分析器。這階段Hadoop可以說是扮演資料中心的角色,負責儲存巨量、龐雜、高不確定的資料。本成熟度有4個重點:
  1. 所有應用服務(資料庫)都以Hadoop為中心進行串接。
  2. Hadoop開始整合外部的資料來源。
  3. 透過資料分析語言或工具(如:R、Python、Impala, Greenplum, Spark等) 與Hadoop進行互動。
  4. Hadoop成為所有資料儲存的目的地,以便利企業進行資料治理(Data Governance)。


圖四:資料湖泊成熟度第四級

最後到成熟度第四級「資料湖泊與應用雲端平台」,目前只有少部分公司的資料規模可以做到,像是Google、Amazon、Alibaba、Facebook,因為這類型企業的資料已經大到一個規模,需要高效率的資料處理架構。這時候企業應用服務(APPs)的資料存取大部分都由Hadoop這邊作互動。在這個階段主要強調資料安全(Data Security)與資料治理(Data Governance)的部分,進行加強。本成熟度有4個重點:

  1. 所有的新的應用服務全都建立在Hadoop的平台上。
  2. 新的應用服務的資料庫佈署時間將減少。
  3. Hadoop成為分散式的資料運算平台,運用於資料管理與分析。
  4. Hadoop強化資料安全與資料治理的功能。
最後筆者整理了資料庫、資料倉儲、資料湖泊三個不同特性比較給大家參考。

表:資料科學實驗室整理

上述表格,可以讓我們快速了解這些不同的名詞之間的差異。在企業中,面對大數據的浪潮,除了掌握上述的成長模式,也要依據資料庫、資料倉儲、資料湖泊的特性,分別將這些資料儲存模式定位,賦予不同的任務。

至於資料湖泊一定要用Hadoop嗎? 筆者的回答是不一定,就好像現在SQL Database有Oracle、MySQL、MS SQL等,NoSQL Database有MongoDB、CouchDB等,永遠都有很多選擇。只是目前Hadoop是國際間處理大數據較為穩定的技術,國外近年的新創公司也都採用Hadoop協助企業做資料管理。

筆者認為只要掌握前面四級的資料湖泊成長模式,相信企業就可以很快掌握大數據的處理方向,至於使用什麼技術,技術的特性是什麼,下回再談。先讓我們一起迎接充滿數據的未來吧!

參考資料: