количества данных в БД идет уже на миллионы?
Есть приложение, которое, можно сказать, считает клики - в день этих кликов может быть до миллиона. Технически клик в БД имеет много различных колонок с данными.
По всем этим данным нужно делать аггрегации, фильтрации, считать количество кликов, количество уникальных кликов и еще с десяток всяких значений по формулам по запросу пользователя.
Если пользователь хочет посмотреть данные сразу за месяц или несколько, то записей по идее может быть пару десятков миллионов.
Как при этих условиях делать real-time аналитику? Если тупо считать в postgres со всеми возможными индексами и тд, то получается довольно медленно, потому что если, например, юзер выбирает сортировку по како-нибудь агрегированному параметру, то базе нужно будет сагрегировать тупо все записи и отсортировать их, пагинация тут не поможет. Materialized view как тут применить я тоже не могу прикинуть, потому что всяких агрегаций и фильтраций слишком много, под каждую отдельно materialized view не сделаешь.
Подскажите советом, как в таких случаях обычно делают? Может я упускаю какую-нибудь крутую возможность psql или что-то еще?
clickhouse - почитай, посмотри
Обсуждают сегодня