Мы генерируем 240 000 записей в секунду и сохраняем файл csv. Теперь мы хотим загрузить их в Кассандру.
я использовал 3 метода:улучшить производительность Массовая загрузка в cassandra
sstableloader: мы генерируем sstable и использовать sstableloader команду, чтобы загрузить их, но этот метод занимает много времени, чтобы закончить и число строк в секунду: 15000
JmxBulkLoader: этот метод лучше, чем sstableloader. Количество строк/с 17 000
копии: не надлежащим для сыпучих и аварии при использовании
конфигурации системы:
CPU: Intel (R) Xeon (R) E5 процессора -2697 v3 @ 2,60 ГГц. 56 Сердечники
Оперативная память: 64 G
Жесткий диск:1TB local for cassandra nodes and 10TB in a network drive (data files stored in this hard)
У нас есть 2 узлов в этой машине.
Спасибо.
когда вы говорите JMX, что именно вы имеете в виду? Вы, кажется, довольно осведомлены по этой теме, это в значительной степени (кроме jmx, которые я не понимаю, что это такое) и написания собственного импортного приложения ... просто теоретически вы можете сгенерировать sstables непосредственно на узлах, а затем вызвать nodetool refresh, но то, что вы описали, в значительной степени это (интересный вопрос), но могут быть некоторые способы, которые я не знаю :) (как всегда) –
Я полагаю, что сохранение в Cassandra будет быстрее, чем сохранение в CSV-файле. Что бы я сделал, используйте некоторый сервис кеши, например redis, а затем сохраните записи в Cassandra. – Gunwant
@ MarkoŠvaljek мы используем jmx для подключения к кассандре из java-драйвера и отправки данных в cassandra. –