Мне нужно выяснить, больше ли количество записей в таблице Кассандры, чем определенное число, например, 10000.
У меня все еще нет большого набора данных, но в большом масштабе, с возможными миллиардами записей, как я смогу добиться этого эффективно?
Потенциально могут быть миллиарды записей или только тысячи. Мне просто нужно знать, есть ли больше или меньше, чем 10K.
Это ниже не кажется правильным, я думаю, что он потерпит неудачу или будет очень медленным для большого количества записей.
ВЫБЕРИТЕ СЧЕТЧИК (*) ИЗ ДАННЫХ ГДЕ sourceId = {id} И отметка времени <{endDate} И отметка времени> {startDate};
Я также мог бы сделать что-то вроде это:
SELECT * FROM data WHERE sourceId = {id} И отметка времени <{endDate} И отметка времени> {startDate} LIMIT 10000;
и количество в памяти
Я не могу использовать новую таблицу для подсчета, например, когда записывается новая запись, увеличить счетчик, эта опция недопустима.
Есть ли какой-то другой способ сделать это? Выбор с ограничением выглядит глупо, но кажется наиболее жизнеспособным.
sourceId - это ключ раздела, а метка времени - это ключ кластеризации.
Версия Cassandra - 3.11.4, и я работаю в Spring, если она имеет какое-либо отношение .