2012-02-25 3 views
3

大量のインサートをボックスから取り出して処理するために、どのnosqlシステムが優れていますか? 好ましくは、1台の物理マシンで実行します(多くのインスタンスが許可されます)。大量の挿入/書き込みにはnoSQLデータベースが最適ですか?

誰もベンチマークを行ったことはありますか?

を(助けにはならなかったグーグル)注:(のNeo4jなど:MongoDBの、グラフドキュメント)私はのNoSQLデータベースを選択すると、保存する必要のあるデータの種類に依存していることを理解しています。

答えて

8

Apache Cassandraは、独自の永続性モデルのおかげで書き込み操作が素晴らしいです。読者の約20倍も速いと主張する人もいますが、あなたの使用プロファイルに本当に依存していると思います。

their FAQおよびvariousblogpostsで読むこと。

これはもちろん、大量のデータの "古典的な" DBプロファイルがある場合です。データが小さく、一時的に、キャッシュ層として使用されている場合は、メモリベース(最終的なディスク永続性があるため)のため、読み取りと書き込みの両方で最も速いスループットを持つRedisを選択します。

11

高速書き込み速度を望む場合は、データをメモリに挿入して、1分ごとにバックグラウンドでディスクにデータをフラッシュすることができます。それは最速の解決策でなければなりません。

これは実際にモンゴブと赤字です。たとえばmongodbでは、ジャーナルを有効にせずに行くことができ、書き込みは非常に高速になります。しかし、1つのサーバーでメモリにデータを保存すると、サーバーが終了したときにデータ(ディスクにフラッシュされていないデータ)が失われる可能性があります。

一般的にどのデータベースを使用するかは、あなたが解決しようとしているストアとタスクを望むデータに大きく依存します。

+0

後で永続性を持つ、または単純にMQを使用するメモリ内ストレージも、私の最初の選択肢(+1)になります。しかし、私はDBにもっと興味を持っているので、システムを経験の浅いシステム管理者(メンテナンスコストの削減)で維持できるように、すぐに使えるようになっています。 「mongodb with disabled journal」のヒントをありがとう。 – Uzbekjon

1

あなたは、挿入のための複雑なオブジェクト・モデルを扱っている場合は、あなたの最良のオプションは、Versantのようなオブジェクトデータベースです:私のベンチマークによると

http://www.versant.com/vision/The_Magic_Cube.aspx

0

、カサンドラは、大規模なアレイ上のMongoDBよりも優れているが、 MongodDBはより柔軟です。

+0

「より柔軟な」という意味を明確にしていただけますか? –

+0

データモデルはより柔軟です。カザンドラはリストをサポートしていないようですが、バイトにシリアル化する必要があります。そして、cassandraを設定するのはもっと難しく、mongodbは単純な比較です。私の経験によると、MongoDBはNOSQLの新規ユーザーにとっては優れています – David

関連する問題