使用MongoDB的Mezzanine CMS?

时间:2013-10-24 20:20:36

标签: mongodb content-management-system mezzanine

看起来Mezzanine是最好的基于Django的CMS之一。我想在我的项目中使用它但想使用NoSQL DB。做了一些研究,却找不到合适的答案。

有关如何使用MongoDB for Mezzanine的任何文档?

提前致谢

2 个答案:

答案 0 :(得分:6)

Mezzanine与使用关系数据库密切相关,因此您在这里尝试做的事情将无法实现。

正如我上面提到的,你对使用“NoSQL”数据库的要求很可能是错误的 - 没有冒犯!

答案 1 :(得分:0)

Mezzanine是一个非常适合Django管理其数据库的传统方式的CMS,这种方式使用的是RDBMS。 但是像MongoDB这样的NoSQL数据库在必须使用自动分片,大量数据,容错和复制的集群数据库中进行分布式处理时提供了优势。 MongoDB添加了这些附加功能,但ACID - https://en.wikipedia.org/wiki/ACID-要求和事务风格受到严重影响,这主要是由于CAP定理(https://en.wikipedia.org/wiki/CAP_theorem)的模式化很好。 Django(Mezzanine的强大基础)有一个专为MySQL,Postgre,Oracle等多个RDBMS设计的ORM,尽管Django最终使用MongoDB,Cassandra和其他NoSQL数据库,但并不意味着与Mezzanine等软件包的中间兼容性,这些软件包主要面向传统的Django ORM for RDBM。 当CMS需要NoSQL时?:当您要管理大量注册用户(数百万)所接收的大量内容页面(太字节)时,所有这些内容页面都需要及时响应(即在facebook中思考)即使响应未更新。这里的障碍是数据库的更新对于后续请求(对于Facebook用户来说是可以容忍的)并不是中等的,并且最终只会更新(最终的一致性 - https://en.wikipedia.org/wiki/Eventual_consistency)。

使用NoSQL的CMS很多,例如: https://www.cmscritic.com/how-nosql-is-disrupting-web-content-management/ 像Cartridge for Mezzanine这样的附加软件包面向电子商务交易,这肯定是ACID的要求。