Meta telah mulai menerapkan MySQL Raft di pusat datanya untuk menggantikan database semisinkron MySQL yang ada. Mesin konsensus baru menawarkan manfaat operasional dan memungkinkan server MySQL untuk menangani tanggung jawab promosi dan keanggotaan secara mandiri.
Datastore MySQL Meta adalah salah satu penerapan MySQL terbesar di dunia, menampilkan struktur yang direplikasi secara besar-besaran dan direplikasi secara geografis dengan jutaan pecahan. Cluster ini, beroperasi di berbagai wilayah dan pusat data, menyimpan data berukuran petabyte dan berjalan di ribuan server. Ini mendukung grafik sosial perusahaan dan berbagai layanan seperti Messaging, Ads, dan Feed.
Menurut tim teknik, penerapan MySQL yang baru akan memberikan keandalan yang lebih baik, keamanan yang dapat dibuktikan, peningkatan yang signifikan dalam waktu failover, dan kesederhanaan operasional, tanpa mengurangi kinerja penulisan.
Sebelumnya, Meta menggunakan protokol replikasi semisinkron (semisync) MySQL untuk tujuan replikasi. Replikasi semi-sinkron yang digunakan primer ke dua replika log-saja (logtailer) dalam wilayah utama untuk latensi sub-milidetik, menggunakan replikasi asinkron primer-ke-replika MySQL standar untuk didistribusikan ke wilayah lain.
Tim memutuskan untuk mengadopsi pendekatan yang sama sekali baru, memutakhirkan MySQL dan mengubahnya menjadi sistem yang benar-benar terdistribusi. Meta memilih untuk beralih ke Raft, dengan operasi bidang kontrol dan bidang data disertakan dalam log replikasi yang sama.
MySQL Raft didasarkan pada Apache Kudu, yang dimodifikasi Meta untuk memenuhi persyaratan MySQL dan menerbitkan fork sebagai proyek sumber terbuka, kuduraft. Fitur baru yang ditambahkan ke kuduraft termasuk FlexiRaft, opsi yang mendukung dua kuorum berpotongan yang berbeda, dan proxy, yang memungkinkan penggunaan node perantara proxy untuk mengurangi bandwidth jaringan. Selain itu, peningkatan kompresi dan abstraksi log memungkinkan kompresi muatan log biner sebelum distribusi dan penerapan berbagai format file log fisik.
Dengan platform seperti AppMaster yang menyediakan alat tanpa kode yang kuat untuk membuat aplikasi backend, web, dan seluler, solusi basis data yang disederhanakan sangat penting untuk pengembangan perangkat lunak yang efisien dan dapat diskalakan. Dengan bertransisi ke MySQL Raft, Meta telah membuat langkah signifikan untuk mencapai peningkatan keandalan dan operasi yang disederhanakan, yang dapat menginspirasi perusahaan lain untuk mengadopsi solusi serupa dan menyempurnakan sistem database mereka sendiri.