Meta tái thiết hệ thống thu thập dữ liệu quy mô Petabyte để tối ưu hóa độ tin cậy
Đội ngũ kỹ thuật của Meta đã công bố chi tiết về việc tái cấu trúc nền tảng thu thập dữ liệu xử lý hàng petabyte dữ liệu MySQL mỗi ngày nhằm nâng cao độ tin cậy và hiệu quả vận hành. Bằng cách áp dụng các kỹ thuật như "reverse shadowing" và giám sát checksum liên tục, Meta đã đảm bảo chuyển đổi mượt mà với thời gian chết bằng không.

Meta vận hành một trong những hệ thống MySQL lớn nhất thế giới, với nền tảng thu thập dữ liệu hỗ trợ các khối lượng công việc khổng lồ như phân tích, báo cáo, học máy và phát triển sản phẩm nội bộ. Gần đây, công ty đã thiết kế lại kiến trúc, thay thế các pipeline do khách hàng sở hữu bằng dịch vụ kho lưu trữ tập trung, tự quản lý.
Mô hình kiến trúc hệ thống mới của Meta
Thông qua quá trình di chuyển, Meta đã thay thế cơ sở hạ tầng phân mảnh bằng một hệ thống được quản lý tập trung. Họ sử dụng các phương pháp di chuyển theo giai đoạn, xác thực tự động, điều khiển khôi phục (rollback) và các lớp tương thích để chuyển đổi hàng nghìn pipeline thu thập dữ liệu mà không làm gián đoạn các công việc phân tích và học máy hạ nguồn.
Chiến lược di chuyển ba giai đoạn
Meta đã triển khai hệ thống phân tán ở quy mô khổng lồ thông qua ba giai đoạn chính:
- Giai đoạn Shadow: Xác thực hệ thống mới dựa trên dữ liệu sản xuất thực tế.
- Giai đoạn Reverse Shadow: Chuyển đổi quyền sở hữu sản xuất sang hệ thống mới trong khi vẫn giữ khả năng khôi phục về hệ thống cũ.
- Giai đoạn Cleanup: Loại bỏ pipeline cũ sau khi các kiểm tra nhất quán và hiệu suất vượt qua.
Zihao Tao, kỹ sư phần mềm tại Meta, và các đồng nghiệp từ đội ngũ kỹ thuật giải thích về quy trình giám sát:
"Chúng tôi liên tục giám sát sự khác biệt về số lượng hàng và checksum giữa các công việc sản xuất và các công việc shadow. Khi có sự không khớp xảy ra, chúng tôi nhanh chóng điều tra nguyên nhân gốc rễ và triển khai bản sửa lỗi vào môi trường tiền sản xuất, sau đó xác minh rằng sự không khớp đã được giải quyết. Trong bước này, chúng tôi cũng đo lường hạn ngạch tính toán và lưu trữ cho các công việc shadow để đảm bảo rằng môi trường sản xuất có đủ tài nguyên trước khi tiếp tục."
Quy trình giám sát và kiểm tra dữ liệu
Thách thức và giải pháp tối ưu
Đảm bảo quá trình di chuyển liền mạch đòi hỏi phải theo dõi hiệu quả vòng đời của hàng nghìn công việc và thiết lập các điều khiển triển khai/khôi phục mạnh mẽ để xử lý các vấn đề có thể phát sinh. Mỗi công việc di chuyển đều phải được xác thực dựa trên các kiểm tra tính chính xác và hiệu suất nghiêm ngặt, bao gồm so sánh số lượng hàng và checksum giữa hệ thống cũ và mới, giám sát độ trễ và sử dụng tài nguyên.
Cả hệ thống cũ và mới đều sử dụng Change Data Capture (CDC) để thu thập dữ liệu gia tăng vào bảng đích. Mỗi công việc thu thập dữ liệu có bảng nội bộ cho bản đổ đầy (full dump) của cơ sở dữ liệu nguồn, bảng nội bộ để bắt các thay đổi của cơ sở dữ liệu nguồn (delta), và bảng đích được sử dụng bởi khách hàng dữ liệu.
Vì kiến trúc CDC phụ thuộc vào các bản chụp nhanh (snapshot) đầy đủ tốn kém cho tải ban đầu và khôi phục sau sửa lỗi, Meta đã giảm thiểu việc tạo các công việc shadow không cần thiết cho đến khi các vấn đề chất lượng dữ liệu được giải quyết. Điều này giúp tránh các bản đổ đầy quy mô lớn lặp đi lặp lại và cải thiện đáng kể hiệu quả di chuyển. Đội ngũ cũng giảm tải cơ sở hạ tầng bằng cách tái sử dụng các phân vùng snapshot từ hệ thống cũ trong các giai đoạn đầu của quá trình di chuyển.



