Django ( http://djangoproject.com ) 框架目前支持以下数据库:PostgreSQL、SQLite 3、MySQL 5 和 Oracle。这个问题与这些数据库的比较无关,相反,我想了解它们与 Django 的兼容性以及如何为一个简单(但不断增长的)项目选择合适的数据库。
3 回答
这取决于。如果您不想为 Oracle 支付(巨额)溢价,您可以选择 MySQL 和 PostgreSQL(SQLite 主要用于开发,而不是生产)。PostgreSQL 似乎是大多数 Django 核心开发人员的选择(Andrew Godwin 甚至将“朋友不要让朋友使用 MySQL”放入DjangoCon 谈话中)。尽管如此,Django 完全支持 MySQL,并且在生产中被许多 Django 网站使用。
恕我直言,PostgreSQL 比 MySQL 有两个明显的优势:
支持所有可插入的数据库,这意味着模型/数据库层将为您抽象数据库特定。至于性能,我建议使用 MySQL 5 或 Postgresql。Oracle 肯定会表现良好,但从长远来看可能会更昂贵。如果您刚刚开始您的项目,sqlite3 是您的朋友,因为它会在几秒钟内完成设置。
处理开发和生产的并行设置已在各种博客文章中讨论过,例如在这篇文章中:
快速的回答是这并不重要,但如果我必须选择一个,它可能是 PostgreSQL。
最初的 Django 开发人员在早期大力推荐 PostgreSQL。PostgreSQL 可以说/技术上是一个比 MySQL 更好的数据库,所以如果你以前从未使用过它,那么可能值得花一些时间来精益它。
现在,虽然我会说可以安全地假设所有数据库驱动程序都运行良好。因此,如果您更熟悉 MySQL 或 Oracle,那么使用它们应该没有问题。我只将 Django 与 MySQL 一起使用,没有任何问题。