Я новичок в Cassandra, поэтому я прочитал десяток статей об этом, и поэтому я знаю основы. Все учебники показывают эффективный поиск данных на 1 или 2 столбца и временной диапазон. Я не мог найти, как правильно моделировать ваши данные, если у вас больше условий.Модель данных Cassandra с несколькими условиями
У меня есть большие события нормализованы базы данных, с довольно небольшим числом столбцов, говорят:
- Тип события
- время
- электронной
- User_age
- user_country
- user_language
- и так далее.
Мне нужно будет иметь возможность запрашивать все столбцы. Таким образом, в RDBMS я бы запрос:
SELECT email FROM table WHERE time > X AND user_age BETWEEN X AND X AND user_language = 'nl'
и т.д ..
Я знаю, что могу сделать отдельную таблицу для каждого столбца, но я все равно должен был бы объединить результаты. Может быть, это не плохой подход, но я сомневаюсь, так как нет подзапросов.
Мой вопрос, очевидно, как я могу правильно моделировать данные такого рода в Кассандре?
Большое спасибо!
Таким образом, потенциальное решение будет таким: Создайте отдельную таблицу для каждого типа события. У нас есть столбец «merchant_id», который мы можем использовать в качестве ключа раздела, мы всегда смотрим таймер и merchant_id, так что на одном разделе. Не могли бы мы добавить остальные как вторичные индексы? потенциально все еще может быть миллионы строк в таблице eventtype + merchant_id + выбор времени. –