我正在寻找关于用一些文档存储替代品(例如 NoSQL MongoDB)替换现有数据网格(即 Oracle Coherence)的意见。我正在考虑最重要的利弊,并提出:
NoSQL
优点:
- 没有额外的数据库
- 无需 ORM 映射
- 虽然通过ID查询可以达到最好的查询效率,但其他查询可以通过map/reduce查询来满足
缺点:
- 更新多个集合甚至同一集合中的多行时,很难实现数据一致性
- 响应时间较慢?(我怀疑 Coherence 响应时间可能会更好)
- 读操作可以返回旧数据
数据网格
优点
- 使用数据网格,保持数据一致似乎更容易,例如数据网格变成了 SOR(记录系统)
- 随着数据网格变为 SOR,所有数据都应始终在网格中可用
- 远程执行器
缺点
- 额外的数据库意味着额外的开销和系统/应用程序要求
- 拥有大量数据和分片,任何类型的查询都可能需要大量时间