Массовая загрузка в Cassandra, проблема грязного чтения и ее влияние на кластер

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

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

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

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

Спасибо!


person Saurabh Kumar    schedule 21.08.2018    source источник


Ответы (1)


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

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

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

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

person JayK    schedule 21.08.2018
comment
Спасибо за быстрый ответ! Согласно этой статье от Datastax (пожалуйста, просмотрите раздел комментариев), загруженные SSTables видны после успешной массовой загрузки. : datastax.com/dev/blog/using-the -cassandra-bulk-loader-updated В соответствии с этим у нас не должно быть проблем с грязным чтением. Не могли бы вы подтвердить это? - person Saurabh Kumar; 22.08.2018
comment
Они видны после объемной загрузки, а также во время. SSTableloader не дает никаких гарантий, что данные будут вставлены изолированно. - person JayK; 22.08.2018