Доброго времени суток! Работаю над сайтом и на сайте есть функция регистрации новых пользователей. В процессе регистрации пользователи по-умолчанию указывают почту, логин, но ещё есть куча разных данных, типа возраста, страны, города и тд. Стоит ли всё это хранить в JSON? Потом по всему этому будет проводиться сортировка.
Реляционные базы предполагают, собственно что все нередко применяемыеполя обязаны сберегаться в отдельных столбцах. В некий момент Для васпотребуется искать/сортировать по городку, а его сбережение изнутри JSON устроит данную операцию в высшей степени трудной.
Все преимущества JSON-а сводятся к тому, что в одной записи можно "легко" добавить или удалить какое-то поле, не прибегая к модификации таблицы. Лёгкость написана в кавычках вследствие того, собственно что трансформация одного поля производится труднее, чем начальная запись всего объекта: применить JSON; конвертировать в объект; видоизменить смысл подходящего поля; конвертировать в строку; записать её в основание данных. И создавать это надо будет способами приложения, MySQL на это элементарно не способен.
Внедрение JSON считается обычной практикой. В случае если появляется надобность исполнять разведка по некому полю, оно выносится в отдельную колонку. Работы по перенесению рутинные, но настоятельно просят бдительности от разработчика программного обеспечения, т.к. путь до значения поменялся. К примеру, прежде было user.data.city, а стало user.city.
В данный момент набирает известность PostgreSQL, где работа с JSON выведена на уровень SQL-синтаксиса. Там Вы можете просто добавлять/модифицировать/удалять отдельные JSON-поля, не прибегая к поддержке приложения. В том числе и индексы поддерживаются.