ETL (Extract, Transform, Load)
Định nghĩa
ETL (Extract - Transform - Load) là một quy trình gồm ba bước, được sử dụng để tích hợp dữ liệu từ nhiều nguồn khác nhau vào một kho lưu trữ trung tâm duy nhất, thường là Kho Dữ liệu (Data Warehouse).
Đây là quy trình nền tảng để chuẩn bị dữ liệu cho việc phân tích BI.
3 Bước của ETL
-
E - Extract (Trích xuất):
- Mục tiêu: Lấy (đọc) dữ liệu từ các hệ thống nguồn (source systems).
- Ví dụ nguồn: Database giao dịch (OLTP), hệ thống CRM, ERP, file Excel, API…
-
T - Transform (Biến đổi):
- Mục tiêu: Áp dụng các quy tắc, làm sạch (cleaning), chuẩn hóa (standardizing), và cấu trúc lại (structuring) dữ liệu đã trích xuất để nó phù hợp với định dạng của kho đích.
- Hoạt động:
- Làm sạch: Xử lý giá trị thiếu (null), định dạng sai (ví dụ: ngày tháng).
- Chuẩn hóa: Đưa về cùng đơn vị, định dạng (ví dụ: “VNĐ”, “VND”, “đồng” “VND”).
- Tích hợp: Kết hợp dữ liệu từ nhiều nguồn (ví dụ: join bảng).
- Tính toán: Tạo các trường dữ liệu mới (ví dụ: tính Doanh thu = Số lượng * Đơn giá).
- Đây thường là bước phức tạp và tốn nhiều công sức nhất.
-
L - Load (Tải):
- Mục tiêu: Ghi (write) dữ liệu đã được biến đổi vào hệ thống đích (target system), thường là Kho Dữ liệu (Data Warehouse).
ETL vs. ELT
- ETL: Biến đổi dữ liệu trước khi tải vào Kho dữ liệu (phổ biến cho DWH).
- ELT (Extract, Load, Transform): Tải dữ liệu thô vào trước (thường là Data Lake), rồi mới biến đổi sau (phổ biến cho Dữ liệu lớn (Big Data)).