начинаются проблемы с хранением в БД поля в формате JSON и взаимодействием с этим полем?
Есть желание сохранять в БД ПГ набор информации, но нет желания растягивать таблицу под каждую метрику.
Ожидания от таблицы простые: Выполнять селект по параметрам из json с группировками.
Таблица не большая, в день там в среднем 1-2тыс может появляться. Максимально 30тыс было в день.
Можно как-то просчитать при каких объемах будут тормозить выборки или при таких объемах вообще нет смысла заморачиваться?
Таблица чисто для аналитики, оперативных вычитываний из нее нет.
лучше хранение в поле типа jsonb с индексацией. если будут проблемы со скоростью записи/перестроения индексов - то рассмотрите вопрос организации секционирования таблицы
Интересно, по поводу 3х кто поставил 👎. Чем плох предложенный вариант?
Второе предложение слегка не к месту имхо
Лично для меня он плох тем, что: . Это уверенный ответ на неведомо какой (очень невнятно сформулированный) вопрос. . Почти всегда jsonb (и ему подобные) в реляционных СУБД проигрывают по большинству параметров (по которым их можно сравнить) реляционной модели тех же данных (неожиданно, правда? ;) ).
Да, секционирование, я думаю, мне не нужно будет. Вот про тип, надо изучить.
Если сравнивать json vs jsonb то выбор очевиден, а по поводу неведомых требований вы уже высказались
Как план — примерно всем. Во-первых, операцыи над json[b] — это примерно предпоследний вариант, когда реляцыонная декомпозицыя что-то неработает, и структура в принцыпе неопределена. Ну, или с реляцыонной декомпозицыей есть измеренные проблемы со скоростью. Так-то индэксацыя json у нас так себе, поиск по нему — тожэ (дажэ не в плане скорости), с цэлостностью данных всё не очень хорошо, да и с параллелизмом доступа много плохого. Во-вторых, секцыонирование — в среднем замедляет работу с базой. С нормально организованной базой. Так что рассматривать его как ускорение текущей работы — это нонсенс. Ну, и к тому жэ, примерно в 98% случаев секцыонированием занимаются поскольку могут (хоть как-то), а не потому, что это реально требуется.
> Если сравнивать json vs jsonb то выбор очевиден, Правда? А зачем же у нас два типа-то? ;) И высказывался я не только про это, а про сравнение с нормальной моделью (см. https://t.me/pgsql/505082).
Обсуждают сегодня