3

是否有任何 NoSQL 数据库或“即用型解决方案”结合了应用程序需要的复制数据以实现快速读取和数据关系的数据完整性以及自动分配对复制数据的更改?

例子:

实体:

Topic
  - id
  - title
  - first_comment_id

Comment
  - id
  - topic_id
  - text

文档/物化视图:

TopicList
  - topic_id
  - topic_title
  - first_comment_text

当我更改主题标题时,更改将分发到数据库层包含此属性的每个文档。所以完整性将由数据库管理。

我真的很喜欢 MongoDB 的无模式行为,所以 Oracle 或其他关系数据库不是解决方案。

4

1 回答 1

1

我在 Mongo 和加入实体/文档方面有一些经验,所以我会为此提供答案。您可以在 Mongo 中创建输出到集合的 map/reduce 查询。这种行为非常好,并且避免了在“准备好”之前从新创建的集合中读取的问题(在 map/reduce 完成运行之前等)

为了保持该集合的更新,我使用了一个外部进程按计划发出 map/reduce 函数。它允许您对查询更加随意。

我想这也将管理一致性,因为每个实体都是权威的,当临时集合再次生成时,您会看到更改。当然,需要注意的是它不是实时的。

于 2013-01-11T04:33:31.943 回答