複数のユーザーが独自のミニ Web サイトを作成できる Web サイト テンプレート システムを構築しています。このシステムが何百万人ものユーザーにスケーリングされる可能性を期待しています。全員のミニサイトのすべてのデータを 1 つの MySQL データベースに保存するのが最善ですか、それともユーザーごとに個別の MySQL データベースを作成するのが最善ですか?
何百万人ものユーザーへの将来のスケーラビリティを処理するためのセットアップは何ですか? 各オプションの長所と短所は何ですか。
複数のユーザーが独自のミニ Web サイトを作成できる Web サイト テンプレート システムを構築しています。このシステムが何百万人ものユーザーにスケーリングされる可能性を期待しています。全員のミニサイトのすべてのデータを 1 つの MySQL データベースに保存するのが最善ですか、それともユーザーごとに個別の MySQL データベースを作成するのが最善ですか?
何百万人ものユーザーへの将来のスケーラビリティを処理するためのセットアップは何ですか? 各オプションの長所と短所は何ですか。
1 つのデータベースに数百万のレコードを格納するのは簡単ですが、1 台 (または少数) のコンピューターで数百万のデータベースを処理することは不可能です。
各ユーザーのデータが本当に少なく、実際に多くのユーザーを計画している場合は、各ユーザーにデータベースを提供しようとさえしないでください。データベースは、成長して多くのレコードを処理するように作られています。
100 万のデータベース インスタンスを作成することは、あまり実用的ではありません。
そうです、おそらく、少なくともはるかに少数のデータベースを使用したいと思うでしょう。このクラスの問題は、マルチテナント アプリケーションとして知られています。
Web サイトごとに数千のエントリを保存する場合、MySQL は 1 つのデータベース (およびバックアップとフェイルオーバー用の少なくとも 1 つのスレーブ...) でかなり遠くまで行けることがわかります。
ある時点で、次の顧客のバッチを処理するために、2 番目のマスター/スレーブ DB ペアをセットアップする必要があります。