Snapshot Bootstrap

Định nghĩa

Snapshot Bootstrap là bước tạo bản sao ban đầu của một dataset trước khi pipeline incremental hoặc CDC tiếp tục cập nhật các thay đổi mới.

Cách hiểu bằng lời của tôi

CDC chỉ biết các event sau khi mình bắt đầu nghe. Nếu warehouse đang rỗng, stream thay đổi không thể tự dựng lại toàn bộ trạng thái hiện tại. Vì vậy phải có snapshot làm nền, rồi merge các event xảy ra quanh thời điểm snapshot để không mất dữ liệu.

Cơ chế

chọn thời điểm snapshot
-> export trạng thái bảng ra storage tạm
-> bắt CDC từ offset trước hoặc bằng thời điểm snapshot
-> load snapshot vào bảng đích
-> merge event CDC, chấp nhận duplicate nhưng không chấp nhận gap

Điểm dễ sai

  • Bắt CDC quá muộn làm mất thay đổi xảy ra trong lúc snapshot chạy.
  • Không có idempotent merge khiến event trùng làm sai số liệu.
  • Validation dùng cùng đường pipeline với production có thể bỏ sót bug chung.

Liên kết