我只是好奇,有一些像MongoLab这样的服务将数据托管在远程服务器上。任何使用过数据库的人都知道,即使所有服务器都是内部的,也会有一定的网络延迟。对于生产环境,远程数据存储服务(如MongoLab )是个好主意吗?
这个问题主要针对基于AJAX的web应用程序或网站。
发布于 2012-10-18 23:51:34
我发现MongoLab相当不错。显然,您需要在总体上考虑往返,优化这些将最小化您的总体延迟。
将您自己放在与MongoLab相同的数据中心也是有意义的(您可以选择在哪里)。他们现在在Azure上也有一个(beta)服务。
我一直在运行具有高延迟的服务(浏览器、web服务器和Mongo的三个不同的地理区域),在我的情况下,它仍然运行得很好,因为我的交互不是“聊天”。
正如你可能知道的,Mongo的设计约束之一是缺少连接,所以我的数据结构自然而然地把自己借给了简单的数据Q&A获取。我不会先读取一个集合,然后再使用该信息去查找另一个集合(手动连接)。因此,我不会将这些复杂的交互的延迟成本加起来。最坏的情况通常是单个请求/响应(或者一系列并行的、单个请求/响应查询),所以总共大约200ms的差异是可以接受的。
当然,web服务器与数据库的距离越近,效果就越好。
想必,如果你花了足够的钱,MongoLab等人可能会给你一个定制的配置,在那里你可能会有本地的辅助服务器。
https://stackoverflow.com/questions/12958138
复制相似问题