我们目前正在为一家专业公司在内部实施类似 CRM 的解决方案。由于存储信息的性质,以及信息的不同值和键,我们决定使用文档存储数据库,因为它非常适合目的(在这种情况下,我们选择了 MongoDB)。
作为此 CRM 解决方案的一部分,我们希望存储实体之间的关系和关联,示例包括存储利益冲突信息、股东、受托人等。以最有效的方式将所有这些实体连接在一起,我们确定了一个“关系”的中心模型是必要的. 所有关系都应附有历史信息(开始和终止日期),以及不同的元数据;例如,股东关系也将包含所持股份的数量。
由于传统的 RDBMS 解决方案不适合我们以前的需求,因此在我们目前的情况下使用它们是不可行的。我试图确定的是在我们的案例中使用图形数据库是否更相关,或者实际上是否只使用 mongo 的内置关系信息是合适的。
关系信息将在整个系统中大量使用。我们希望执行的一些信息查询的示例是:
- 获取“xyz limited”“客户”公司的所有“关键联系人”
- 获取“john”为股东的公司的所有其他“股东”
- 获取“abc limited”“客户”和“trust us bank limited”客户实体的所有“主要联系人”人员
鉴于这种关系的“树”结构,使用图形数据库(例如 Neo4j)是否更合适?