5

Java プログラムをサービスとして実行しています。このプログラムは 50k 行/秒 (1 行には 25 列あります) を cassandra クラスターに挿入する必要があります。

私のクラスターには 3 つのノードがあり、1 つのノードには 4 つの CPU コア (コア i5 2.4 GHz) と 4 GB の RAM があります。

Hector api、マルチスレッド、一括挿入を使用しましたが、期待どおりにパフォーマンスが低すぎます (約 25k 行/秒)。

誰もがそのための別の解決策を提案しています。cassandra は内部一括挿入をサポートしていますか (Thrift を使用せずに)。

4

3 に答える 3

1

Cassandraにデータを一括挿入する最速の方法は、0.8以降でCassandraによって提供されたユーティリティであるsstableloaderです。そのためには、最初にsstablesを作成する必要があります。これは、SSTableSimpleUnsortedWriterで可能です。これについて詳しくは、ここで説明します。

もう1つの高速な方法は、Hadoop用のCassandras BulkoutputFormatです。これにより、Hadoopジョブを記述してデータをcassandraにロードできます。hadooを使用したcassandraへのこのバルクロードの詳細を参照してください。

于 2012-06-06T15:12:01.160 に答える