26

MongoDB(ドキュメントベース)、HBase(列ベース)、Neo4j(オブジェクトグラフ)の長所と短所は何ですか?

それぞれの典型的なユースケースのいくつかを知ることに特に興味があります。

グラフが他の方法よりもうまく解決できる問題の良い例は何ですか?

たぶん、SlideshareやScribdに値するプレゼンテーションはありますか?

4

6 に答える 6

50

MongoDB

スケーラビリティ:高可用性と一貫性がありますが、関係と多くの分散書き込みに悪影響を及ぼします。主な利点は、スキーマレスドキュメントの保存とインデックス作成です。ドキュメントサイズは4MBに制限されており、インデックス作成は限られた深さでのみ意味があります。http://www.paperplanes.de/2010/2/25/notes_on_mongodb.htmlを参照してください

最適な用途:深さが制限された樹木構造

ユースケース:多様なタイプの階層、生物学的分類学、図書館目録

Neo4j

スケーラビリティ:高可用性ですが、配布されていません。ノード空間での高速トラバーサルのための強力なトラバーサルフレームワーク。数十億のノード/関係のグラフに限定されます。http://highscalability.com/neo4j-graph-database-kicks-buttoxを参照してください

最適な用途:無制限の深さと周期的な重み付き接続を備えた深いグラフ

ユースケース:ソーシャルネットワーク、トポロジ分析、セマンティックWebデータ、推論

HBase

スケーラビリティ:ペタバイト以上の信頼性の高い一貫したストレージ。限られたスパース属性のセットを持つ非常に多数のオブジェクトをサポートします。大規模なデータ処理ジョブのためにHadoopと連携して動作します。http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html

最適な用途:有向非巡回グラフ

ユースケース:ログ分析、セマンティックWebデータ、機械学習

于 2011-01-04T07:40:25.910 に答える
4

これを指摘するのは奇妙に思えるかもしれませんが、Herokuは最近、noSQLの提供に夢中になり、現在のプロジェクトの多くの概要を把握しています。それは決してSlideshareプレスではありませんが、比較プロセスを開始するのに役立ちます。

http://blog.heroku.com/archives/2010/7/20/nosql/?utm_medium=email&utm_source=EmailBlast&utm_content=619506254&utm_campaign=HerokuSeptemberNewsletter-VersionB&utm_term=NoSQLHerokuandYou

于 2010-09-17T13:51:42.553 に答える
4

これをチェックして、NoSQLデータベースの比較を一目で確認してください。

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

于 2013-03-30T15:16:08.427 に答える
0

また、NoSQL製品の第2世代として、マルチモデルDBMSを評価することもできます。マルチモデルを使用すると、1つのモデルだけを選択することで妥協する必要はなく、複数のモデルを選択できます。

最初のマルチモデルNoSQLはOrientDBです。

于 2014-11-20T20:58:26.077 に答える
0

MongoDB:

MongoDBは、リレーショナルデータベースとは異なりドキュメントデータベースです。ドキュメントには、JSONオブジェクト(スキーマフリー)などの半構造化データが格納されます

主な機能:

  1. スキーマはアプリケーションの進化によって変化する可能性があります
  2. 完全な索引付け
  3. 負荷分散とデータシャーディング
  4. データ複製
  5. CAP理論における一貫性と分割(一貫性-可用性-分割)

いつ使用するか:

  1. リアルタイム分析
  2. 高速ロギング
  3. 半構造化データ管理

使用しない場合:

  1. 強力なACIDプロパティ(Atomicity、Consistency、Isolation&Durability)を備えたトランザクション性の高いアプリケーション。このユースケースでは、RDBMSが推奨されます。
  2. 関係を含むデータセットの操作-外部キーなど

HBASE:

HBaseは、オープンソースの非リレーショナル分散列ファミリーデータベースです。

主な機能:

  1. これは、大量のスパースデータ(20億レコードのグループで最大の50アイテムを検索する、または非膨大なコレクションの0.1%未満を表すゼロアイテム)
  2. 各行が異なる可変スキーマをサポートします
  3. MapReduceジョブの入力と出力として機能できます
  4. 列ごとの圧縮、メモリ内操作、およびブルームフィルター(要素がセットに存在するかどうかを迅速かつメモリ効率で通知するように設計されたデータ構造)5。CAPでCPを達成する

HBaseを使用する場合:

  1. キーごとにデータを読み込む場合、キー(または範囲)ごとにデータを検索する場合、キーごとにデータを提供する場合、キーごとにデータをクエリする場合
  2. スキーマ(可変スキーマ)に適合しない行ごとのデータの保存

HBaseを使用しない場合:

  1. リレーショナル分析用
  2. 全表スキャン
  3. 列ではなく行で分析され、集計されるデータ

Neo4j:

Neo4jは、プロパティグラフデータモデルを使用したグラフデータベースです(データはグラフおよびノー​​ドとプロパティとの関係として保存されます)

主な機能:

  1. 完全なACID(Atomicity、Consistency、Isolation、Durability)ルールをサポート
  2. ApacheLucenceを使用してインデックスをサポートします
  3. スキーマフリーのボトムアップデータモデル設計
  4. グラフで使用できるコンパクトなストレージとメモリキャッシュにより、高いスケーラビリティが実現されました

いつ使用するか:

  1. マスターデータ管理
  2. ネットワークおよびIT運用
  3. リアルタイムの推奨事項
  4. 不正検出
  5. ソーシャルネットワーク(Facebookなど)

使用しない場合:

  1. 一括クエリ/スキャン
  2. アプリケーションでデータのパーティショニングとシャーディングが必要な場合

この記事でさまざまなNoSQLテクノロジーの比較をご覧ください

出典:

Wiki、Slide shareClouderaTutorials PointNeo4j

于 2015-11-11T17:07:00.233 に答える
-1

MongoDBとNoRM(MongoDBの.net拡張子)に関するかなりまともな記事 http://lukencode.com/2010/07/09/getting-started-with-mongodb-and-norm/

于 2010-09-17T13:44:29.673 に答える