DBシステムが重要なアプリケーションを構築しており、すべての値がデータに格納されるため、スケーラビリティが必要です。ハイブリッドDBシステム:データ用のNoSQL、リレーションシップ用のSQLベストプラクティス?
私はライブ投票システムを作っています。
私はSQLやMongoDBのに慣れていますので、(私はより多くのこれらの時間をMongoDBの構造やJSを好む傾向にあるものの:))それはほとんどの決定の要因ではありません
しかし、私は、ウェブ上で読んだすべてのものから、私はまだ私の決定に不快感を感じる。
- オブジェクト(ユーザー、アイテム、コメントなど)
- (関係をSQLテーブルを有するテーブルのユーザー項目についてのNoSQLドキュメントを持つ:私は何をしたいか
は、両方の利点を組み合わせることです、ユーザーのコメントなど)
票があるたびのNoSQL文書に投票結果を複製
- か、一定の間隔(投票結果の表示にもスピードを得るために)
グレートアドバ中私が見るntagesは以下の通りです:
- ユーザーは自分のプロファイルを表示するために)、NoSQLのすべての利点(スピード、すべての場所、スキーマの柔軟性など)を持っています
- SQLの利点をすべて持っていれば
- 並列化:私はSQLに投票を取得することができますし、非同期モードでドキュメント
- は、高速な読み取りslowish書き込み(と、それは私の場合には関係ありません)
- 関係の整合性が常に
私の質問に保存されています以下のとおりです。
- そうするのが良い方法ですか?ウェブはそれについてかなり恥ずかしそうに見えます
- DB負荷が高いのにピーナッツを最適化していますか? (完全なSQLへのドキュメントの取得とselect *のようなselect *のようなクエリは、primary_key = XXXのテーブルから比較します)
良い質問です。私は、いろいろなNoSQL技術を使って、ちょっとしたアイデアを試してきました。本当に答えを書こうとする少しの時間があれば、後で答えるかもしれません。 –
これを正しく理解すれば、MongoDBをある種のキャッシュのように使いたいのですか?あなたが記述したところから、私はそれが悪い考えではないと思うので、MongoDBがアプリケーション層でRDBMSと一貫していることを確認する必要があります(速度はコードの複雑さが増します) – LMeyer