В Кассандре, если у меня есть таблица на запрос, и у меня есть несколько комбинаций фильтра, я создаю таблицу для каждого из них? - PullRequest
0 голосов
/ 01 июля 2018

Я новичок в NoSQL, и я пытался понять, как правильно моделировать данные для сайта электронной коммерции. У Amazon есть эти фильтры для различных типов продуктов, например, если вы ищете ноутбуки, есть фильтры, такие как бренд, процессор, жесткий диск, видеокарта, операционная система и т. Д.

Итак, насколько я понимаю, сначала первичный ключ будет разделен по идентификатору узла (т. Е. Ноутбуку), затем у нас могут быть дополнительные ключи в качестве ключа сортировки, но проблема в том, что если будет 6 фильтров, будет около 64 комбинации, которые могут быть сформированы. Я могу выбрать марку и процессор, или, возможно, марку и видеокарту, или, может быть, процессор и видеокарту, и это будет экспоненциально с количеством фильтров, поэтому я предполагаю, что иметь таблицу для каждой возможности нереально.

Я также сомневаюсь, что фильтрация после получения данных всего раздела возможна, что было бы слишком медленно. Итак, как кто-то должен моделировать базу данных. Извините, если мой вопрос не имеет смысла.

1 Ответ

0 голосов
/ 01 июля 2018

То, что вы пытаетесь сделать, это поиск и фильтрация. Я не думаю, что это хорошая идея, чтобы попытаться смоделировать все такие комбинации условий в Кассандре, и она не сможет масштабироваться. Использование ElasticSearch или SOLR является одним из вариантов таких сценариев вместо прямого запроса к базе данных (даже если это СУБД) для корпоративных систем с высоким трафиком.

...