【问题标题】:Mongodb vs PostgreSQL in djangoDjango 中的 Mongodb 与 PostgreSQL
【发布时间】:2012-08-11 09:49:44
【问题描述】:

我对 django 的经验还不是很丰富,但我们很快就会创建一个项目,并且想知道将哪个数据库用于我们的后端(Mongodb 或 PostgreSQL)。

我已经阅读了很多关于两者之间差异的帖子,但我仍然无法决定选择哪个。考虑到我以前从未使用过 Mongodb。

那我该怎么办??

提前非常感谢

【问题讨论】:

    标签: django mongodb postgresql database


    【解决方案1】:

    MongoDB 是非关系型的,因此您不能执行连接等操作。 由于这个原因,许多 django.contrib 应用程序和其他 3rd-part 应用程序可能与 mongodb 一起工作。

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

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

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

    您可能还想使用 raw_* 方法跳过 django orm 进行的大量(大部分是不必要的)验证。

    请记住,数据库,尤其是 sql 与 no-sql,并不是相互替代的,而是它们有自己的特性、优点和缺点,因此您必须找出最适合您需求的数据库每种情况,而不是随便挑一个来做所有事情。

    更新

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

    【讨论】:

    • +1'ed。您能否提供一些有关raw_* 方法的资源的链接?谢谢。
    • @JosvicZammit 这里是官方文档:django-mongodb.org/reference/lowerlevel.html
    • @redShadow 如果我使用 Mongodb,我正在考虑使用 mongoengine。
    猜你喜欢
    • 2012-08-15
    • 1970-01-01
    • 2013-08-14
    • 2017-04-18
    • 1970-01-01
    • 2016-04-21
    • 2017-07-22
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多