Phân loại cơ chế đồng bộ: Snapshot vs Streaming
1. Tổng quan
- Định nghĩa: Cơ chế đồng bộ là cách thức và tần suất mà hệ thống Mobio lấy dữ liệu từ Connector. Hệ thống cung cấp hai cơ chế chính: đồng bộ theo sự kiện thực (Streaming) và đồng bộ định kỳ theo lô (Snapshot).
- Lợi ích/Giá trị: Việc hiểu và chọn đúng cơ chế đồng bộ ngay từ đầu giúp hệ thống không bị quá tải, ngăn chặn việc thiếu hụt dữ liệu hoặc ghi đè sai lệch dữ liệu hiện tại của khách hàng trên Mobio.
- Đối tượng sử dụng: Quản trị viên hệ thống (Admin), Kỹ sư dữ liệu (Data Engineer), Cán bộ kỹ thuật phụ trách tích hợp (IT/Technical Specialist).
2. Giải thích Thuật ngữ & Thông số
- Streaming (Đồng bộ thời gian thực): Dữ liệu được đẩy từ hệ thống của bạn sang Mobio ngay lập tức (real-time) tại thời điểm phát sinh sự kiện. Cơ chế này thường áp dụng cho luồng API (Webhook) hoặc SDK.
- Snapshot (Đồng bộ theo lô/định kỳ): Mobio sẽ tiến hành kéo một cục dữ liệu (batch) từ hệ thống của bạn vào những khoảng thời gian cố định (Ví dụ: 12h đêm mỗi ngày). Trong Snapshot, hệ thống chia tiếp làm 2 phương thức:
- Full (Đồng bộ toàn phần): Quét và lấy lại toàn bộ dữ liệu từ đầu chí cuối và đối chiếu ghi đè. Gây gánh nặng lớn cho hệ thống, nhưng đảm bảo tính nhất quán tuyệt đối.
- Incremental (Đồng bộ gia tăng): Chỉ kéo những bản ghi dữ liệu mới được sinh ra hoặc mới được cập nhật kể từ lần đồng bộ cuối cùng. Tiết kiệm tài nguyên và cực kỳ nhanh chóng.
3. Điều kiện tiên quyết (Prerequisite)
- Bài viết trước: Tổng quan luồng vận hành Data Flow – Nguồn dữ liệu
- Phân quyền: Tài khoản Mobio phải được cấp quyền RBAC:
INTERGRATION. Chi tiết phân quyền vui lòng xem tại các bài hướng dẫn sau.
4. Các bước đánh giá và lựa chọn cơ chế
- Vì đây là tài liệu lý thuyết nền tảng, bạn không cần tiến hành cài đặt trên giao diện. Thay vào đó, hãy trả lời 3 câu hỏi sau trước khi cấu hình:
- Dữ liệu của bạn nằm ở đâu? (Nếu là Database nội bộ → dùng phương thức Snapshot.) Nếu là hành vi từ website → dùng phương thức streaming.
- Nhu cầu nghiệp vụ có cần data ngay lập tức để chạy chiến dịch tương tác near-real-time không? (Nếu có → ưu tiên các Connector hỗ trợ Streaming).
- Với Snapshot Database, bảng dữ liệu của bạn có cột ghi chú thời gian cập nhật (datadate) không? (Nếu có → khuyến khích dùng Snapshot Incremental để tối ưu).
5. Quy tắc vận hành & Use case
- Dữ liệu Profile (Hồ sơ cá nhân): Đặc thù ít thay đổi, thường phù hợp với Snapshot Incremental. (Ví dụ: cập nhật thẻ hạng thành viên mỗi đêm).
- Dữ liệu Event (Hành vi): Gắn với các sự kiện Click, Mua hàng cần phản ứng ngay lập tức → dùng Streaming.
- Cảnh báo phần cứng: không sử dụng Snapshot Full quét lại Database hàng triệu bản ghi với tần suất liên tục (VD: vài tiếng/lần) vì sẽ làm chết cả hệ thống server của bạn và Mobio.
6. Các câu hỏi thường gặp (FAQ)
- Hỏi: Nếu tôi cấu hình Snapshot Incremental nhưng hôm đó server của tôi bị chết mạng, dữ liệu có bị lọt (miss) không?
- Trả lời: Mobio sẽ lưu lại mốc thời gian của mẻ đồng bộ thành công gần nhất. Do đó, khi server có mạng trở lại, hệ thống sẽ kéo toàn bộ phần dữ liệu dồn lại kể từ khoảng thời gian bị đứt đoạn đó.
- Hỏi: Có thể chuyển đổi Snapshot Full sang Snapshot Incremental được không?
- Trả lời: Có. Bạn có thể vào phần chỉnh sửa Lịch đồng bộ của Data Flow để thay đổi thông số này.
7. Bước tiếp theo
- Sau khi làm chủ các khái niệm, chúng ta sẽ bắt tay vào khởi tạo 4 loại Nguồn dữ liệu (Connector) tuỳ theo nhu cầu nghiệp vụ