Question

Looks Mezzanine is one of the best Django based CMS. I would like to use it in my project but want to use NoSQL DB. Did some research but could not find a straight answer to it.

Any documents on how to use MongoDB for Mezzanine?

Thanks in advance

Was it helpful?

Solution

Mezzanine is heavily tied to using a relational database, so what you're trying to do here won't be achievable.

As I mentioned above though, your requirement for using a "NoSQL" database are most likely misguided - no offence!

OTHER TIPS

Mezzanine is a CMS very oriented to the traditional way Django manages its databases, and this way is using RDBMS. But NoSQL databases like MongoDB offers advantages when is necesary to work with a distributed in a cluster database with automatic sharding, big volumes of data, fault tolerance and replication is a must. These additional features are added with MongoDB, but ACID -https://en.wikipedia.org/wiki/ACID- requirements and transactional style are severely affected, due mainly to restrictions very well schematized with the CAP theorem (https://en.wikipedia.org/wiki/CAP_theorem). Django (which is the strong basis of Mezzanine) has an ORM designed for multiple RDBMS like MySQL, Postgre, Oracle, etc, and in spite of the fact that Django has ultimate works with MongoDB, Cassandra and other NoSQL databases, does not mean an inmediate compatibility with packages like Mezzanine which are strongly oriented to the traditional Django´s ORM for RDBM. When a CMS requires NoSQL?: When you are going to manage big volumes of content pages (Terabytes) accesed by a big number of registered users (Millions) and a prompt response is required for all of them (think in facebook i.e.) even if the response is not updated. The handicap here is that an update to the database is not inmediate for subsequent requests (which is tolerable for facebook users) and only eventually it will be updated (eventual consistency - https://en.wikipedia.org/wiki/Eventual_consistency ).

CMS working with NoSQL are many, for example: https://www.cmscritic.com/how-nosql-is-disrupting-web-content-management/ Additional packages like Cartridge for Mezzanine are oriented to e-commerce transactions are for sure this is an ACID requirement.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top