Meta đã bắt đầu triển khai MySQL Raft tại các trung tâm dữ liệu của mình để thay thế các cơ sở dữ liệu bán đồng bộ MySQL hiện có. Công cụ đồng thuận mới mang lại lợi ích hoạt động và cho phép máy chủ MySQL xử lý các khuyến mãi và trách nhiệm thành viên một cách độc lập.
Kho dữ liệu MySQL của Meta là một trong những triển khai MySQL lớn nhất trên thế giới, nổi bật với cấu trúc được phân mảnh lớn, sao chép địa lý với hàng triệu phân đoạn. Cụm này, hoạt động trên nhiều khu vực và trung tâm dữ liệu khác nhau, lưu trữ hàng petabyte dữ liệu và chạy trên hàng nghìn máy chủ. Nó hỗ trợ biểu đồ xã hội của công ty và một loạt các dịch vụ như Nhắn tin, Quảng cáo và Nguồn cấp dữ liệu.
Theo nhóm kỹ sư, việc triển khai MySQL mới sẽ mang lại độ tin cậy cao hơn, độ an toàn có thể chứng minh được, những cải tiến đáng kể về thời gian chuyển đổi dự phòng và sự đơn giản trong vận hành mà không ảnh hưởng đến hiệu suất ghi.
Trước đây, Meta đã sử dụng giao thức sao chép bán đồng bộ (semisync) của MySQL cho mục đích sao chép. Bản sao chính bán đồng bộ được sử dụng thành hai bản sao chỉ ghi nhật ký (logtailers) trong khu vực chính cho độ trễ dưới một phần nghìn giây, sử dụng bản sao không đồng bộ từ chính đến bản sao của MySQL tiêu chuẩn để phân phối đến các khu vực khác.
Nhóm đã quyết định áp dụng một cách tiếp cận hoàn toàn mới, nâng cấp MySQL và biến nó thành một hệ thống phân tán thực sự. Meta đã chọn chuyển sang Raft, với cả hoạt động của mặt phẳng điều khiển và mặt phẳng dữ liệu được bao gồm trong cùng một nhật ký được sao chép.
MySQL Raft dựa trên Apache Kudu, mà Meta đã sửa đổi để đáp ứng các yêu cầu của MySQL và đã xuất bản một nhánh dưới dạng dự án mã nguồn mở, kuduraft. Các tính năng mới được thêm vào kuduraft bao gồm FlexiRaft, một tùy chọn hỗ trợ hai đại biểu giao nhau khác nhau và ủy quyền, cho phép sử dụng nút trung gian ủy quyền để giảm băng thông mạng. Ngoài ra, các cải tiến nén và trừu tượng hóa nhật ký cho phép nén tải trọng nhật ký nhị phân trước khi phân phối và triển khai các định dạng tệp nhật ký vật lý khác nhau.
Với các nền tảng như AppMaster cung cấp các công cụ không cần mã mạnh mẽ để tạo các ứng dụng phụ trợ, web và di động, các giải pháp cơ sở dữ liệu đơn giản hóa là điều cần thiết để phát triển phần mềm hiệu quả và có thể mở rộng. Bằng cách chuyển đổi sang MySQL Raft, Meta đã thực hiện một bước quan trọng để đạt được độ tin cậy được cải thiện và hoạt động hợp lý hóa, điều này có thể truyền cảm hứng cho các công ty khác áp dụng các giải pháp tương tự và nâng cao hệ thống cơ sở dữ liệu của riêng họ.