Mezzanine - это CMS, очень ориентированный на традиционный способ, которым Django управляет своими базами данных, и таким образом используется RDBMS. Но базы данных NoSQL, такие как MongoDB, предлагают преимущества, когда необходимо работать с распределенным в базе данных кластера с автоматическим окошком, большими объемами данных, отказоустойчивостью и репликацией. Эти дополнительные функции добавлены с помощью MongoDB, но требования ACID - https://en.wikipedia.org/wiki/ACID- сильно отличаются от требований к транзакциям, в основном из-за ограничений, очень хорошо схематизированных по теореме CAP (https://en.wikipedia.org/wiki/CAP_theorem). Django (который является сильной основой Mezzanine) имеет ORM, разработанный для множества RDBMS, таких как MySQL, Postgre, Oracle и т. Д., И, несмотря на то, что Django имеет прекрасные работы с MongoDB, Cassandra и другими базами данных NoSQL, не означает промежуточная совместимость с пакетами, такими как Mezzanine, которые сильно ориентированы на традиционную ORM Django для RDBM. Когда CMS требует NoSQL ?: Когда вы собираетесь управлять большими объемами страниц контента (Terabytes), которыми пользуется большое количество зарегистрированных пользователей (миллионы), и для всех них требуется быстрый ответ (подумайте в facebook, т.е.) даже если ответ не обновлен. Недостатком здесь является то, что обновление базы данных не является промежуточным для последующих запросов (что допустимо для пользователей facebook), и только в конце концов оно будет обновлено (возможная согласованность - https://en.wikipedia.org/wiki/Eventual_consistency).
CMS работает с NoSQL много, например: https://www.cmscritic.com/how-nosql-is-disrupting-web-content-management/ Дополнительные пакеты, такими как картридж для мезонина ориентированы на транзакции электронной торговли являются для уверен, что этого требование ACID.
Не переписывая большую часть Мезонина, возможно, невозможно (просто потратьте несколько минут на [Мезонинный код] (https://github.com/stephenmcd/mezzanine)), так что если вы ищете вне я не думаю, что вы его найдете. Есть ли какая-то конкретная причина, по которой вы хотите использовать MongoDB? – zero323
Наш проект хочет использовать CMS для управления объектами документов, и это идеально подходит для использования некоторых NoSql DB. Кроме того, структура этих объектов документа будет динамически изменяться на ранней стадии, а использование NoSQL db помогает развитию. – user2777473
Могу ли я вежливо предположить, что вам, вероятно, не нужно решение «NoSQL», и реляционная база данных подойдет вашему проекту просто отлично. –