Массовая загрузка в Кассандре, проблема грязных чтений и ее влияние на кластер

Наш пример использования - загрузка больших объемов данных в наш работающий производственный кластер Cassandra. Мы должны загружать объемные данные в Кассандре ежедневно. Мы наткнулись на sstableloader. У нас есть несколько запросов примерно так же:

1: Когда мы загружаем объемные данные в наш работающий производственный кластер с помощью sstableloader, есть ли у нас возможность "грязного" чтения?(В основном, sstableloader загружает все данные одновременно или продолжает обновляться по мере поступления данных?) "Грязное" чтение не приемлемо в нашей производственной среде.

2: Когда мы загружаем объемные данные в наш работающий производственный кластер, влияет ли это на доступность кластера?(В основном, поскольку мы загружаем огромное количество данных в работающий производственный кластер, это влияет на его производительность? Нужно ли увеличивать узлы кластера для сделать его доступным во время массовой загрузки?)

3: Если существует возможность "грязного" чтения в живом производственном кластере с использованием sstableloader, предложите альтернативный инструмент, который может избежать этой проблемы. Мы хотим, чтобы все объемные данные появлялись сразу, а не постепенно.

Спасибо!

1 ответ

  1. SStableloader загружает данные постепенно. Он не загрузит все сразу.

  2. Это определенно будет иметь влияние. Насколько серьезным является это влияние, зависит от размера передаваемых данных, а также от многих других факторов. Вы можете регулировать пропускную способность с помощью параметров в sstableloader, которые могут помочь в этом отношении. Запустите этот вариант использования на тестовом кластере и посмотрите, как sstableloader повлияет на ваш набор данных.

  3. На самом деле не существует способа заставить это работать без предоставления хотя бы небольшого периода времени, когда данные "грязные", если вы не готовы сократить время простоя.

Например, для любителей приключений вы можете добавлять SSTables непосредственно в папки данных всех ваших узлов и запускать обновление nodetool. Тем не менее, это не будет точно одновременным и, следовательно, в течение короткого периода времени может привести к грязному чтению или неудачному чтению.

Другие вопросы по тегам