У меня есть набор данных в базе данных кассандры, где каждая запись должна обрабатываться один раз в месяц (в основном, ежемесячная подписка). Процесс выполняется каждый день, поэтому данные делятся на 31 части, которые обрабатываются каждый день. Я пытаюсь создать ключ раздела, чтобы избежать фильтрации всего набора данных.
Первое решение - назначить ключ раздела, основанный на дне месяца. Это означает, что у меня есть фиксированное количество разделов (31), которые я могу обрабатывать каждый день. Но проблема в том, что со временем размер данных будет увеличиваться, но количество разделов останется прежним, и я могу столкнуться с проблемами производительности из-за слишком широких строк.
Другое решение состояло бы в том, чтобы вообще не иметь дело с этой проблемой и обрабатывать всю таблицу, используя Apache Spark каждый день (в основном, выбирайте 1/31 данных, используя Spark-фильтрацию). Со временем данные будут увеличиваться, но узлы в кластере также будут увеличиваться, и у меня может быть постоянная производительность. Но все рекомендации против фильтрации данных в Кассандре.
Максимальное количество строк, которое теоретически возможно иметь в этом случае, составляет около 1 млрд.
Какие будут рекомендации?