投票メカニズム用のデータベースの選択を求めるトピックをたくさん見てきましたが、私の入力は少し異なります。複数のフィールド/ラジオボタンまたは上記の組み合わせが可能なGUIを含むアプリケーションがあります。GUIは修正されていません。送信されたフォームに基づいて、回答XMLが動的に生成されます。
したがって、フォームがある場合、同じフォームを送信する10000人の異なる人がいる可能性があります。そして私は10000の異なるフォームを持っています(数は増加します)。
現在、次の2つのオプションがあります。すべてのxmlをデータベースにそのまま保存するか(リレーショナルデータベースまたはmongodbのようなnosqlデータベースを使用することを選択していません)、xmlを解析してすべてのフォームのテーブルを作成します。そうすると、テーブルの数は膨大になります。
ここで、基本的に特定のフォーム用に生成されたすべてのxml、つまり10000 xmlを調べ、送信された回答を抽出する投票メカニズムを構築する必要があります(注:1つのフォームに複数の回答要素を含めることができるため、xmlは複雑です)。投票して、同じ答えを出した人の数を見つけてください。
私の質問:
- リレーショナルデータベースまたはNOSQL(MongoDB / Redisまたは同様のもの)を使用する必要がありますか?
- xmlドキュメントをデータベースにそのまま保存する必要がありますか、それとも解析してテーブルに変換して保存する必要がありますか?私が従うことができる他のアプローチ。
現在、開発にJAVA/J2EEを使用しています。