DBの構築方法に関する質問があります。私はreddit'esque投票システムを持っています。アイテムは投票権を得ることができます。しかし、各項目はトピックに属し、各トピックはカテゴリに属します。アイテムだけが投票権を得ることができますが、トピック内でもカテゴリ内でも投票数にアクセスできるようにしたいと考えています。どのようにこれを達成するための任意の提案?分類された投票データベースを構成する方法は?
私はこれを行うための4つの主要な方法を参照してください。
- 票をデ正規化し、アイテムテーブルの属性、トピックテーブル、およびカテゴリ表内の票を保存します。私は投票/ダウンボートが発生するたびに3つすべてを更新する必要があります。
- 別の '投票'モデルを作成します。投票は、アイテム、トピックへのアイテム、およびトピックへのトピックに属します。それから私は何かにアクセスする必要があるときはいつでもチェーンを通して投票数を照会することができます。
- アイテムと投票権があります。アイテムにはカテゴリとトピックの属性があります。トピック内のアイテムをクエリし、それらの投票をカウントします。
- NoSQLデータベースシステムを使用する方法を学びます。
追加情報:私はRailsを使用していますが、現時点ではMYSQLのみしか認識していません。これは私がモンゴーのようなものを学ぶべき時でしょうか?これは実際にはHadoopで達成できますか?私はこれをMySQLで達成できますか?ありがとう!
あなたの質問に答えるためのツールについては十分に分かっていませんが、データベースの観点からはオプション番号2が賢明な解決策です。このタイプのものはまさにRDBMSのためのものです。 –