Data WH & Lake

差異點

Data Lake可包含「未被清理的資料」(unclean data),保持其最原始的形式

資料湖泊則不會預先定義蒐集資料的用途,原始資料直接進入資料湖泊,因此還需花較長時間清理、運算、探索等流程,才能提供商業洞察;但也因為這樣的特性,資料湖泊的應用情境相對廣泛彈性,除了分析報表應用之外,原始資料也更容易被用於 AI 與機器學習。

Data Lake主要有四點特性

維持資料高度真實性(Fidelity)

資料易取得(Ease of accessibility)

以低成本保存巨量資料(Size and low cost)

資料分析富彈性(Flexible)

儲存超過百萬筆病患資料的加州大學歐文分校醫療中心(UC Irvine Medical Center)即以Hadoop架構為技術建立了一個Data Lake,該中心能以最原始的形式儲存各種不同的紀錄數據直到日後需要被分析之時,可協助維持資料的來源與真實性,並得以不同形式的醫療數據進行分析項目,例如患者再住院可能性的預測分析。

Data Lake風險

安全性和檢視權限上也有一定的風險

尤其是醫療保健領域,因為這意味著病患的資料在個資生命週期裡隨時可被取得,因此資訊的取得應被嚴密控制以維持各層級的安全與保障,在建立安全的Data Lake之前,必須審慎考慮誰有資訊檢視權限以及透過什麼媒介取得Data Lake中的資料等問題

Data Lake簡易定義

Data warehouse簡易定義

資料湖泊是指儲存所有結構化、非結構化及其他類型的大量資料來源

資料倉儲則是常用於商業深入解析的資料庫。也就是說,資料倉儲以企業活動為關注焦點,藉以提升組織的績效表現

資料湖泊的目的是提供符合成本效益的大數據儲存空間決策。

資料倉儲的目的則在分析資料,以資料為基礎進行商業決策。

資料湖泊適合資料科學家及工程師使用資料倉儲則更為商業導向,因此商業分析師及資料分析師為最適合的使用者。

資料湖泊適合資料科學家及工程師使用

資料湖泊中包含許多未排序的資料,這樣的特性帶來更多彈性,適合進行機器學習以及大量資料分析。因此,有了資料湖泊,您便可以儲存大數據 (我是指真正「大量」的資料),並運用深度學習和其他機器學習模型

資料倉儲則旨在幫助分析師從已排序的歷史資料中更加深入地進行解析,因此您可以透過資料倉儲彙總並摘要資料。

資料倉儲是企業為了特定分析目標而設計;設計架構前會先與企業溝通,經 ETL 後的資料可快速查詢使用,常應用在 BI、視覺化、營運分析等;因為資料已按業務邏輯整理好,它也能提供資料科學家分析前的一些基本探勘,作為了解業務營運的入口。

不是產品而是概念

就跟資料倉儲一樣,資料湖泊只是一種概念而非技術。我們可以使用許多技術來建構資料湖泊,但本質上,資料湖泊的意義是一種資料儲存的策略。

當資料倉儲的儲存成本模型不適合某些大規模的資料輸入情境時,資料湖泊就可以派上用場。此外,資料湖泊不需要使用者在取得資料前事先建立好資料結構 (schema),它可以最簡單的方式輸入資料,並在讀取資料時才建立及套用資料結構。

特性

經過整合

不會流失

主題導向

依循時間變動

資料倉儲可以分析特定主題或功能領域 (如銷售) 的相關資料

資料床在來自不同來源的不同資料類型之間創造出一致性

資料進入資料倉儲後,便穩定不會變動

資料倉儲分析會隨著時間變動

Hadoop

是一個叢集系統(cluster system),也就是由單一伺服器擴充到數以千計的機器,整合應用起來像是一台超級電腦。而資料存放在這個叢集中的方式則是採用 HDFS 分散式檔案系統(Hadoop Distributed File System)

透過 HDFS,Hadoop 能夠儲存上看 TB(Tera Bytes)甚至 PB(Peta Bytes)等級的巨量資料,也不用擔心單一檔案的大小超過一個磁碟區的大小,而且也不用擔心某個機器損壞導致資料遺失

Hadoop 生態系

類似 SQL 語法查詢功能的「Hive」

專門用在 Hadoop 上的資料庫系統「HBase」

處理資料的 Script 語言「Pig」