Приводит ли очень короткий TTL к данным Cassandra к проблемам с производительностью? - PullRequest
0 голосов
/ 19 мая 2018

Для нашего сайта с высоким трафиком мы создали собственное решение для отслеживания.Мы регистрируем> 1 тыс. Показов в секунду в пике.Для этого мы используем последнюю версию Cassandra 3.

Теперь мы хотим настроить мониторинг этих данных в режиме реального времени.Проблема заключается в том, что фактически зарегистрированные данные плохо структурированы для получения статистики из них.Поэтому я подумал о новой таблице в Cassandra, которая имеет соответствующий раздел / первичный ключ и которая заполнена дополнительным INSERT.Но я не уверен, что это убийца для Кассандры.Как я уже сказал, важна только живая статистика, поэтому я хочу добавить TTL, скажем, 60 секунд ко всем данным в этой таблице мониторинга.Это должно обеспечить автоматическое удаление старых данных.

Но кто-нибудь может сказать, приводит ли это к проблемам с таким высоким трафиком, потому что там, где столько удалений в минуту?Поскольку мы выбираем только последние 5-10 секунд из этой таблицы мониторинга, надгробная плита может не быть проблемой в SELECT, но я предполагаю, что могут быть массивные уплотнения и сборщик мусора, которые ухудшают производительность!?

1 Ответ

0 голосов
/ 22 мая 2018

Да, по-видимому, так и будет.

Наличие короткого TTL означает введение слишком большого количества надгробных камней в вашу систему, что может привести к:

1. Прерыванию запроса

2.нехватка памяти и давление кучи

3. Латентность

в этом случае вам следует очень часто выполнять уплотнение, чтобы исключить надгробную плиту из системы, но это также связано с недостатками ресурсов, занимающим много места и может привести квысокий IO.

...