データベースシャーディング用のMySQLプロキシの代替
-
03-07-2019 - |
質問
MySQLプロキシに代わるものはありますか。まだアルファ版なので、使いたくありません。
10台のMySQLサーバーがあり、table_1 table_2 table_3 table_4 ... table_10が10台のサーバーに分散しています。各テーブルは構造が同じであり、異なるデータセットを持つ単なる破片です。
MySQLプロキシに代わるものがあります。クライアントアプリケーションを単一のSQL Server(プロキシ)に接続し、クエリを参照してデータを取得します。
たとえば、クライアントが" SELECT * FROM table_5 WHERE user = 123"を要求した場合、 table_5を収容し、データを取得する5番目のSQL Serverに接続するプロキシからですか?
解決
Spock Proxy は、大規模なMySQLデータベースの範囲ベースの水平分割をサポートします。プロキシは、クライアントからのSQLクエリをインターセプトし、データベースの分割方法に基づいて正しいデータベースにクエリを送信し、各データベースから結果を集計して、通常のMySQL結果セットとしてクライアントに返します。
他のヒント
プロキシを追加すると、アプリ内の変更をほとんどまたはまったく変更できないことがわかりますが、大きな単一障害点を追加していることを考慮する価値があります。
検索するデータベースを決定するために必要なロジックを、アプリケーション層に移動することをお勧めします。
所属していません StackOverflow