私はデータベースストレージとしてmongodbを使用しています。
私のWebアプリはユーザーの応答を収集する必要があります。
ユーザーの応答は、mongodbのドキュメント(またはSQLの行)です。文書の長さは約10〜200です。
ユーザーの応答は分類されます(1つのカテゴリのみに)。カテゴリごとに、ユーザーの応答数は100〜5000です。2つのドキュメントが同じカテゴリにある場合、その長さは同じです。(またはSQLに同じ列があります)
カテゴリは、管理者の要求により動的に作成/削除できます。
現在、私のデータ構造は
category collection
{_id, 'name' : 'c1', 'somevalue' : '123'}
{_id, 'name' : 'c2', 'somevalue' : '23'}
{_id, 'name' : 'c3', 'somevalue' : '143'}
{_id, 'name' : 'c4', 'somevalue' : '153'}
...
'c1' collection
{ userresponse1 }
{ userresponse2 }
{ userresponse3 }
...
'c2' collection
{ userresponse1 }
{ userresponse2 }
{ userresponse3 }
...
'c3' collection
{ userresponse1 }
{ userresponse2 }
{ userresponse3 }
...
'cN' collection
{ userresponse1 }
{ userresponse2 }
{ userresponse3 }
..
これは賢明な決断ですか?カテゴリごとにコレクションを割り当てることで、何かが悪くなる可能性が心配です。コレクションが多い場合、パフォーマンスの問題は発生しますか?コレクションをマージして、代わりにuserresponsesにいくつかの識別子を与える必要がありますか?