水平パーティショニング...多くのテーブルを作成できることは知っています。
アプリケーションベースのシャーディングでは、複数のデータベースサーバーで同じデータベース構造を持つことを見てきました。ただし、同じデータは含まれません。
たとえば、次のようになります。
Users 1 - 10000: server A
Users 10001 - 20000: server B
シャードに使用される手法は MySQL-Proxy です。たとえば、一部のツール (MySQL Proxy に基づく) は SpockProxy です。手動でシャーディングすることもできます。マスターテーブルが必要です。例:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
しかし、これらの上記の手法はアプリケーションレベルで処理します..DBサーバーレベルで解決したい..
複数のサーバーで透過的にこれを行うことはできますか? これにより、Mysql テーブルのスケーリングが可能になります。
XサーバーにXテーブルを作成し、エンドユーザーは単一のDBサーバーへの単純なクエリでデータを取得しますか?
要するに、単一のテーブルに16テラバイトのデータを挿入したいのですが、単一のマシンにそのような大きなスペースがないため、各容量が8テラバイトのサーバーを2台インストールしたいと考えています。ただし、バックエンドでシャーディングが使用されている可能性がある間に、単一のデータベースへのユーザークエリと結果を取得します。
また、他のいくつかの優れたソリューションについてもこのディスカッションを開きますMYSQL Clustering
。
誰かが説明したり、複数のサーバーに分割する方法を教えてくれる初心者向けの優れたチュートリアル (ステップバイステップ) を持っていますか?