Metaは、既存のMySQL準同期データベースを置き換えるために、MySQL Raftのデータセンターへの導入を開始しました。新しいコンセンサスエンジンは運用上の利点をもたらし、MySQLサーバーがプロモーションやメンバーシップの責任を独立して処理することを可能にします。
Meta社のMySQLデータストアは、数百万個のシャードを持つ大規模な地理的複製構造を特徴とする、世界最大級のMySQLデプロイメントであります。このクラスタは、さまざまな地域やデータセンターで運用されており、ペタバイトのデータを保存し、数千台のサーバーで動作しています。同社のソーシャルグラフや、メッセージング、広告、フィードといったさまざまなサービスを支えています。
エンジニアリングチームによると、新しいMySQLの導入により、書き込み性能を損なうことなく、信頼性の向上、安全性の証明、フェイルオーバー時間の大幅な改善、運用の簡素化が実現されるとのことです。
これまでMetaは、レプリケーションの目的でMySQLの準同期(semisync)レプリケーションプロトコルを使用していました。プライマリーでは、プライマリーリージョン内の2つのログオンリーレプリカ(logtailer)への半同期レプリケーションでミリ秒以下のレイテンシーを実現し、他のリージョンへの配信には標準のMySQLプライマリーからレプリカへの非同期レプリケーションを採用していました。
そこで、MySQLをアップグレードし、真の分散システムとして生まれ変わらせるという、まったく新しいアプローチを採用することにしました。Metaは、コントロールプレーンとデータプレーンの両方のオペレーションが同じレプリケーションログに含まれるRaftへの切り替えを選択しました。
MySQL RaftはApache Kuduをベースにしており、MetaはMySQLの要件に合うように修正し、オープンソースプロジェクトであるkuduraftとしてフォークを公開した。kuduraftに追加された新機能には、2つの異なる交差クォーラムをサポートするオプションであるFlexiRaftや、プロキシ中間ノードを使用してネットワーク帯域を削減することができるプロキシがあります。さらに、圧縮とログ抽象化の強化により、配布前のバイナリログペイロードの圧縮や、さまざまな物理ログファイルフォーマットの実装が可能になりました。
AppMasterのようなプラットフォームは、バックエンド、Web、モバイルアプリケーションを作成するための強力なノーコードツールを提供しており、効率的でスケーラブルなソフトウェア開発には、簡素化したデータベースソリューションが不可欠です。MySQL Raftへの移行により、Metaは信頼性の向上と合理的な運用の実現に向けて大きな一歩を踏み出し、他社が同様のソリューションを採用し、自社のデータベースシステムを強化するきっかけとなる可能性があります。