Ajax 网络延迟?

Ajax 网络延迟?,ajax,mongodb,network-programming,mlab,Ajax,Mongodb,Network Programming,Mlab,我只是好奇,有一些像MongoLab这样的服务,数据托管在远程服务器上。任何使用过数据库的人都知道存在一定的网络延迟,即使所有服务器都是内部的。对于生产环境来说,像MongoLab这样的远程数据存储服务是个好主意吗 这个问题主要针对基于AJAX的web应用程序或网站。我发现MongoLab非常好。显然,您需要考虑一般的往返行程,优化这些行程将最大限度地减少您的总体延迟 将自己与MongoLab放在同一个数据中心也是有意义的(您可以选择在哪里)。他们现在在Azure上也有一个(测试版)服务 我一直

我只是好奇,有一些像MongoLab这样的服务,数据托管在远程服务器上。任何使用过数据库的人都知道存在一定的网络延迟,即使所有服务器都是内部的。对于生产环境来说,像MongoLab这样的远程数据存储服务是个好主意吗


这个问题主要针对基于AJAX的web应用程序或网站。

我发现MongoLab非常好。显然,您需要考虑一般的往返行程,优化这些行程将最大限度地减少您的总体延迟

将自己与MongoLab放在同一个数据中心也是有意义的(您可以选择在哪里)。他们现在在Azure上也有一个(测试版)服务

我一直在运行高延迟的服务(浏览器、web服务器和Mongo的三个不同地理区域),在我的情况下,它仍能充分发挥作用,因为我的交互不是“闲聊”

您可能知道,Mongo的设计限制之一是缺少联接,因此我的数据结构自然适合于简单的Q&a数据获取。我不会阅读一个集合,然后使用该信息查看另一个集合(手动联接)。因此,我不会将这些复杂交互的延迟成本加起来。最糟糕的情况通常是单个请求/响应(或一系列并行、单个请求/响应查询),因此可以接受的是总共约200ms的差异

当然,web服务器离数据库越近越好


大概,如果你花了足够的钱,MongoLab等人可以为你推出一个定制配置,可能在那里你可以有本地的二级配置。

我很感激这个答案。只是好奇,你使用MongoLab多久了?至于缺少连接,我已经求助于“非规范化”配置每个文档都包含描述该对象所需的所有数据的方法。你认为这有什么问题吗?(我知道这实际上是它自己的问题,但你用你的joins comment=)打开了大门。在AWS上大约6个月,在Azure上最后一两个月(2.2 beta版)。您的非规范化方法是Mongo的教科书,我认为这将有助于减少总体延迟。话虽如此,您仍然可以执行多个并行查询,即使来自不同的问题,只要您的查询不依赖于彼此的结果。至少我发现了这一点。例如,公共筛选器查询可能是DACL。您不希望首先查询用户集合。相反,标记具有该用户权限的所有文档,并将该用户用作并行筛选键。