比如说,在项目开始时,我想存储一组公司,并在每个公司内存储一组员工。
由于我使用的是文档数据库(例如 MongoDB),因此我的结构可能如下所示:
+ Customers[]
+--Customer
+--Employees[]
+--Employee
+--Employee
+--Customer
+--Employees[]
+--Employee
如果后来有一个新要求是让一些员工在多家公司工作,会发生什么?
如何管理文档数据库中的这种变化?
文档数据库的简单性是否会成为您最大的敌人,因为它会创建不易修改的脆弱数据结构?
在上面的示例中,我必须运行修改脚本来创建一个新的“Employees”集合,并将每个员工移动到该集合中,同时维护某种关系键(例如每个员工的 CompanyID)。
如果我足够彻底地完成上述操作,我最终会得到很多集合,并且层次结构很少,并且文档通过键连接。
在那种情况下,我是否仍在使用我应该使用的文档数据库?
是不是越来越像关系型数据库了?