我正在为我的应用比较Couchbase和MongoDB。我将使用Redis作为辅助数据库来存储地理点,而Couchbase或MongoDB作为主数据库来存储所有其他数据。在这种情况下,我确实希望数据离用户很近,但同时也希望当用户去到另一个地方时,数据也可以使用。在这种情况下,有2种选择。
- 使用MongoDB的基于位置的分片和区域。它是相当不错的,但它不会提供Couchbase的性能,而且如果用户永久地移动到另一个国家,将文档导入该Shard会很麻烦。据我所知,我没有找到一种方法来自动实现这一点。如果有,请纠正我。
- 使用Couchbase的默认Sharding,但这样数据就不会更接近用户。Tomy knowledge there's no way to Shard data based on location butcorrect me if I'm wrong.
在开发一个类似uber的应用时,哪个是存储用户数据的首选?