【发布时间】:2013-12-28 05:31:09
【问题描述】:
我正在使用 django 创建一个网站。它即将完成,但尚未上线。我正在尝试确定 SQLite 是否适合该站点,或者是否值得现在一开始就使用 PostgreSQL,而不是冒着以后需要过渡到它的风险。 (在这篇文章中,我提到 PostgreSQL 是因为它是我的另一个竞争者。我相信 MySQL 或 Oracle 也可以进行类似的分析。)
我可以参考人们关于他们如何决定在他们的 django 项目中使用什么数据库的意见。
以下是我目前对此的理解:
根据我的经验,SQLite 超级简单。我不需要担心为它安装一些其他依赖项,它几乎可以与 django 一起使用。
根据我的在线研究,SQLite 似乎能够在成为性能瓶颈之前处理相当多的负载。
以下是我不知道的:
我从 SQLite 过渡到 PostgreSQL 会涉及什么?同样,我目前处于仅开发阶段,因此不需要从 SQLite 转换任何数据库数据。是否只是在服务器上安装 PostgreSQL,然后调整 settings.py 文件以使用它?我对此表示怀疑,但是我的任何 django 代码都需要更改吗? (我没有任何原始 SQL 查询 - 我的数据库访问仅限于 django 的模型 API。)
从性能的角度来看,PostgreSQL 在各个方面都比 SQLite 更好吗?还是 SQLite 比 PostgreSQL 有某些优势?
抛开性能不谈,与 SQLite 相比,使用 PostgreSQL 是否提供其他部署优势?
基本上我认为 SQLite 对于我的小网站来说已经足够好了。它真正流行起来的几率有多大?可能没那么厉害。 SQLite 现在正在为我工作,并且不需要我进行任何更改。但是,我担心也许从一开始就使用 PostgreSQL 会很容易,而且我会在一年后因为没有进行过渡而自责。不过我很伤心——如果我去 PostgreSQL,也许这对我来说是不必要的麻烦,没有任何好处。
有没有人有在 SQLite 和其他东西之间做出决定的一般准则?
谢谢!
【问题讨论】:
-
关于暂停:我很欣赏这种节制,我不希望提出基于意见的问题。我想我已尽我所能通过概述基于事实的信息可能有用的三个地方,将讨论的范围限制在特定的、客观的原因上,即人们想要从 SQLite 转换(或不转换)的原因。与此相对应,9000 的回答提供了对我有帮助的具体、客观的陈述。无论如何,我愿意接受有关如何修改问题以使其更有帮助的建议。谢谢!