3

私は、ユーザーが独自のプライベート データ セットを持つ必要がある Web アプリケーションに取り組んでいます。私の最初の計画は、stores テーブル、users テーブル、および user_stores 交差テーブルを作成することでした。次に、stores テーブルにそのストアのデータベース名を保存します (そして、アプリケーション ユーザーとパスワードを使用して各ストア固有のデータベースを作成し、Web アプリケーションが常にログインできるようにします)。

各ストアには同様のデータ (ユーザー、製品、配送方法など) があり、外部キー参照を使用してすべてを 1 つの巨大なデータベースに結び付けることができることを知っています。しかし、データは非常に具体的であり、独自のものである可能性があるため、私のオリジナルのデザインを使用するか、全員のデータを含む単一のデータベースを作成する方がよいでしょうか?

スケーリングの問題について考えています。よりアクティブなアカウントを独自の (またはより強力な) データベース サーバーに配置し、必要に応じて stores テーブルにサーバーの場所フィールドを追加するだけでよいため、別のデータベースの方がよいでしょう。さらに、ユーザーのログイン情報をデータベースに追加し、データへのアクセスのみを許可できるため、より安全になる可能性があります (あるユーザーが別のユーザーのものを編集できないようにするため)。私の質問は、私が見逃している懸念はありますか? これについて私が読んだほぼすべての投稿は、私が考えている方法を使用しないように言っており、私は DBA ではありません。どんな入力も役に立ちます。

追加情報: これは、ルート アクセス権を持つ専用サーバーでホストされます。必要な数の MySQL データベースを作成できます。

4

2 に答える 2

7

確かに単一のデータベースを使用します。以下を使用して開始します。単一のデータベースを使用する理由はいくつかありますが、最大の理由はメンテナンスの悪夢からあなたを救うことです。スキーマを変更する必要がある場合、手が混乱します。

http://msdn.microsoft.com/en-us/library/aa479086.aspx

于 2013-04-22T16:39:41.427 に答える