【发布时间】:2012-08-11 09:49:44
【问题描述】:
我对 django 的经验还不是很丰富,但我们很快就会创建一个项目,并且想知道将哪个数据库用于我们的后端(Mongodb 或 PostgreSQL)。
我已经阅读了很多关于两者之间差异的帖子,但我仍然无法决定选择哪个。考虑到我以前从未使用过 Mongodb。
那我该怎么办??
提前非常感谢
【问题讨论】:
标签: django mongodb postgresql database
我对 django 的经验还不是很丰富,但我们很快就会创建一个项目,并且想知道将哪个数据库用于我们的后端(Mongodb 或 PostgreSQL)。
我已经阅读了很多关于两者之间差异的帖子,但我仍然无法决定选择哪个。考虑到我以前从未使用过 Mongodb。
那我该怎么办??
提前非常感谢
【问题讨论】:
标签: django mongodb postgresql database
MongoDB 是非关系型的,因此您不能执行连接等操作。 由于这个原因,许多 django.contrib 应用程序和其他 3rd-part 应用程序可能不与 mongodb 一起工作。
但是,如果您需要存储不会直接进入 postgresql 的无模式复杂对象,mongodb 可能非常有用(当然您可以 json-serialize 并放入文本字段,但使用 mongodb 会更好,允许你在搜索,..)。
所以,最好的建议是使用两个数据库:
您可能还想使用 raw_* 方法跳过 django orm 进行的大量(大部分是不必要的)验证。
请记住,数据库,尤其是 sql 与 no-sql,并不是相互替代的,而是它们有自己的特性、优点和缺点,因此您必须找出最适合您需求的数据库每种情况,而不是随便挑一个来做所有事情。
更新
我忘了说:记住你必须使用django-nonrel fork 以使 django 支持非关系数据库。它目前是 django 1.3 的一个分支,但基于 1.4 的版本正在开发中。
【讨论】:
raw_* 方法的资源的链接?谢谢。