2009-05-01 2 views
3

MySQLプロキシの代替手段はありますか?私はそれがまだアルファにあるので、私はそれを使いたくない。データベースシャーディングのためのMySQLプロキシ代替手段

私は、10台のサーバに分散されたtable_1 table_2 table_3 table_4 ... table_10を持つ10台のMySQLサーバを用意します。各テーブルの構造は同じですが、それぞれのデータセットが異なるだけです。

私は、クライアントアプリケーションを単一のSQL Server(プロキシ)に接続することができます。これは、クエリを見て、その代わりにデータを取得します。

たとえば、クライアントがtable_5を格納している5番目のSQL Serverに接続してデータを取得するProxyから「SELECT * FROM table_5 WHERE user = 123」を要求した場合は、

答えて

4

Spock Proxyは、大規模なMySQLデータベースの範囲ベースの水平方向の分割をサポートしています。プロキシはクライアントからのSQLクエリを傍受し、データベースの分割方法に基づいて適切なデータベースにクエリを送信し、各データベースの結果を集計し、通常のMySQL結果セットとしてクライアントに返します。

0

私は、プロキシを追加することで、アプリ内でほとんどまたは何も変更することができないことがわかりましたが、大きなシングルポイント障害を追加することを検討する価値はあります。

アプリケーション層を調べるデータベースを決定するために必要なロジックを移動することをお勧めします。

+1

データベースにアクセスする複数のアプリケーションコンポーネントがあります。そのため、アプリケーションレイヤーから移動することを検討しています。 デマルチプレクサの設定を変更する必要がある場合は、いくつかのアプリケーションを変更する必要があります。これは現実的ではありません。 クライアントアプリケーション - > HAプロキシ(LBプロキシを選択) - > LBプロキシ(MySQLプロキシ) - > SQL DB –

関連する問題