Kiến trúc phái sinh (CDC, event sourcing, CQRS)
DDIA Ch12 — ghép batch và stream thành kiến trúc dữ liệu phái sinh: change data capture (CDC) biến database changelog thành stream đồng bộ index/cache/warehouse; event sourcing lưu chuỗi event bất biến thay vì state; CQRS tách read model khỏi write model; và lambda/kappa kết hợp batch + stream. Khép bằng capstone đồ án nối cả track. Recall WAL/transaction ở SQL và replication/consensus ở Tier 1.
Nội dung
Danh sách bài học
- 01~10 phút
Module 3 — Kiến trúc phái sinh: tổng quan
Ghép batch và stream thành kiến trúc dữ liệu thật: CDC, event sourcing, CQRS, lambda/kappa — và capstone đồ án nối cả track.
- 02~13 phút
Change Data Capture — biến changelog của DB thành stream
CDC đọc chính replication log của database và phát ra như một stream sự kiện, để đồng bộ index/cache/warehouse mà không phải poll. Nối thẳng WAL đã học ở SQL.
- 03~13 phút
Event sourcing — lưu chuỗi sự kiện thay vì lưu trạng thái
Thay vì lưu trạng thái rồi ghi đè, event sourcing lưu chuỗi sự kiện bất biến và dựng lại trạng thái bằng cách phát lại. Nối tư duy input bất biến ở Module 1.
- 04~12 phút
CQRS — tách đường ghi khỏi đường đọc và cái giá nhất quán
CQRS tách mô hình ghi (command) khỏi mô hình đọc (query): dựng nhiều read model tối ưu cho từng truy vấn. Vì sao tách, và cái giá của nhất quán cuối cùng.
- 05~12 phút
Lambda vs Kappa — hai cách kết hợp batch và stream
Lambda chạy song song lớp batch (chính xác, chậm) và lớp stream (nhanh); Kappa bỏ lớp batch, chỉ dùng stream reprocess. Chọn kiến trúc nào và vì sao.
- 06~20 phút
Capstone — thiết kế một hệ dữ liệu phái sinh đầu-cuối
Đồ án tổng hợp cả track: thiết kế một hệ dữ liệu thật nối source of truth, CDC, stream, batch và các read model phái sinh — lập luận trade-off ở từng mắt xích.
- 07~10 phút
Module 3 — Tổng kết & bế mạc track
Recap kiến trúc phái sinh: CDC, event sourcing, CQRS, lambda/kappa. Cheat sheet, glossary, self-assessment — và khép lại track Hệ thống Dữ liệu Quy mô lớn.