Fabricについて勉強する機会があったので、まとめてみた。Fabricとは、MySQLサーバー群を統合管理するフレームワークのこと。端的に言えば、MySQLの死活監視(自動failover含む)とデータシャーディング(テーブルのデータを分割して複数のDBサーバで持つ)ができる。Fabricはそもそも対象としているスコープが違うのでここでの比較は控えておく。Fabricのアーキテクチャは以下。管理対象のサーバー群はさらに「高可用性グループ」とか「farm」とか呼ばれるグループに分かれる。groupと呼ばれる特殊なグループがあり、それ以外の高可用性グループはすべて横並びの位置づけになる。Onlyサーバ)のどれかに自動フェールオーバーさせる。Fabric管理サーバが実行させている。Fabric管理サーバを経由することなく(=オーバーヘッドを生じることなく)アクセスすべきMySQLサーバにアクセスすることができる。クライアントは、データをシャーディングさせるかさせないかを選択することができる。更新負荷分散という観点ではシャーディングした方が有利だが、テーブルデータの利用方法上、あるいはシステムのワークロード上、データを全シャードで共通して持っておきたい場合も考えられるためと思われる。ここをどう設計するかはアプリ技術者の腕の見せ所(だと思う)。シャーディングするテーブルに対するクエリについては、データを持っているあるいはデータを更新すべきサーバに直接クエリを送る。Groupから他の高可用性グループにレプリケーションを行う。インストール方法、利用方法等についてはまた後日。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Ushio駆け出しのMySQLエンジニア。OSSを仕事で扱っています。themehall.com。