MongoDB的基于位置的分片和区域与Couchbase的基于Id的分片比较

问题描述 投票:-1回答:1

我正在为我的应用比较Couchbase和MongoDB。我将使用Redis作为辅助数据库来存储地理点,而Couchbase或MongoDB作为主数据库来存储所有其他数据。在这种情况下,我确实希望数据离用户很近,但同时也希望当用户去到另一个地方时,数据也可以使用。在这种情况下,有2种选择。

  1. 使用MongoDB的基于位置的分片和区域。它是相当不错的,但它不会提供Couchbase的性能,而且如果用户永久地移动到另一个国家,将文档导入该Shard会很麻烦。据我所知,我没有找到一种方法来自动实现这一点。如果有,请纠正我。
  2. 使用Couchbase的默认Sharding,但这样数据就不会更接近用户。Tomy knowledge there's no way to Shard data based on location butcorrect me if I'm wrong.

在开发一个类似uber的应用时,哪个是存储用户数据的首选?

mongodb couchbase sharding
1个回答
1
投票

对于Couchbase,如果你想让数据离用户更近(即你想使用多个数据中心),那么你可能要使用的是 多个Couchbase集群 (例如,一个集群在西部数据中心,一个在东部数据中心)。你可以使用Couchbase的 XDCR 来同步集群之间的数据。

此外,如果你想 "地理围栏 "数据,这样它就不会被复制(比如说你想把欧洲特定的数据保存在你的欧洲数据中心),Couchbase的XDCR有一个 "地理围栏 "功能。高级过滤机制 来阻止某些数据的同步。这将解决你的 "用户移动到不同国家 "的问题。

© www.soinside.com 2019 - 2024. All rights reserved.