我有一個java程序作爲服務運行,該程序必須向cassandra集羣插入50k行/秒(1行有25列)。Cassandra批量插入解決方案
我的集羣包含3個節點,1個節點有4個cpu核心(核心i5 2.4 ghz),4 gb ram。
我使用了Hector api,多線程,批量插入,但性能過低(約25k行/秒)。
任何人都建議另一種解決方案。是否有cassandra支持內部批量插入(不使用Thrift)。
我有一個java程序作爲服務運行,該程序必須向cassandra集羣插入50k行/秒(1行有25列)。Cassandra批量插入解決方案
我的集羣包含3個節點,1個節點有4個cpu核心(核心i5 2.4 ghz),4 gb ram。
我使用了Hector api,多線程,批量插入,但性能過低(約25k行/秒)。
任何人都建議另一種解決方案。是否有cassandra支持內部批量插入(不使用Thrift)。
Astyanax是Apache Cassandra的高級Java客戶端。 Apache Cassandra是一個高度可用的列式數據庫。 Astyanax目前正在Netflix上使用。通常情況下,問題的解決速度與經常發佈的版本一樣快。
我有好運氣創建sstables並直接加載它們。有一個包含在發行版中的工具以及一個JMX接口。您可以使用SSTableSimpleUnsortedWriter類創建sstables。
詳情here。
向卡桑德拉批量插入數據的最快方法是sstableloader Cassandra在0.8以後提供的實用程序。對於您必須首先創建sstables這是可能的SSTableSimpleUnsortedWriter更多關於這被描述here
另一種更快的方式是唱衰BulkoutputFormat爲hadoop.With這一點,我們可以編寫Hadoop的工作將數據加載到cassandra.See更多這bulkload to cassandra with hadoo
感謝您的幫助!我現在試試看:D:D –
感謝您的幫助!我現在試試看:D:D –