Дано:
- Несколько таблиц вроде users, stories, comments, где в каждой поля вроде id, rating, text, is_deleted и т.д.
- Много данных, >145 лямов в comments, > 7 лямов в stories и больше 2.5 лямов в users
- Для каждого столбца таблица с версиями, например, у comments есть столбец rating и для хранения предыдущих значений имеется таблица comment_rating_versions следующего вида:
item_id uint64
timestamp int64
value int32
Также есть версии текстовых и булевых полей, такие же, только тип value отличается.
Всё это крутится на postgres'е.
Задача:
делать эффективно выборки по данным(как по таблицам users, stories, comments, так и по таблицам версий), строить графики, распределения по дням/часам и делать это всё эффективно.
Проблема:
postgres работает с такими данными ооочень медленно, например, распределение всех комментариев по дням строится больше 8 часов!
Вопрос:
Есть ли у кого опыт работы с подобными timeseries данными и какую БД можете посоветовать? Быстрый гуглинг намекает, что есть influxdb, clickhouse от Яндекса и подобные. Или может быть мне подойдёт что-то вроде pipelinedb для postgres'а?