お客様が PHP/MySQL アプリケーションを AWS に移行するのを手伝っています。私たちが遭遇した問題の 1 つは、膨大な数のデータベースを使用するようにこのアプリを設計したことです。ユーザーごとに (同一のスキーマを持つ) 新しい DB を作成します。彼らは、何万人ものユーザーを持つことを期待しています。
私は MySQL についてよく知りませんが、このセットアップは私にはまったく適していないように思えます。私の唯一の推測は、開発者がこれを行ったのは、膨大な量のデータを含むテーブルを持つことを避けるためだったということです。ただし、欠点しか思いつきません (このシステムを維持することは悪夢であり、拡張が非常に困難であり、スケーリングが困難であるなど..)。
とにかく、このタイプのパターンは MySQL コミュニティ内で一般的に使用されていますか? あるとすれば、どのようなメリットがありますか?
DB スキーマを再設計する必要があることを彼らに納得させようとしています。
* [編集] *
それまでの間、このアプローチの別の欠点を知っています。私たちは当初、Amazon RDS をデータ ストレージに使用するつもりでした。ただし、RDS は現在、インスタンスごとに最大 30 のデータベースをサポートしています。残念ながら、RDS は現在除外されています。RDS がこの制限を設けているという事実はすでに非常に重要です。私の解釈では、これほど膨大な数のデータベースを使用することは、MySQL では一般的ではありません。
ありがとう!