2012-04-07 16 views
0

システム内の項目(ID別)を投票する必要があります。私はそれが約500万票を持つと推定しています。 各投票から成る:投票項目 投票システムのデータベース設計

  • userdata1
  • userdata2
  • 日時
  • "ユーザデータ" フィールドの

    • IDは、最後に不正行為を検出するために使用されます投票。投票の間、すべての投票が登録されなければならない。各「投票項目のidが」各1時間程度
    • を持っているどのように多くの票各1分程度

      • ))どのように多くの票:

        私は情報の2種類を取得できるようにする必要があります「投票されたアイテムのID」は、「userdata」フィールドにいくつかのフィルタを適用した後に(特定の日時間隔などのように一意でなければならないなど)...これらのフィルタを記述する必要はありませんSQLクエリの形で...私は全部で500万票の投票を繰り返し、結果を得てそれをアプリケーションに返す新しいテーブル/データ構造を作成したいと思っています

      票の挿入大したすべきではない(それは約2秒ですので、私はすべてのDBはかなりよくそれを扱うことができますね)

      私はので「スクリプト」のMongoDBのような何かに向かって傾いていますDBを反復処理してフィルタを作成するために必要です。しかし、おそらく、ストアドプロシージャのSQL、またはキー値(Redis?5mi投票は2GB未満のRAMに収まるはずです)DBで解決できますか?

    +2

    この質問はStackOverflowには不適切です。これはプログラミング上の問題ではなく(設計上の問題です)、議論と意見が必要です。 [FAQ](http://stackoverflow.com/faq)には、ディスカッションタイプの質問がここで質問するのに適していないと具体的に言及されています。私はその理由でそれを「建設的ではない」と締結することに投票しました。 –

    +0

    答えは、FAQで説明されている「プログラマーがよく使うソフトウェアツール」に該当すると思います。 – dAm2K

    +0

    データベースはそうですが、質問自体は不適切です。 FAQを読んで、具体的にここで質問しない質問について話します。 :) –

    答えて

    2

    私はあなたが必要とするのはグラフDBだと思います。 OrientDB(http://www.orientechnologies.com/)をお勧めします。それは非常にクールでフル機能のオープンソースグラフデータベースです。これはJavaで書かれていますが、異なるクライアントドライバを使用することもできます。 1.0安定版リリースはほぼあります(< 2週間)。 クラウドで無料(http://www.nuvolabase.com/)で使用できるので、インストールして設定する必要はありません。 スキーマがいっぱい、スキーマが混在し、スキーマが少なく、グラフ、SQL、クラスタリングなどをサポートしています。さらに、必要に応じてデータを柔軟にモデル化することができます。

    関連する問題