是否存在NoSQL数据库或“随时可用的解决方案”,它将重复数据与应用程序需求相结合用于快速阅读以及数据与数据完整性的关系自动分发更改到重复数据?
示例:
实体:
Topic
- id
- title
- first_comment_id
Comment
- id
- topic_id
- text
文件/物化视图:
TopicList
- topic_id
- topic_title
- first_comment_text
当我更改主题标题时,更改将分发到数据库层包含此属性的每个文档。因此,完整性将由数据库管理。
我非常喜欢MongoDB的无模式行为,因此Oracle或其他关系数据库不是解决方案。
答案 0 :(得分:1)
我有一些Mongo的经验和加入实体/文件,所以我会为此做出回答。您可以在Mongo中创建一个输出到集合的map / reduce查询。行为非常好,避免了在新建集合“准备好”之前(在map / reduce完成运行之前等)从新创建的集合中读取的问题。
为了保持该集合的更新,我已经使用外部流程按计划发布map / reduce功能。它允许您对查询更加随心所欲。
我认为这也会管理一致性,因为每个实体都是权威的,当再次生成临时集合时,您会看到更改。当然需要注意的是,这不是实时的。