5

水平パーティショニング...多くのテーブルを作成できることは知っています。

アプリケーションベースのシャーディングでは、複数のデータベースサーバーで同じデータベース構造を持つことをてきました。ただし、同じデータは含まれません。

たとえば、次のようになります。

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

誰かが説明したり、複数のサーバーに分割する方法を教えてくれる初心者向けの優れたチュートリアル (ステップバイステップ) を持っていますか?

4

1 に答える 1