开源|维易CMDB详解之模型关联关系

💡 原文中文,约5100字,阅读约需12分钟。
📝

内容提要

维易CMDB是一套开源CMDB系统,支持丰富的配置和关联关系。数据表拆分可以解决数据冗余、更新异常、一致性和性能问题。关联关系分为一对一、一对多和多对多,可以提高数据存储的规范性和查询效率。模型关联配置包括关联类型、关系约束和属性关联。可以通过手动关联和自动关联建立实例关系。关系可以在模型配置和实例详情中查看。选择源模型和目标模型时要考虑数据流向。建议使用唯一属性来自动建立关联关系。

🔎

延伸解读

数据表拆分与关联关系的必要性

文章指出,将所有数据存储在一张表中会导致数据冗余、更新异常、一致性问题、性能下降和维护困难。因此,需要根据业务逻辑划分、关系模型和性能优化原则拆分数据表。拆分后,表之间通过关联关系建立逻辑连接,以准确反映业务逻辑,并提高数据存储的规范性和查询效率。

三种关联关系及其典型应用场景

一对一关系适用于用户与用户详情等场景,通常用于字段过多或不便添加字段时的表拆分。一对多关系如服务器与网卡,一个服务器可有多网卡,但一个网卡只属于一个服务器。多对多关系如资源与标签,双方均可关联多个记录。选择合适的关系类型能有效管理数据关系。

模型关联配置的关键要素

配置模型关联时,需指定源模型、目标模型、关联类型、关系约束和属性关联。源模型通常为当前模型,目标模型为要关联的模型。关联类型描述关系分类,如contain、deploy等。关系约束选择一对一、一对多或多对多。属性关联用于自动建立关系,需双方属性值匹配,且多个属性为“与”关系。

自动关联的注意事项与最佳实践

自动关联通过属性关联实现,在新增或修改CI时触发,关系只增不删。建议使用唯一属性进行自动关联,以避免匹配到多条数据导致失败。对于一对一关系,若属性匹配到多条数据,关联将创建失败。建立关系时,优先使用官方agent,其次属性关联,最后手动关联。

❓

Q&A

维易CMDB的主要功能是什么?

维易CMDB是一套开源CMDB系统,支持丰富的配置和关联关系,能够提高数据存储的规范性和查询效率。

为什么需要将数据表拆分?

数据表拆分可以解决数据冗余、更新异常、一致性和性能问题,提高数据库的维护性和查询效率。

维易CMDB支持哪些类型的关联关系?

维易CMDB支持一对一、一对多和多对多三种关联关系。

如何在维易CMDB中建立模型关系?

在维易CMDB中,可以通过指定源模型、目标模型、选择关联类型和关系约束来建立模型关系。

维易CMDB的自动关联是如何实现的?

维易CMDB的自动关联通过配置模型关系的属性关联来实现,当属性值匹配时,系统会自动建立关联关系。

在维易CMDB中,如何查看模型关系?

模型关系可以在模型配置的模型关联页签查看,实例的关系则可以在实例详情的关系选项卡中查看。

🏷️

标签

➡️

继续阅读