Lê Duy Khương (Daniel)

Chuỗi: lakehouse-glossary · Phần 11

Năng suất & công cụ dev

Change Data Capture (CDC) trong Lakehouse

CDC: phát hiện và truyền thay đổi (insert/update/delete) từ DB nguồn sang warehouse hoặc lakehouse. Log-based, trigger, timestamp. Debezium, Airbyte.

2026-03-172 phút đọcVI

CDC (Change Data Capture) là một kỹ thuật trong quản lý dữ liệu dùng để phát hiện và ghi lại những thay đổi (insert, update, delete) trong cơ sở dữ liệu nguồn theo thời gian thực hoặc gần thực.


Mục tiêu của CDC

Giúp đồng bộ dữ liệu từ hệ thống nguồn sang các hệ thống đích như data warehouse, data lake, hoặc hệ thống lakehouse mà không cần quét toàn bộ bảng.


Nguyên lý hoạt động của CDC

CDC thường được triển khai theo 3 cơ chế phổ biến:

Cơ chế CDCMô tả ngắn
Log-basedTheo dõi trực tiếp từ transaction log (binlog) của DB (MySQL, Postgres…)
Trigger-basedDùng trigger trong DB để ghi lại thay đổi vào bảng audit
Timestamp-basedSo sánh giá trị last_updated_at để lấy các bản ghi mới hoặc thay đổi

Các công cụ CDC mã nguồn mở phổ biến

Công cụMô tả
DebeziumCDC theo kiểu log-based, hoạt động tốt với Kafka, Postgres, MySQL
AirbyteHỗ trợ CDC nhiều hệ quản trị dữ liệu, dùng làm ingestion layer
Apache NiFiHỗ trợ flow-based CDC qua trigger hoặc log
StreamSetsKết nối, phát hiện thay đổi và truyền vào hệ thống xử lý dữ liệu khác

Use Cases của CDC trong Lakehouse

  1. Đồng bộ dữ liệu từ hệ thống giao dịch (OLTP) sang Lakehouse
  2. Phát hiện thay đổi trạng thái hợp đồng và cập nhật dashboard gần như real-time
  3. Ghi lại lịch sử thay đổi khách hàng trong bảng phiên bản hóa (versioning)
  4. Kết hợp với Kafka để build kiến trúc event-driven
  5. Tự động tái kích hoạt pipeline xử lý khi có update mới

Ví dụ đơn giản

-- Bảng chính
CREATE TABLE customers (
  id INT PRIMARY KEY,
  name TEXT,
  email TEXT,
  last_updated TIMESTAMP
);
 
-- Đoạn SQL lấy thay đổi trong 1 giờ qua (timestamp-based CDC)
SELECT * FROM customers WHERE last_updated >= NOW() - INTERVAL '1 hour';
LDK

Le Duy Khuong

AI Transformation & Digital Strategy. Writing about agentic systems, engineering leadership, and building in public.