广泛分布站点的CouchDB

广泛分布站点的CouchDB,couchdb,couchbase,Couchdb,Couchbase,我们正在开发一个科学网站,其中: *一个权威数据源(主数据) *分布在世界各地的150多台边缘服务器(客户端) *连接到边缘服务器(子客户端)的潜在5K移动用户 我们需要从主数据中复制地理空间数据(每个文档大约几百字节),并将其分发到全球各地。 许多边缘服务器和移动设备只会偶尔连接。带宽可能很低 整个数据集可能会增长到200GB左右,但可以将其分割成更小的地理空间集,以实现更小的涓流复制 数据将主要是静态的。需要进行的更改远远少于1% 我们的理解是CouchDB可能非常适合这种情况。我们还缺什么

我们正在开发一个科学网站,其中: *一个权威数据源(主数据) *分布在世界各地的150多台边缘服务器(客户端) *连接到边缘服务器(子客户端)的潜在5K移动用户

我们需要从主数据中复制地理空间数据(每个文档大约几百字节),并将其分发到全球各地。 许多边缘服务器和移动设备只会偶尔连接。带宽可能很低

整个数据集可能会增长到200GB左右,但可以将其分割成更小的地理空间集,以实现更小的涓流复制

数据将主要是静态的。需要进行的更改远远少于1%

我们的理解是CouchDB可能非常适合这种情况。我们还缺什么吗

  • 由于数据仅在源位置更改,因此需要处理复制 冲突变得相当简单
  • 地理空间搜索现在通过GeoCoach得到支持(不如我们目前使用的PostGIS数据库好,但是 可能足够好了)
  • 考虑到数据的流失率较低,CouchDB索引应该会有所帮助
  • 我们不关心低延迟事务(数据更新缓慢)
  • GeoJSON非常适合我们的数据类型
  • 我们真的想要免费复制
  • 我们确实需要快速的数据局部搜索(基于空间和其他特征,我们会得到这个吗?)。速度是由人的表现来衡量的,例如谷歌搜索,而不是大规模的自动搜索
  • 我们将关注腐败和故障检测。但在边缘服务器发生灾难时,似乎可以转储和重新加载数据库,对吗

是否还有其他我们应该关注的问题(例如couchbase),

这里的主要问题是您是否要使用过滤复制。这是一个漂亮的CouchDB最薄弱的一点

问题在于,如果分散的服务器(最重要的是,客户端)只复制一部分数据,则需要设置筛选函数,该函数没有索引。在新的客户端连接时,它将运行在200 GB的文档上,您不希望等待它完成,相信我

在上述情况下,解决方案将是Couchbase+SyncGateway,或一些自定义的基于视图的复制层(这也是一个选项,因为您不会有太多的更改,所以您可以简化它)

另一方面,考虑到您只有一种复制方式,您可能会发现CouchDB同步机制并没有给您带来太多好处,这意味着任何其他集群数据库(如ElasticSearch)都可以获得同样的结果,它具有惊人的查询性能,二进制内部分片协议,热节点插入,使用起来非常有趣


顺便说一句,Couchbase还使用二进制复制机制,只要CouchDB协议不用于双向数据交换和冲突解决,它将比CouchDB更高效。

这里要提出的主要问题是您是否要使用过滤复制。这是一个漂亮的CouchDB最薄弱的一点

问题在于,如果分散的服务器(最重要的是,客户端)只复制一部分数据,则需要设置筛选函数,该函数没有索引。在新的客户端连接时,它将运行在200 GB的文档上,您不希望等待它完成,相信我

在上述情况下,解决方案将是Couchbase+SyncGateway,或一些自定义的基于视图的复制层(这也是一个选项,因为您不会有太多的更改,所以您可以简化它)

另一方面,考虑到您只有一种复制方式,您可能会发现CouchDB同步机制并没有给您带来太多好处,这意味着任何其他集群数据库(如ElasticSearch)都可以获得同样的结果,它具有惊人的查询性能,二进制内部分片协议,热节点插入,使用起来非常有趣


顺便说一句,Couchbase还使用二进制复制机制,只要CouchDB协议不用于双向数据交换和冲突解决,它将比CouchDB更高效。

这里要提出的主要问题是您是否要使用过滤复制。这是一个漂亮的CouchDB最薄弱的一点

问题在于,如果分散的服务器(最重要的是,客户端)只复制一部分数据,则需要设置筛选函数,该函数没有索引。在新的客户端连接时,它将运行在200 GB的文档上,您不希望等待它完成,相信我

在上述情况下,解决方案将是Couchbase+SyncGateway,或一些自定义的基于视图的复制层(这也是一个选项,因为您不会有太多的更改,所以您可以简化它)

另一方面,考虑到您只有一种复制方式,您可能会发现CouchDB同步机制并没有给您带来太多好处,这意味着任何其他集群数据库(如ElasticSearch)都可以获得同样的结果,它具有惊人的查询性能,二进制内部分片协议,热节点插入,使用起来非常有趣


顺便说一句,Couchbase还使用二进制复制机制,只要CouchDB协议不用于双向数据交换和冲突解决,它将比CouchDB更高效。

这里要提出的主要问题是您是否要使用过滤复制。这是一个漂亮的CouchDB最薄弱的一点

问题是,如果您的服务器分散,最重要的是