@last7

Какую БД выбрать, для работы со сложными фильтрами (WHERE условиями)?

Допустим, есть интернет-магазин, который собирает информацию о поведении покупателей и такой информации уже на 50М строк в БД (Postgres). И встала задача просматривать (в реал-тайме) сколько покупателей сделало то-то и то-то. К примеру, купил телевизор, просмотрел каталог с чайниками 5 раз, у которого указана фамилия, и заходивший 4 месяца назад на сайт. Другими словами агрегировать информацию, по разными фильтрам, заранее не известным, беглый взгляд по ТЗ выявил, то минимальные будут включать 10-12 условий.

Мысли были разные: создать огромную таблицу со всеми данными, а затем простыми WHERE / GROUP BY выбирать данные; таблица будет большая, но можно будет избавиться от JOIN-нов. Была идея взять MongoDB и его агрегации, но пишут, что они не так уж и быстры. Советовали взять колоночную БД, но данных на мой взгляд не так много и вряд ли это целесообразно.

Кто сталкивался, подскажите какие технологии смотреть?

P.S. Реал-тайм это 15 сек максимум.
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 3
opium
@opium
Просто люблю качественно работать
ну пусть в постгресе все и варится
Ответ написан
Комментировать
romy4
@romy4
Exception handler
это типа Отчёты? если да, то под каждый создаётся своя агрегационная таблица.
Ответ написан
begemot_sun
@begemot_sun
Программист в душе.
Вам, видимо, нужен некий OLAP-куб.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы