Tổng quan Lakehouse & Kiến trúc Databricks
Databricks là gì, kiến trúc Lakehouse giải quyết vấn đề gì, và các thành phần chính của nền tảng.
Trước khi chạm vào bất kỳ dòng code nào, cần hiểu đúng vì sao Databricks tồn tại: nó không phải "thêm một công cụ ETL khác" mà là nỗ lực hợp nhất hai thế giới vốn tách biệt — Data Warehouse (dữ liệu có cấu trúc, truy vấn SQL nhanh, governance chặt) và Data Lake (lưu trữ rẻ, linh hoạt mọi định dạng, phù hợp AI/ML) — thành một nền tảng duy nhất: Lakehouse. Hiểu đúng kiến trúc này giúp mọi quyết định kỹ thuật sau này (chọn compute nào, thiết kế pipeline ra sao) có cơ sở thay vì làm theo thói quen.
🎯 Mục tiêu học tập
- Giải thích được sự khác nhau giữa Data Warehouse, Data Lake, và Lakehouse
- Mô tả được kiến trúc Medallion (Bronze/Silver/Gold) và vì sao nó là mẫu thiết kế chuẩn
- Hiểu mô hình control plane / data plane của Databricks trên AWS/Azure/GCP
- Nhận diện được các thành phần chính của nền tảng và vai trò của từng thành phần
Data Warehouse, Data Lake, và Lakehouse
| Đặc điểm | Data Warehouse | Data Lake | Lakehouse |
|---|---|---|---|
| Định dạng dữ liệu | Có cấu trúc (bảng) | Mọi định dạng (JSON, ảnh, video, log...) | Mọi định dạng, nhưng có transaction log đảm bảo ACID |
| Chi phí lưu trữ | Cao | Thấp (object storage) | Thấp (object storage) |
| Governance/ACID | Mạnh | Yếu/không có | Mạnh (nhờ Delta Lake + Unity Catalog) |
| Phù hợp cho | BI, báo cáo | AI/ML, dữ liệu thô | Cả BI lẫn AI/ML trên cùng một bản sao dữ liệu |
Trước Lakehouse, tổ chức thường phải duy trì hai bản sao dữ liệu: một trong Data Lake cho AI/ML, một ETL sang Data Warehouse cho BI — tốn kém, dễ lệch dữ liệu giữa hai hệ thống. Lakehouse (qua Delta Lake — xem Module 3) mang ACID transaction, schema enforcement, và hiệu năng truy vấn gần bằng warehouse chuyên dụng, nhưng vẫn lưu trên object storage rẻ — cho phép một bản sao dữ liệu duy nhất phục vụ cả BI lẫn AI/ML.
Kiến trúc Medallion: Bronze → Silver → Gold
- Bronze: dữ liệu thô, nạp gần như nguyên bản từ nguồn (log, CDC, file, API) — ưu tiên tốc độ nạp và giữ nguyên lịch sử, chưa làm sạch.
- Silver: dữ liệu đã làm sạch, chuẩn hoá, join giữa các nguồn, loại bỏ trùng lặp — sẵn sàng cho việc phân tích chung nhưng chưa tổng hợp theo nghiệp vụ cụ thể.
- Gold: dữ liệu đã tổng hợp theo nhu cầu nghiệp vụ (bảng báo cáo, feature cho ML, bảng phục vụ dashboard) — tối ưu cho truy vấn đọc nhanh.
Đây là mẫu thiết kế mặc định cho hầu hết pipeline trên Databricks — mỗi lớp là một tập bảng Delta Lake riêng, cho phép truy vết ngược khi có lỗi (data lineage tự nhiên theo tầng) và cho phép nhiều nhóm (data engineer, analyst, ML engineer) làm việc trên đúng tầng phù hợp với nhu cầu của họ.
Control Plane & Data Plane — dữ liệu của bạn nằm ở đâu?
Điểm kiến trúc quan trọng thường bị bỏ qua: Databricks vận hành theo mô hình tách biệt hai mặt phẳng. Control plane (do Databricks quản lý) chứa giao diện web, scheduler, metadata quản lý — không chứa dữ liệu thật của bạn. Data plane (chạy trong tài khoản cloud AWS/Azure/GCP của chính bạn) là nơi cluster Spark thực sự chạy và dữ liệu thực sự được đọc/ghi trên object storage (S3/ADLS/GCS) của bạn. Điều này có nghĩa: dữ liệu không rời khỏi hạ tầng cloud của tổ chức bạn — quan trọng với các yêu cầu tuân thủ/bảo mật dữ liệu nghiêm ngặt.
Các thành phần chính của nền tảng
| Thành phần | Vai trò | Học ở đâu trong khoá này |
|---|---|---|
| Delta Lake | Định dạng bảng ACID trên object storage | Module 3 |
| Compute (Cluster/SQL Warehouse/Serverless) | Nơi Spark thực thi tính toán | Module 2 |
| Unity Catalog | Governance, quyền truy cập, lineage tập trung | Module 5 |
| Auto Loader / Lakeflow Declarative Pipelines | Nạp dữ liệu incremental, pipeline khai báo | Module 6 |
| Workflows | Điều phối job, lịch chạy, phụ thuộc | Module 7 |
| Databricks SQL | Data warehousing, dashboard, BI | Module 8 |
| MLflow | Theo dõi thực nghiệm, quản lý vòng đời model | Module 9 |
| Mosaic AI | Vector Search, Model Serving, Foundation Model APIs cho ứng dụng GenAI | Module 10 |
🏋️ Bài tập thực hành
Đăng ký Databricks Community Edition (miễn phí) hoặc dùng free trial trên AWS/Azure/GCP. Khảo sát giao diện Workspace: tìm mục Catalog, Compute, Workflows, SQL. Vẽ lại sơ đồ kiến trúc Medallion cho một bài toán bạn quen thuộc (ví dụ dữ liệu đơn hàng từ hệ thống Laravel) — xác định dữ liệu nào thuộc Bronze/Silver/Gold. Nếu bạn đã học RAG/AI Engineering ở AI Engineer Master Course, hãy thử liên hệ: pipeline nạp tài liệu cho RAG (Module 12 của khoá đó) chính là một pipeline Bronze→Silver→Gold thu nhỏ.
📚 Tài nguyên học tập
-
Databricks — What is a Lakehouse?Giải thích chính thức khái niệm LakehouseBài viết
-
Databricks — Documentation (tổng)Cổng tài liệu chính thức, điểm bắt đầu cho toàn khoá học nàyDocs
-
Databricks — Medallion ArchitectureGiải thích chính thức kiến trúc Bronze/Silver/GoldBài viết
✅ Tự đánh giá hoàn thành
- Giải thích được sự khác nhau giữa Data Warehouse, Data Lake, Lakehouse cho người khác nghe hiểu
- Vẽ được sơ đồ Medallion cho 1 bài toán dữ liệu thật
- Hiểu rõ dữ liệu của tổ chức nằm ở data plane (tài khoản cloud riêng), không phải trên hạ tầng Databricks
- Đã tạo được workspace Databricks (Community Edition hoặc trial) và khảo sát giao diện