django中的Mongodb vs PostgreSQL

Sal*_*med 5 database django postgresql mongodb

我对django没有经验,但我们很快就会创建一个项目,我们想知道哪个数据库用于我们的后端(Mongodb或PostgreSQL).

我已经阅读了很多帖子,说明了每个人之间的差异,但我仍然无法做出决定.考虑到我之前从未与Mongodb合作过.

那我该怎么办?

非常感谢提前

red*_*dow 11

MongoDB是非关系型的,因此您无法执行连接等操作.因此,许多django.contrib应用程序和其他第三方应用程序可能无法与mongodb一起使用.

但是如果你需要存储无法直接进入postgresql的无模式复杂对象,那么mongodb可能非常有用(当然你可以json-serialize并放入文本字​​段,但是使用mongodb会更好,允许你进行搜索,..).

所以,最好的建议是使用两个数据库:

  • PostgreSQL用于标准应用程序,例如django核心,身份验证,......
  • MongoDB仅适用于您的应用程序,当您必须存储非关系的复杂对象时

您也可能想要使用raw_*跳过django orm的大量(通常是不必要的)验证的方法.

请记住,数据库,尤其是sql vs no-sql,不是互相替换的替代品,而是他们有自己的功能,优点和缺点,所以你必须找出哪种最适合你的需求,不只是选择一个并用于一切.

UPDATE

我忘了说:记住你必须使用django-nonrel fork才能使django支持非关系型数据库.它目前是django 1.3的一个分支,但基于1.4的版本正在进行中.