@codercat

Как лучше хранить и модифицировать json конфиг?

Есть сервис для сборки приложений, на вход он принимает большой json-объект с большим количеством вложенностей:
c65c02b8c78a4663b1a29b6da5fdb62a.png

Необходимо как-то хранить такие конфиги, изменять, добавлять новые параметры.

Была идея сделать всё на mysql'e из-за опыта работы с ним, создав таблички: projects, projects_design, projects_design_screens, projects_design_screens_blocks, .., связав их вместе ; но кажется, что это слишком неудобный вариант и пора узнавать что-то новое.

Сейчас рассматриваю mongo, но всё же хочется узнать мнение и опыт сообщества, прежде чем начинать делать основу.
  • Вопрос задан
  • 972 просмотра
Пригласить эксперта
Ответы на вопрос 3
edli007
@edli007
full stack, team lead
В монге это все сохранится одной командой, но база данных по одной узкой задачи не выбирается.
Ответ написан
AlexXYZ
@AlexXYZ
O Keep Clear O
Это достаточно высокий и хороший уровень конфигурирования приложения. Из реальной жизни посмотрите на maven или grunt, у них то же самое. Особенно maven - максимум, что они можно выжать - более удобный способ отображения XML, например, в Eclipse или IDEA, чтобы было легче воспринимать структуру файла. К тому же само наличие файла конфигурации уже повышает уровень восприятия вашего приложения. Я бы не стал задумываться о "программировании" конфигурации и раскладывания его параметров по базе, т.к. такие суть именно в том, что такие конфиги и должны храниться в одном месте, а не раскидывать значения по таблицам, чтобы отдельным процессом собираться в этот файл да ещё и с ошибками, возможно.
Ответ написан
@JSmitty
Современная версия MariaDB умеет JSON в каком-то виде, плюс MySQL 5.7 тоже имеет поддержку формата. И совсем нелишним будет упомянуть "слона" (PostgreSQL), который уже пару версий как стабильно JSON поддерживает, включая создание индексов по полям внутри таких документов и т.п. Если проект новый - можно попробовать последний вариант, это всяко будет проще, чем использовать абсолютно иной вариант БД (ту же монгу).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы