資料湖(Data Lake)
資料湖是一種高度彈性的儲存模式,通常用來以「原始格式」收納巨量的資料。無論是結構化資料(表格)、半結構化資料(JSON/XML)、還是非結構化資料(圖片、影音、音訊)都能一網打盡。
常見的做法是將資料放在雲端 Blob 儲存,再依工作負載選用不同的運算引擎。
示意圖
使用資料湖(Data Lake)的話,無論是結構、半結構或是非結構化的資料都可以直接塞進去,然後給 Data engineer、Data scentist 跟 ML engineer 等等的人來做使用。
優勢
- 低成本儲存大量資料
- 未來擴充性高,可收納任何資料型別
- 可針對不同工作負載混搭最佳運算方案
- 全公司資料集中於單一位置,方便各角色共同協作
劣勢
- 資料治理困難,需要完善的資料目錄與中繼資料
- 「儲存太便宜」容易讓團隊無差別囤資料,造成贅餘
資料的分類
結構化資料(Structured Data)
這類資料擁有固定格式、欄位定義清楚,可以直接存在關聯式資料庫(如 MySQL、PostgreSQL)。
🔸 特徵:
- 有明確 schema(欄位定義)
- 容易查詢與分析(SQL)
- 表格格式
範例
ID | 姓名 | 出生年 | 電子郵件 |
---|---|---|---|
001 | 陳大文 | 1990 | david@example.com |
002 | 李小美 | 1985 | lily@example.com |
儲存地點
RDBMS 的資料庫、Excel 表格、Google Sheets 等。
半結構化資料(Semi-structured Data)
資料沒有固定的欄位順序,但仍然有結構標記(像是 key-value 格式),可以用工具轉成結構化。
🔸 特徵:
- 沒有嚴格 schema,但仍有結構
- key-value 格式(常見於 JSON、XML)
- 適合 NoSQL 存儲或資料湖
範例
JSON
{
"name": "陳大文",
"email": "david@example.com",
"hobbies": ["登山", "攝影"]
}
XML
<user>
<name>陳大文</name>
<email>david@example.com</email>
</user>
儲存地點
MongoDB、Elasticsearch、S3、Kafka message 或 API 傳輸資料等。
非結構化資料(Unstructured Data)
這類資料沒有明確格式或欄位結構,無法直接套用傳統資料查詢工具。
🔸 特徵:
- 沒有固定欄位格式
- 難以直接分析
- 需要 NLP、影像辨識、OCR 等工具處理
範例
圖片、影片、pdf、自由輸入的留言、郵件內容等。
儲存地點
雲端儲存、文件伺服器、影片平台、Email 系統等。
在三大雲端服務的工具名詞對照表
那在 AWS、GCP 跟 Azure 這三大雲端服務中,又該如何運用資料湖的概念呢?
AWS(Amazon Web Services)
名稱 | 角色 | 說明 |
---|---|---|
Amazon S3 | 📦 實際儲存資料的 data lake | 可以存結構化、非結構化資料,是 AWS 建構 data lake 的核心元件。 |
AWS Lake Formation | 🧠 管理層 | 幫你快速建立、保護、搜尋和整理 S3 中的 data lake。整合 IAM、Glue 等工具。 |
AWS Glue | 🔍 ETL 工具 | 處理、轉換、catalog data lake 中的資料。 |
Athena | 🔍 查詢工具 | 用 SQL 查詢 S3 中的資料,serverless。 |
GCP(Google Cloud Platform)
名稱 | 角色 | 說明 |
---|---|---|
Cloud Storage | 📦 實際儲存 data lake 的物件 | 等同於 AWS S3,可儲存任何類型的資料。 |
BigLake | 🧠 統一 Data Lake + Warehouse | 對 Cloud Storage 和 BigQuery 資料進行統一治理與存取控制。 |
BigQuery | 🔍 分析工具 | 可以直接查詢 Cloud Storage 裡的資料(如 Parquet、CSV)。 |
Dataplex | 🌐 管理層 | 管理 data lake(Cloud Storage + BigQuery)上的 metadata、安全性與治理。 |
Azure
名稱 | 角色 | 說明 |
---|---|---|
Azure Data Lake Storage Gen2 | 📦 Data lake 儲存 | 架構在 Azure Blob Storage 上,加強階層結構與安全性。 |
Azure Synapse Analytics | 🔍 查詢與分析 | 可查詢 Data Lake 中的資料,整合 Spark、SQL、Data Explorer。 |
Azure Purview / Microsoft Purview | 🧠 Metadata 管理 | 對 data lake 提供統一的資料目錄與治理工具。 |
雲端工具對照表
類別 | AWS | GCP | Azure |
---|---|---|---|
Data lake 儲存層 | Amazon S3 | Cloud Storage | Azure Data Lake Storage Gen2 |
管理/治理工具 | Lake Formation | Dataplex | Microsoft Purview |
查詢/分析工具 | Athena / Redshift Spectrum | BigQuery | Synapse Analytics / Data Explorer |
ETL / Catalog | AWS Glue | Dataflow / Dataprep | Data Factory / Azure Data Catalog |
參考資料
https://dataengineering.wiki/Concepts/Data+Architecture/Data+Lake
- [資料工程筆記] 資料市集(Data Mart)介紹與在三大雲端服務的工具名詞對照 - 2025-07-25
- [資料工程筆記] 資料倉儲(Data Warehouse)介紹與在三大雲端服務的工具名詞對照 - 2025-07-23
- [資料工程筆記] 資料湖(Data Lake)介紹與在三大雲端服務的工具名詞對照 - 2025-07-21