質問

cassandra couchdb ハイパーテーブル mongodb プロジェクトvoldemort 、 bigtable 、さらにはもっとたくさん。私が心配する限りでは、最も強い長所はスケーラビリティ、性能、そして単純さです。

私たちの次のプロジェクトのためにいくつかの非リレーショナルDBを使用することを提案することを真剣に検討しています。ただし、一部のチームはいくつかのRDBMSファナティクスを構成しているため、感情的な理由から、ハードスイッチを説得できない場合があります。また、複雑なデータモデルに関しては、私は個人的に、低レベルの一貫性執行機構を持つRDBMSの力を信じています。

今ここに私の質問があります。新しいプロジェクトでRDBMS 非リレーショナルDBの両方を真剣に検討することができれば、疑いがあるが、パフォーマンスの重要なデータモデルではなく、リレーショナルモデルとDBを使用して実装されますが、すべてのパフォーマンスが重要ですが、単純なモデルは非リレーショナルDBで実装されます。さらに、そのような柔らかいパラダイムシフトは、硬いものよりも、非常に非常に感情的なチームメンバーに売るのははるかに簡単です。

誰もそのようなアプローチを勧めますか?それとも、あなたはかなり白または白、そしてリレーショナルまたは非関係のアプローチをお勧めしますか?すべてのコメントは大歓迎!


P.:そのようなミックスアップが春と休止状態/ JPAとうまく機能している場合は、任意の考えですか?

役に立ちましたか?

解決

最近Rob Coneeryが彼のことについて MongoDBとMySQLの両方のhref="http://tekpub.com/"LEKPUB の両方で、MongoDBとMySQLの両方が強調表示され、両方の強度が強調表示されます。

高読み取りのもの(アカウント情報、プロダクション、エピソード情報)は、MongoDBのような「今すぐ」のようなものに最適です。 「昨日起こったこと」のものは、リレーショナルシステムに最適です。

高レベルでは、ROBはそれらのアプリケーションデータを2つのスコープに分割します。ランタイムデータと履歴データ。たとえば、ユーザーのショッピングカートの現在の状態は、MongoDBを維持するのに最適です。それは絶えず突然変わっているオブジェクトブロックです。ショッピングカートから出入りしたものの歴史的な記録を保つために。それが起こった時;チェックアウトの状態は、MySQLのリレーショナル、表形式データに最適です。

彼はこれと要約されています:

それは完全に機能します。私たちのセットアップでが幸せになることができました。それは信じられないほど低いメンテナンスで、他の解決策のようにそれを取り戻すことができます、そして私たちはそれを必要とするとき私たちが必要とするデータを持っています。

2016年5月(6年後)

これは過去6年間でより本当になるだけです。これは、おすすめのデータベースと従来のリレーショナルデータベースに電力を供給するNOSQLデータベースと、分析データベースに電力を供給するのが一般的です。

他のヒント

両方を使います。RDBMSは、複雑な分析、レポート、および複数のユーザーによってさまざまな方法でアクセスされるデータに適しています。私が単一のユーザーの観点からデータを見ているとき、NoSQLは素晴らしいです。私が自分自身に尋ねる質問は、次のとおりです。「誰がこのデータにアクセスしていますか?」答えが1ユーザーの場合は、NOSQLを使用して保存します。

もちろん、適切な場合は他にもありますが、それが一例です。

記載されているように、NoSQLはより単純なストレージであり、データを保持するために複雑なコードを正しく右にすることができます。たとえば、接続リストを格納します。

非リレーショナルキー値データベースは、BLOBストレージとキャッシングに最適です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top