【发布时间】:2011-09-03 00:50:53
【问题描述】:
假设在项目开始时,我想存储公司的集合,并在每个公司中存储员工的集合。
由于我使用的是文档数据库(例如 MongoDB),我的结构可能如下所示:
+ Customers[]
+--Customer
+--Employees[]
+--Employee
+--Employee
+--Customer
+--Employees[]
+--Employee
如果以后有一个新要求是让一些员工在多家公司工作,会发生什么?
如何管理文档数据库中的这种变化?
文档数据库的简单性是否会成为您最大的敌人,因为它会创建不易修改的脆弱数据结构?
在上面的示例中,我必须运行修改脚本来创建一个新的“员工”集合,并将每个员工移动到该集合中,同时维护某种关系键(例如每个员工的 CompanyID)。
如果我做的足够彻底,我最终会得到很多集合,只有很少的层次结构,并且文档是通过键连接的。
在那种情况下,我是否还在按我应该的方式使用文档数据库?
是不是越来越像关系型数据库了?
【问题讨论】:
标签: mongodb relational-database document-database