企業中常見名詞,Data Lake 和 Data Warehouses 的差別是什麼?|專家論點【朱騏】
延續 上一篇文章,我們來了解跟 Data Lake 非常像的名詞 – Data warehouses ( 資料倉儲 )。
這兩者都是新聞、企業書籍中常見的數據名詞,但到底有什麼差別呢?
兩者主要差異是
- Data Warehouses: 適合存放結構化數據、經常性要使用的數據
- Data Lake:適合存放非結構化數據、為特殊目的使用
更進一步來看,可以從下方 2 個點切入比較
- 寫入的數據結構 vs 讀取的數據結構 ( Schema on write vs. Schema on read)
- 經常性報告 vs 特殊專案 ( Regular reporting vs. Special projects)
寫入的數據結構 vs 讀取的數據結構
我們來看看「數據結構」上的差異。
Data Warehouses
- 必須先定義數據結構 (Data schema)
- 例如要追蹤使用者資訊,就必須先定義「哪些使用者的資料要寫到 Data Warehouses 的欄位中」。
- 知名產品例如有 Snowflake, BigQuery
Data Lake
- 不需先定義數據結構,可以將任意結構的數據丟進 Data Lake
- 當需要讀取時,再定義「讀取」的數據結構
- 多數的 Data Lake 都會使用 Object ( 物件) 格式進行儲存,把資料當成 1 個 Object 儲存
經常性報告 vs 特殊專案
接著從「使用情境」上作比較。
例如
- 考量速度:想像在整理日報時,今天寫的 query 和昨天寫的 query 會有 90 % 相似,因此使用結構化數據會比較好。
- 考量成本:如果是要為了特定專案(例如產品推薦系統),事前定義詳細結構反而會太花時間,因此可使用非結構化數據。
小結
你可能會好奇說:難道一定要 2 選 1 嗎?
答案是:不用,多數公司會選擇兩者併用。
重點是「如何有效率地同時使用這兩個工具」。
在 Saas 產業中,許多新創公司會先從 Data Warehouses 開始,接著再投資 Data Lake 來收集非結構化的資料。
以上就是企業中常見的 Data Lake 和 Data Warehouses 的解釋。
瀏覽 3,193 次