У меня есть приложение с несколькими таблицами, такими как users
, stories
, comments
, которое состоит из таких полей, как id
, rating
, text
, is_deleted
и так далее.
Имеется> 145 млн. Комментариев,> 7 млн. Историй и> 2,5 млн. Пользователей.
Для каждого столбца в каждой таблице у меня есть другая таблица для хранения версий, например comments
rating
имеет таблицу, определенную следующим образом:
item_id uint64
timestamp int64
value int32
Есть также те же таблицы для истории столбцов других типов, таких как bool или string.
Теперь это работает на postgres .
Чего я хочу достичь : эффективно запрашивать данные, распределять их по дням и часам и собирать другую статистику по моим данным.
Проблема заключается в том, что postgres действительно медленный, например, требуется> 8 часов для распределения комментариев по дням, а запросы типа select count(*) where timestamp > x and timestamp < y
также медленные, потому что postgres выбирает все значения и не имеет индекса для подсчета.
Вопрос : Какая база данных более удобна для данных такого рода? Слышал, что есть приливы, клики и другие, у меня нет опыта работы с ними, поэтому мне трудно выбрать.