生徒と教師の間に多対多の関係があり、生徒を教師に、教師を生徒に割り当てるアプリを作成するとします。おそらく、データを正規化する必要があります (Teacher Collection と Student Collection が必要です)。
上記の場合 (多対多)、MongoDb の代わりにリレーショナル データベース (MySQL など) を使用した場合、パフォーマンスが向上するのでしょうか? 1 対多のパフォーマンスはどうですか?
生徒と教師の間に多対多の関係があり、生徒を教師に、教師を生徒に割り当てるアプリを作成するとします。おそらく、データを正規化する必要があります (Teacher Collection と Student Collection が必要です)。
上記の場合 (多対多)、MongoDb の代わりにリレーショナル データベース (MySQL など) を使用した場合、パフォーマンスが向上するのでしょうか? 1 対多のパフォーマンスはどうですか?
正直なところ、実装に依存します。MySql では、スキーマをどのようにレイアウトしてインデックスを作成するかによって異なります。
フラット DB ストレージ (Mongo) は、パフォーマンスが自動的に向上するという意味ではありません。それは純粋に主観的なものです。
あなたの説明に基づいたMySqlの例を次に示します。
create table teachers (teacher_id int Primary Key, teacher_name varchar(20))
create table students (student_id int Primary Key, student_name varchar(20))
create table teacher_student_assoc (assoc_id int Primary Key, teacher_id int, student_id int) create index on teacher_id and student_id
MySql db が大打撃を受けない限り (サイトが 1 日に 100K ヒットすると仮定して)、パフォーマンスを心配する必要がある理由がわかりません。
必要に応じて memcache を実装することもできます。
幸運を。