私は、ユーザーが独自のプライベート データ セットを持つ必要がある Web アプリケーションに取り組んでいます。私の最初の計画は、stores テーブル、users テーブル、および user_stores 交差テーブルを作成することでした。次に、stores テーブルにそのストアのデータベース名を保存します (そして、アプリケーション ユーザーとパスワードを使用して各ストア固有のデータベースを作成し、Web アプリケーションが常にログインできるようにします)。
各ストアには同様のデータ (ユーザー、製品、配送方法など) があり、外部キー参照を使用してすべてを 1 つの巨大なデータベースに結び付けることができることを知っています。しかし、データは非常に具体的であり、独自のものである可能性があるため、私のオリジナルのデザインを使用するか、全員のデータを含む単一のデータベースを作成する方がよいでしょうか?
スケーリングの問題について考えています。よりアクティブなアカウントを独自の (またはより強力な) データベース サーバーに配置し、必要に応じて stores テーブルにサーバーの場所フィールドを追加するだけでよいため、別のデータベースの方がよいでしょう。さらに、ユーザーのログイン情報をデータベースに追加し、データへのアクセスのみを許可できるため、より安全になる可能性があります (あるユーザーが別のユーザーのものを編集できないようにするため)。私の質問は、私が見逃している懸念はありますか? これについて私が読んだほぼすべての投稿は、私が考えている方法を使用しないように言っており、私は DBA ではありません。どんな入力も役に立ちます。
追加情報: これは、ルート アクセス権を持つ専用サーバーでホストされます。必要な数の MySQL データベースを作成できます。