本地SQLite与远程MongoDB

本地SQLite与远程MongoDB,第1张

概述我正在设计一个新的Web项目,在研究了一些旨在实现可伸缩性的选项之后,我想出了两个数据库解决方案: >为可扩展的方式精心设计的本地SQLite文件(每个X用户一个新的数据库文件,因为写入将取决于用户内容,没有跨用户数据依赖); >远程MongoDB服务器(如Mongolab),因为我的主机服务器不提供MongoDB服务. 我不相信当前共享主机上的MySQL服务器,因为它经常出现故障(我在其他主机上 我正在设计一个新的Web项目,在研究了一些旨在实现可伸缩性的选项之后,我想出了两个数据库解决方案:

>为可扩展的方式精心设计的本地sqlite文件(每个X用户一个新的数据库文件,因为写入将取决于用户内容,没有跨用户数据依赖);
>远程MongoDB服务器(如Mongolab),因为我的主机服务器不提供MongoDB服务.

我不相信当前共享主机上的MysqL服务器,因为它经常出现故障(我在其他主机上也遇到了MysqL问题).出于同样的原因,我不喜欢使用postgres.

sqlite的优点:

>它是本地的,所以它必须更快(我将负责正确使用索引和事务);
>我不需要担心tcp嗅探,因为Mongo有线协议is not crypted;
>我不需要担心服务器中断,因为sqlite是无服务器的.

MongoDB的优点:

>它更容易扩展;
>我不需要担心拆分数据库,因为可扩展性似乎很自然;
>我不需要担心架构更改,因为Mongo是无架构的SQLite doesn’t fully support alter table(特别考虑更改许多生产文件等).

我想帮助做出决定(也许可以考虑第三种选择).当写入和读取 *** 作正在增长时,哪一个更好?

我打算用Ruby.

sqlite方法的一个主要风险是,随着您对扩展的需求增加,您将无法(轻松)部署在多个应用程序服务器上.您可以将用户划分为单独的服务器,但如果该服务器出现故障,您将有一些无法访问其数据的用户子集.

使用MongoDB(或任何其他集中服务)可以缓解此问题,因为您的Web服务器是无状态的 – 可以随时添加或删除它们以适应Web负载,而无需担心哪些数据存在于何处.

总结

以上是内存溢出为你收集整理的本地SQLite与远程MongoDB全部内容,希望文章能够帮你解决本地SQLite与远程MongoDB所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存