-4

複数のユーザーが独自のミニ Web サイトを作成できる Web サイト テンプレート システムを構築しています。このシステムが何百万人ものユーザーにスケーリングされる可能性を期待しています。全員のミニサイトのすべてのデータを 1 つの MySQL データベースに保存するのが最善ですか、それともユーザーごとに個別の MySQL データベースを作成するのが最善ですか?

何百万人ものユーザーへの将来のスケーラビリティを処理するためのセットアップは何ですか? 各オプションの長所と短所は何ですか。

4

2 に答える 2

5

1 つのデータベースに数百万のレコードを格納するのは簡単ですが、1 台 (または少数) のコンピューターで数百万のデータベースを処理することは不可能です。

各ユーザーのデータが本当に少なく、実際に多くのユーザーを計画している場合は、各ユーザーにデータベースを提供しようとさえしないでください。データベースは、成長して多くのレコードを処理するように作られています。

于 2012-06-13T18:40:56.587 に答える
2

100 万のデータベース インスタンスを作成することは、あまり実用的ではありません。

そうです、おそらく、少なくともはるかに少数のデータベースを使用したいと思うでしょう。このクラスの問題は、マルチテナント アプリケーションとして知られています。

Web サイトごとに数千のエントリを保存する場合、MySQL は 1 つのデータベース (およびバックアップとフェイルオーバー用の少なくとも 1 つのスレーブ...) でかなり遠くまで行けることがわかります。

ある時点で、次の顧客のバッチを処理するために、2 番目のマスター/スレーブ DB ペアをセットアップする必要があります。

于 2012-06-13T18:42:59.473 に答える