如何处理文档存储中的关系

时间:2011-08-11 20:25:41

标签: nosql database-relations document-store

我确实理解文档存储中并不真正需要关系,但对于某些事情它们仍然有用。或者我错了(在RDBMS上下雪了)?

例如:

假设我有一堆文件及其修订历史记录:

File
   Name
   Path
   CreatedBy
   .. etc ..
   Revision
      Date
      Info 
      CreatedBy

我应该为文件和所有修订添加User对象CreatedBy,还是应该引用User文档的ID?通常的做法是什么?

1 个答案:

答案 0 :(得分:1)

  

我应该为文件和所有文件添加User对象到CreatedBy   修订,还是应该是引用用户文档的ID?通常的做法是什么?

MongoDBCouchDB都有关于此主题的文章,我会说这取决于您使用的方案,数据和数据库系统。如果您考虑嵌入或引用的数据很大,您应该引用它,因为例如CouchDB不支持(据我所知)只返回文档的一部分,以防它很大并且您只想检索基本/选中结构体。另一方面,嵌入可以在查询期间帮助您,因为您不必查找引用的文档,但这实际上取决于您使用的系统。