Илья Сазонов, Федор Сазонов - Как хранить JSON в базе данных, не привлекая внимания DBA

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 มี.ค. 2023
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    Рано или поздно перед любым разработчиком встает проблема рассогласования импеданса между объектной и реляционной моделью. Звучит дико, конечно. Скажем проще. Рано или поздно каждому разработчику приходится хранить в базе данных что-то такое, что там хранить неудобно. Например, какой-то сущности надо приписывать какие-то дополнительные атрибуты, названия и типы данных. Или кто-то хочет отобразить на реляционные таблицы дерево наследования. Для этих задач есть известные проработанные и неудобные способы решения, которые к тому же легко могут привести к проблемам с производительностью.
    Альтернатива этому всему - хранение таких данных в виде JSON. Но реляционные СУБД JSON не любят. Дошло даже до того, что Mongo, киллер-фичей которой как раз является хранение данных в виде JSON, набрала на этом нешуточную популярность. Но, к счастью, эти времена потихоньку отступают. Во многом благодаря усилиям разработчиков PostgreSQL. Раньше все попытки положить JSON в базу данных встречали враждебную реакцию со стороны DBA, аналитиков и QA. Эту реакцию можно описать так: «У нас же тогда будет не база данных, а помойка!»
    Спикеры поговорят о связанных с этим проблемах, расскажут, как их можно решить не выходя из реляционной структуры, и продемонстрируют, что с этими решениями не так. Также вы узнаете, в каких случаях для решения этих проблем можно применить JSON и почему львиная доля опасений DBA, аналитиков и QA теперь неактуальна. А еще - как при использовании JSON не выстрелить себе в ногу, потому что нюансы есть.
    Ссылка на презентацию: squidex.jugru.team/api/assets...
    #json #postgresql #hibernate #spring-data #jpa
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 5

  • @blavodbatman
    @blavodbatman ปีที่แล้ว +2

    Ребята - молодцы! Спасибо, люблю их доклады: содержательно и с юмором)

  • @user-bk1rb4le7d
    @user-bk1rb4le7d ปีที่แล้ว +1

    Спасибо за доклад!

  • @polyackov_ot
    @polyackov_ot ปีที่แล้ว +2

    Хорошая подача материала) суперлайк)
    ПС: года два уже юзаем json на похожем стеке, правда нужды добавлять индекс на jsonb не было (поэтому за поверхносное погружение в индексы под это дело отдельное спасибо)

  • @RickDkkrd
    @RickDkkrd ปีที่แล้ว

    Спасибо за доклад, сравнение походов с json и без очень полезное.

  • @nifirusnifirus7138
    @nifirusnifirus7138 ปีที่แล้ว +1

    Спасибо за доклад! Я бы добавил, что проблема обновления средних и больших json так или иначе все равно привлечёт внимание DBA, и если у нас подразумевается частые обновления json, тогда стоит задуматься