我是Django的新手,在Django中只使用sqlite3作为数据库引擎.现在,我正在开发的一个应用程序正在变得相当大,无论是在模型的复杂性和每秒请求数方面都是如此.
Django支持的数据库引擎在性能方面如何比较?在使用它们时有什么trap 吗?最后但并非最不重要的一点是,一旦你使用了一台发动机一段时间,切换到另一台发动机有多容易?
我是Django的新手,在Django中只使用sqlite3作为数据库引擎.现在,我正在开发的一个应用程序正在变得相当大,无论是在模型的复杂性和每秒请求数方面都是如此.
Django支持的数据库引擎在性能方面如何比较?在使用它们时有什么trap 吗?最后但并非最不重要的一点是,一旦你使用了一台发动机一段时间,切换到另一台发动机有多容易?
如果您要使用关系数据库,Django社区中最流行的似乎是PostgreSQL.这是我个人的最爱.但是,MongoDB似乎在Python/Django社区也变得相当流行(不过,我从来没有用它做过项目).在MySQL上也有很多成功的项目.但是,我个人更喜欢PostgreSQL9.0或9.1.希望这能帮上忙.
编辑:我在这篇文章中做得不是很好.我只想补充几点考虑.
对于绝大多数网站来说,MySQL或PostgreSQL都可以很好地工作.两者各有长处和短处.我建议你在谷歌上搜索"MySQL vs PostgreSQL",这个搜索有很多匹配的结果(在写这篇文章的时候,我得到了超过300万条).这里有一些做判断的小贴士.
此外,如果您计划在您的系统中使用任何触发器,那么MySQL和InnoDB中有几个与它们和ACID遵从性相关的非常糟糕的错误.这里是the first one,这里是another one.您可能不需要此功能,只需注意它即可.
最后一件可能对您有所不同的事情是,使用PostgreSQL,您可以使用Python编写db函数.这是link to the docs美元.