Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
巨量資料浪潮衝擊下的思維
資料倉儲與資料湖泊互補
撰文 | 叡揚資訊 解決方案與新事業發展中心 顧問 林縣城
巨量資料最常被引用的定義是:「資料量
龐大到資料庫系統無法在合理時間內進
行儲存、運算、處理,分析成能解讀的資訊。」
這個定義是相對的,會隨著年代、產業與專業
領域的不同而有所不同。當今許多企業或組織
的業務活動相關的資料,無論其種類、產生速
度與數量都急遽成長,衍生出巨量資料的 4V
特色:巨量(Volume)、快速(Velocity)、變
異(Variety)、正確(Veracity)。在現今資訊
流通快速蓬勃發展的時代,巨量資料帶來效率
與生產力等龐大效益已無庸置疑,企業瞭解若
能深入分析資料,就能發揮龐大資料潛能,讓
決策更迅速、明確與精細,但首先資料管理與
分析工具效率必須大幅提升。
回首來時路
線 上 資 料 交 易 處 理(OLTP,On-Line
Transaction Processing)的關聯式資料庫至今已
30 多年,而線上資料分析處理(OLAP)的資
料倉儲至今也已 20 多年。然而面對巨量資料的
挑戰,如:無法有效處理非結構資料、新的資
料探索及資料挖掘需求、傳統關聯式資料庫及
資料倉儲系統從使用者需求確認、資料模型建
立、資料導入及驗證,曠日廢時,並且很多時
候在蒐集資料的當下,並不確定資料模型該如
何建立,更不用說擴充成本居高不下及受限於
垂直擴充架構等等問題。
過去企業從導入資料庫、資料倉儲、發展商業
智慧,以面對不斷增長的資料及資料應用問
題,隨著時間與科技發展,資料量持續增加、
資料類型漸趨複雜,傳統架構將可能不敷使
用,也促使大家思考新架構的產生。
2011 年富比士雜誌在「Big Data Requires a Big,
New Architecture」一文中提出了資料湖泊這個
新架構,如今企業已開始將巨量資料儲存至採
用 Hadoop 這類技術的資料湖泊,相較於將資
料以資料倉儲(Data Warehouse)模式儲存,
資料湖泊(Data Lake)被廣泛視為巨量資料快
速演進的下一步。
| 叡揚e論壇 第82期 | April 201614
EIS-82.indd 14 2016/4/13 17:17
巨量資料
引發了傳統資料倉儲與資料湖泊之爭
還記得 1990 年代兩位資料倉儲大師 Bill Inmon
及 Ralph Kimball 所引發的架構與方法論之爭
論,即以關聯式資料模型發展的整合式企業資
料倉儲架構與以維度資料模型(Dimensional
data model) 發 展 的 資 料 倉 儲 架 構。 如 今 這
兩 位 大 師 仍 在, 然 而
卻 也 免 不 了 捲 入 資 料
倉 儲 與 資 料 湖 泊 的 主
流 技 術 Hadoop 的 戰
火 中。 與 Kimball 密 切
合 作 的 Hadoop 供 應
商 Cloudera 的 一 段 廣
告〝CLOUDERA-BIG
DATA – Turbocha rge
your data warehouse〞,
挑 起 Inmon 的 反 擊
之 詞〝Tu r b o c h a r g e
Your Porsche – Buy An
Elephant.〞,這也反映出資料湖泊的概念源
自 2010 年 Pentaho 公司技術長 James Dixon 於
個人部落格發表的文章《Pentaho, Hadoop, and
Data Lakes》。資料湖泊架構有別於傳統的資料
倉儲,傳統的資料倉儲的資料通常是品質較高
且是被預先處理過的資料;而資料湖泊架構的
設計是可擷取大量的、各種類型的資料,作為
資料素材的儲存管理,以利分析應用,正因為
資料湖泊架構範圍更廣、在資料分析上擁有更
多彈性,很適合做為導入巨量資料分析應用的
架構藍圖。
資料湖泊資料可包含各式的 MPP 資料庫、In-
Memory 資料庫及 HDFS 分散式儲存資料庫,
各種來源、各類型的資料在資料湖泊經由不同
方式的儲存、處理、淨化、管理後,有彈性的
產出各種分析資料。不同的是,資料湖泊可同
時包含「未被清理的資料」(Unclean Data),
保持其最原始的形式,故分析者可取得最原始
模式的資料,以減少資源上處理數據的必要,
讓來自各機關的資料來源更易於結合。
資料湖泊主要有四點特性:以低成本保存巨
量 資 料(Size and Low Cost)、 維 持 資 料 高
度 真 實 性(Fidelity)、 資 料 易 取 得(Ease of
Accessibility)及資料分析富彈性(Flexible)。
資料湖泊的成長模型
根據 2014 年 1 月富比士雜誌的「�e Data Lake
Dream」一文,提到資料湖泊的發展成熟度可
分為四個階段,以幫助瞭解發展資料湖泊發展
到極致會達到的狀態,並對比目前的現況屬於
哪個階段,如下頁表一。
目前大部分企業仍處於尚未導入時期;有些開
始導入 Hadoop 的企業則處於剛導入階段;僅
April 2016 | 叡揚e論壇 第82期 | 15
EIS-82.indd 15 2016/4/13 17:17
少數公司如 Google 及 Facebook 等因其資料規
模大到需要高效率的資料處理架構而發展至最
後極致階段。不論現在每個企業身處哪個階段,
展望未來,資料湖泊的概念將持續引導企業建
構滿足面對巨量資料挑戰的資料處理架構。
攜手向前行─
資料倉儲與資料湖泊互補
姑且不論後續爭論如何,短期內資料倉儲與
資料湖泊仍將各有擅長。Cloudera 創始人之一
Mike Olson 認為:「新一代資料庫技術,並不
表一、資料湖泊的成長模型(紅色代表應用系統及資料庫,綠色方形代表資料倉儲)
階段 圖例 特徵說明
1尚未導入
● 所有應用系統及其資料庫都各別獨立
● 僅部分應用系統資料被轉載到資料倉儲
● 資料分析者主要透過資料倉儲進行資料分析與報表
產出
2開始導入
● 應 用 系 統 開 始 將 部 份 資 料 庫 資 料 轉 載 到
Hadoop
● Hadoop開始透過 MapReduce執行批次處理資料工作
● Hadoop擔負執行 ETL(資料萃取、轉換、讀取)工作,處理過的資料轉載到資料倉儲
● Hadoop處理好的資料傳回應用服務資料庫
3成長中的
資料湖泊
● 將新建置的應用系統資料大都儲存到 Hadoop
● 應用系統透過 Hadoop進行串接,使用彼此的資料
● 透過資料分析語言或工具(如:R、Impala,Greenplum,Spark等) 與 Hadoop進行互動式分析查詢
● Hadoop成為所有資料的匯集地,資料治理(Data Governance)與詮釋資料(MetaData)變得非常重要
● 資料倉儲漸漸淡出,僅供舊有或特殊需求使用
● 外部資料來源也整合儲存至 Hadoop
4資料湖泊與
雲端應用
● 所有新應用系統全都建立在 Hadoop應用平台上
● Hadoop成熟成為彈性的分散式運算平台並提供營運與分析功能
● 資料湖泊增強資料安全與資料治理功能
● 資料可用性提昇,應用系統的部署時間縮短
● 部份應用系統因其特殊及歷史需求仍維持獨立運行
| 叡揚e論壇 第82期 | April 201616
EIS-82.indd 16 2016/4/13 17:17
會去破壞現有大企業習於使用的 OLTP 及 OLAP
等結構化資料處理與分析的市場。」現階段大
家最關心的議題是兩者是否可以互補,所幸這
個議題在業界已逐漸呈現較為一致的思維。
首先對於穩定結構化的資料且需要高效率資料
查詢及分析的工作,仍以資料倉儲的方式建
置。而對於非結構資料、新的資料探索及資料
挖掘需求、不確定資料模型,以及解決擴充
成本居高不下及受限於垂直擴充架構等問題,
則可以思考 Hadoop 在資料倉儲環境中扮演資
料倉儲優化的角色,其主要透過如表二中的
四種方式來彌補資料倉儲的不足。
表二、Hadoop在資料倉儲環境中扮演資料倉儲優化的方式方式 圖例 特徵說明
1
使用 Hadoop來存儲歷史冷資料(Cold Data)
2
使用 Hadoop作為資料臨時區域(Staging Area)
3
使用 Hadoop作為一個額外的資料倉儲資料庫
4
使用 Hadoop卸載原來在資料倉儲中的 ETL處理作業
April 2016 | 叡揚e論壇 第82期 | 17
EIS-82.indd 17 2016/4/13 17:17