Я тут подумал

Зашкварно ли хранить в БД данные структурой в виде JSON строк? На 1ый взгляд тема норм, но я могу, ввиду не очень большого опыта , не знать некоторых нюансов.

55
68 комментариев

Все нормально если используешь предлагаемую семантику СУБД для работы с json
Начиная с версии 2016 mssql server позволяет обьединять реляционый и nosql подходы в одном запросе и работать с json на лету, у остальных поставщиков СУБД думаю все тоже норм уже

5

Бля мои плебсы на легаси которого я ща работаю тоже думали а чё ебать постгря же поддерживает жсон, давайте захуяртм туда массивчеки))) а потом ой связь одна появилась, ой ещё связь, ой продакт, тут так не сделаешь за 3 стори поинта, давай либо хуяк хуяк или все переделывать

1

Тут смотря для чего. Json хорош для данных, не имеющих четкой структуры. Например, есть таблица товаров, у которых есть куча опциональных атрибутов. Описывать модель данных утомишься. Но для слабо структурированных данных лучше взять монгу или что-то похожее, если не нужны связи. А если пара полей в паре таблиц - добро и так. Но цена - скорость ниже

5

EAV модели для таких случаев были изобретены сильно до изобретения json

Если искать ничего не надо по этим данных - то всё ок. Если же данных планируется много, и поиск по ним нужно - БД будет очень тяжело, не надо так

3

Нет, не зашкварно.
Просто эта строка потом десериализуется в объект.
Но лучше хранить не строку json, а специальные бинарные типы, не помню их.