2016-07-18 6 views
1

私はMongoDBを使いましたが、Cassandraを初めて使用しました。私はMongoDBを使用しているアプリケーションに取り組んでおり、非常に大きなアプリケーションではありません。読取りおよび書込み操作はあまり集中的ではない。このシナリオではMongoDBがうまくいきました。今、私は、データベースへの同じ項目の同時書き込み操作(多くの場合、スタックオーバーフロー(投票、合計ビュー、提案、コメントなどの機能)を持つ新しいアプリケーションを構築しています。だから、情報によると、私はオンラインで集めました、MongoDBは最良の選択ではありません(ただし、カサンドラです)。しかし、問題は私がfindingカッサンドラです正しいデータモードを選んでいる。広範な読み書き操作用MongoDB vs Cassandra

クエリの周囲のモデルを構築します。リレーションと周囲のオブジェクトではありません。 オブジェクト

また、Mongo + Redisを使用したソリューションも確認しました。最初にMongoデータベースを更新してからupdating Redis DBを更新すると、同じデータ項目に対するすべての複数の書き込み要求が効率的になります。

この問題を解決するには、どちらが最善であるかを確認したいMongo + Rides or Cassandra?

ご協力いただければ幸いです。

答えて

1

データベースを選択することは非常に主観的です。私は、新しいWiredTigerストレージエンジンを使用している近代的なMongoDB 3.2以降では、並行性をかなりうまく処理していると言えます。

分散型のNoSQL(またはSQL)データストアを選択するとき、あなたは一般的にのみ、これら三つのうちの2つを選ぶことができます。

  • Consistency(すべてのノードが同時に同じデータを参照してください)
  • Availability(すべての要求は、
(システムがネットワーク障害に起因する任意のパーティショニングにもかかわらず、動作し続ける) Partition tolerance
  • )が成功したか失敗したかについての応答を受信します

    これはCAP Theoremと呼ばれます。

    MongoDBにはCとPがあり、CassandraにはAとPがあります。Cassandraは列指向データベースでもあり、MongoDBとは異なる方法でデータを格納したり取り出したりします(これはDocument )。実際のところ、どちらのデータベースもニーズに合わせて簡単に拡張できる必要があります。私は、データの格納と検索のセマンティクスがアプリケーションのデータモデルにどれほど適しているか、提供されている機能がどれほど有用であるかについて心配しています。

    あなたのアプリケーションに最適なデータベースを決定することは、非常に主観的であり、スタックオーバーフローの「意見に基づく質問」の境界線です。

    RedisをLRUキャッシュとして使用することは、間違いなく有効なスケーリング戦略のコンポーネントです。典型的なモデルは、キャッシュ可能なデータを読み込むときに、そのデータがキャッシュ(Re​​dis)に存在するかどうかをチェックし、そうでない場合、データベースからクエリを実行し、その結果をキャッシュに格納して返します。場合によっては適切かもしれませんが、すべてをRedisとデータベースの両方に書き込むのは一般的ではありません。キャッシュ可能なものと各キャッシュされたアイテムの存続期間を把握し、上記で説明したように読み取り時にキャッシュするか、書き込み時にキャッシュするかを決定する必要があります。

    +1

    アプリのために最適なデータベースを決定することは非常に主観的であると言って右です。これは、アプリケーションの機能に依存します。私はmongoを使用してセカンダリデータベースとしてRedisを使用したいと思います。 Redisのデータベースに最初に書き込むと、mongoデータベースを非同期に更新するイベントをトリガするredisトリガがあるかどうか疑問に思っています。 –

    0

    あなたのアプリケーションが何であるかによってのみ異なります。大量の書き込みアプリの場合は、カサンドラと一緒に行く方が良いです。

    0

    同意します。あなたが大量の書き込みワークロードを持っているなら、カサンドラがより良い選択になるでしょう。

    私は一緒にここにMongoDBとCassandraの間のハイレベルの比較を入れている - https://scalegrid.io/blog/cassandra-vs-mongodb/

    関連する問題