Задать вопрос
deleted-mifki
@deleted-mifki

Как хранить и выбирать такие данные?

Есть большое количество записей, у которых среди прочих полей есть, допустим, список меток, дата и статус. При работе с этими данными пользователь сначала фильтрует их по всем полям кроме даты и статуса. Фильтр может вернуть как мало записей, так и хоть все. После этого отфильтрованные данные должны быстро вытаскиваться по статусу и диапазону дат.

Проблема в том, что фильтр может быть очень сложный и долгий для исполнения (например, записи, которые содержат 20 меток, не содержат 20 других меток и содержат какое-то слово в названии), то есть совать его в каждый запрос нельзя. Соответственно, надо кэшировать список отфильтрованных записей, причем чтобы сам этот кэш был проиндексирован по дате/статусу для последующей выборки. Какие бы средства (БД) применить, чтобы это эффективно реализовать? SQL, NoSQL, мне в принципе все равно сейчас.
  • Вопрос задан
  • 3354 просмотра
Подписаться 4 Оценить 2 комментария
Ответ пользователя Максим К ответам на вопрос (3)
mgramin
@mgramin
Фильтр может вернуть как мало записей, так и хоть все. После этого отфильтрованные данные должны быстро вытаскиваться по статусу и диапазону дат.

Т.е. в любом случае пользователю возвращается некий ограниченный набор данных, верно? В таком случае можно начать с реляционки и грамотного индексирования.
Ответ написан