轻量级数据库(SQL或NoSQL)

20

我目前正在开发一个网站,必须存在于一台内存非常有限的虚拟机上(目前我被告知只有512MB)。不幸的是,至少在短期内,数据库和Web应用程序必须在同一台服务器上。

现在我已经阅读了这里的一些问题并尝试进行了自己的研究,但是选择太多了。基本上,我可以安装什么足够轻量级的数据库服务器呢? SQL或NoSQL并不重要;它不会对数据库产生过多压力,但我希望不受我现在所选择的任何内容的约束。换句话说,如果可能的话,通向多服务器扩展的路径将是很好的,但显然这个阶段并不是必需的。

我目前的想法是MongoDB或MySQL,但我不确定这些是否是最佳选择。

我的Web应用程序正在nginx和PHP上运行,我认为这是目前最好的选择,因此我的主要关注点是数据库方面。


PHP和MySQL是经常出现在一起的组合,看起来它也适合你。 - juergen d
几乎任何一个不错的数据库都可以在这么多内存下运行良好(尽管显然当它们有更多内存可用时,它们会更快)。 - Brendan Long
2个回答

19
如果你需要最轻量级的数据库,我会推荐sqlite 3。它是专门为此任务设计的,体积小且速度快,在我的经验中可靠且易于使用。
我自己不使用PHP,但似乎有支持
SQLite支持几乎“标准”的SQL,除了它不强制类型 - 你可以定义一个列为文本,但存储和检索整数值,如果你愿意的话。实际上,这并不是什么大问题,只要你不使用这个“特性”,你可以在将来很容易地切换到更大的数据库。
但是,在实践中,我会从MySQL开始,因为它很可能已经安装并可用。如果它在内存使用方面给您带来问题,请切换到SQLite。但对于一个简单的、无花哨的数据库,你最好从MySQL开始。

5

在选择关系型数据库或文档导向数据库时,最好专注于特定应用程序的数据存储需求。如果在文档导向数据库(如MongoDB)上编写更适合关系型数据库的应用程序,则效率会降低且消耗更多资源。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接