2

お客様が PHP/MySQL アプリケーションを AWS に移行するのを手伝っています。私たちが遭遇した問題の 1 つは、膨大な数のデータベースを使用するようにこのアプリを設計したことです。ユーザーごとに (同一のスキーマを持つ) 新しい DB を作成します。彼らは、何万人ものユーザーを持つことを期待しています。

私は MySQL についてよく知りませんが、このセットアップは私にはまったく適していないように思えます。私の唯一の推測は、開発者がこれを行ったのは、膨大な量のデータを含むテーブルを持つことを避けるためだったということです。ただし、欠点しか思いつきません (このシステムを維持することは悪夢であり、拡張が非常に困難であり、スケーリングが困難であるなど..)。

とにかく、このタイプのパターンは MySQL コミュニティ内で一般的に使用されていますか? あるとすれば、どのようなメリットがありますか?

DB スキーマを再設計する必要があることを彼らに納得させようとしています。

* [編集] *

それまでの間、このアプローチの別の欠点を知っています。私たちは当初、Amazon RDS をデータ ストレージに使用するつもりでした。ただし、RDS は現在、インスタンスごとに最大 30 のデータベースをサポートしています。残念ながら、RDS は現在除外されています。RDS がこの制限を設けているという事実はすでに非常に重要です。私の解釈では、これほど膨大な数のデータベースを使用することは、MySQL では一般的ではありません。

ありがとう!

4

2 に答える 2

0

この考えも私にはかなり奇妙に思えます!結局のところ、データベースは大規模なデータ セットを処理するように設計されています。データの量について本当に懸念がある場合は、通常、テーブルを異なるデータベースに分割することをお勧めします。これにより、データベース レベルのプロセスをハードウェア全体に分散してパフォーマンスを向上させることができるため、異なる物理サーバーでホストされます。

また、彼らがこのアプリケーションをどのようにホストする予定なのかはわかりませんが、多くのホスティング プロバイダーはデータベース インスタンスごとに料金を請求します!

これがもたらすもう 1 つの問題は、レポート作成がより困難になることです。クエリに 10,000 のデータベースのテーブルを含めたいとは思いません!!

于 2013-07-03T22:25:49.637 に答える