2

我和我的大学正在重新考虑使用 MongoDB 存储我们应用程序的所有数据。有些人认为,由于 Mongo 在用户注册或更新他的个人资料(或类似但更重要的东西)时的最终一致性,因此不会立即看到结果,并且可能会让用户感到沮丧。

我很确定,除非我们有大量数据并且我们进行一些复制,否则我们不会看到最终一致性的影响。但我不确定。

有什么建议吗?仅使用 mongo 还是添加额外的 SQL 服务器来存储敏感数据?

4

2 回答 2

2

让我们先回答一个不同的问题:您需要 MongoDB 的特殊功能还是可以使用普通的旧关系数据存储?

我不能回答那个(你可以)。

如果答案是“否”,您可以将所有内容都切换到 ACID SQL 数据库,而不必再担心此类问题。

全面阐述 NoSQL 和 SQL 之间的权衡将超出此文本编辑器的限制。我建议你在网上做一些研究。

于 2012-04-12T21:27:15.650 回答
2

MongoDB 不是最终一致的,但它具有异步复制。您可以避免读取旧值的风险,方法是不从从属设备读取(一个简单的连接标志),或者写入一个等待复制完成后再返回的标志。查看文档或 getLastError 命令以获取有关后者的所有详细信息。

将 MongoDB 用于您所描述的内容很好。

于 2012-04-12T21:48:46.517 回答