Стоит ли выбрать MongoDB когда есть большой JSON definition?
Я вот начинаю делать приложение, что-то вроде конструктора, который генерирует большой JSON definition.
Это JSON-ка очень большая и глубокая, в среднем должно быть около 2мб.
Вопрос стал какую базу данных выбрать?
Я думал что как раз для этого подойдет MongoDB, и хранить все это в одном документе.
И внезапно оказывается нужно хранить версии подобьектов(около 7-8 подобьектов), версии создается много и предется это хранить в другой коллекции.
Я не очень опытен в БД и слышал что в MongoDB плохо со связами.
Но с другой стороны это JSON-ка может часто меняться(добавлятся новые поля) и слышал что в MongoDB с этим все хорошо
И еще один момент, будет очень частое чтение и запись (из-за real-time через сокеты)
Изменение структуры данных называется миграция и это абсолютно нормальный процесс, его не надо бояться. Чем проще меняется структура данных тем сложнее вам написать качественную логику приложения. Формат JSON или нет вообще не должен интересовать по тому что в логике это объекты и все постоянно трансформируется.
Вопрос версионирования лежит в другой плоскости и не зависит от базы данных.
Не стоит думать про преждевременную оптимизацию. Ws это не про то чтобы было меньше запросов и логику приложения куда сложнее продумывать чтобы было прямо хорошо
окей, миграция это ок.
про ws, я хотел сказать что будет real-time и из-за этого будет очень частое чтение запись.
ответ я кажется не получил.
мне получается нужен связи между коллекциями, тогда не проще ли использовать sql-базы?
Э-э-э есть же системы контроля версиями.
В частности GIT.
JSON это текстовый файл, так что в систему контроля версией зайдет.
И не надо будет в БД писать свой велосипед, по контролю за версиями. :-)
Абдубек Жолай, Да очень просто через командную строку :-)
Просто когда я вижу "версия" и "текстовый файл", то в качестве решения рассматривают все что угодно, кроме систем контроля версий.
Хотя обычно все программисты системами контроля версий пользуются постоянно. Но вот использовать для версионирования тестовых файлов почему то никто не хочет. :-)