繁体   English   中英

轻量级数据库(SQL或NoSQL)

[英]Lightweight database (SQL or NoSQL)

我目前正在开发一个必须存在于内存可用性非常低的虚拟机上的网站(目前我被告知需要512mb)。 不幸的是,至少在不久的将来,数据库和Web应用程序必须是同一台服务器。

现在我已经在这里阅读了一些问题并试图进行自己的研究,但有很多选择可供选择。 基本上,我可以安装什么足够轻的数据库服务器? SQL或NoSQL并不重要; 它不会是数据库密集型的,但我希望不会受到我现在选择的任何限制。 意思是,如果可能的话,实现多服务器扩展的路径会很好,但显然不是现阶段的要求。

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

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

如果你需要最轻量级的数据库,我会说sqlite 3 它的目的是为这项任务而设计, 小而快 ,而且我的经验是可靠且易于使用的。

我自己不使用PHP,但这里似乎有支持

sqlite支持几乎“标准”的sql,除了它不强制执行类型 - 您可以将列定义为文本,但如果您愿意,可以存储和检索整数值。 在实践中,这并不是什么大问题,只要你不使用这个“功能”,你可以在以后切换到更大的数据库而不会遇到任何麻烦。

但是,在实践中 ,我会从mysql开始,因为它可能已经安装并可用。 如果它给你内存使用问题,切换到sqlite。 但是对于一个简单的,没有多余的数据库,你也可以从mysql开始。

在关系数据库或面向文档的数据库之间进行选择时,最好关注特定应用程序的数据存储需求。 如果一个更适合关系数据库的应用程序是在面向文档的数据库(如MongoDB)之上编写的,那么效率会降低并消耗更多资源。

你看到OrientDB了吗?

OrientDB具有Document数据库的灵活性和Graph数据库管理关系的强大功能。 它可以在无模式模式,模式完整模式或两者的混合模式下工作。 支持ACID事务,快速索引,本机和SQL查询等高级功能。 它以JSON格式导入和导出文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM