技术专栏|图数据库在CMDB关系消费中的实践

网友投稿 1175 2022-10-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

技术专栏|图数据库在CMDB关系消费中的实践

关注在企业用户IT运营数字化转型过程中,所积累沉淀的技术最佳实践,广通优云特推出【技术专栏】系列文章。旨在为广大CIO、架构师、开发者等技术爱好者,提供云计算、大数据等技术的最佳实践分享及未来趋势解读。

出品| 优云技术团队

本文约2200字|预计阅读时间:10分钟

关系消费是CMDB的核心价值

随着数字化转型的深入,云计算、微服务、大数据等技术的不断发展,企业应用系统的数量与日俱增、应用架构日益复杂:应用内的拓扑关系、应用间的调用关系变得非常复杂,导致变更影响分析和故障定位变得愈加困难。为此,CMDB 的定位需要从“管理数据”转变为“赋能业务”:以业务场景为驱动,结合对象和关系,提供关系挖掘、影响分析、根因定位等关系消费能力,助力企业轻松面对错综复杂的应用关系。

CMDB 关系消费的实现思路

业务和架构的复杂使得 CMDB 纳管的数据量可能非常大,叠加资源对象之间的复杂关系链路,导致关系消费(遍历、计算)面临非常大的挑战。以查看某应用的部署拓扑为例:为了获取应用相关(直接或间接)的所有组件,需要进行多次查询搜索(虽然可以针对这种场景的存储优化,但不具有通用性),且随着拓扑复杂度和整体关系数据量的增加,这样的查询搜索性能也越来越差。

图数据库是关系消费的最佳方案

如果把CMDB 中的对象看成节点,对象之间的关系看成边,则CMDB数据集可以组成一个或多个图。显然,借助图数据库来完成关系遍历、关系计算是一个自然而然的选择。

图数据库是专门存储庞大的图形网络并从中检索信息的数据库。它可以将图中的数据高效存储为(Vertex)和边(Edge),还可以将属性(Property)附加到点和边上(称为 Property Graph,属性图)。

相比MySQL、MongoDB 等二维数据库,图数据库是一种三维数据库,具有如下特点:在支持二维操作(节点和边的操作)的基础上,还支持面向高维数据(路径、子图)的操作;为了高效完成节点之间的遍历,图数据库在存储上做了针对性的设计;此外,图数据库还内置了大量的图算法,可以满足大多数场景下关系计算需求。可见,图数据库是支撑CMDB关系消费的最佳选择。

基于图数据库的关系消费实现

当前图数据库市场上百花齐放,既有占据先发优势的 Neo4j,也有最近一两年才发布的后起之秀,真是“乱花渐欲迷人眼”。

图数据库选型

结合实际需求,选择以下几个维度作为图数据库选型的标准:

经过综合分析评判, ArangoDB、OrientDB 和 Nebula Graph 三款图数据库胜出。结合三者性能压测的表现,最终选择Nebula Graph(一款高性能、分布式的国产图数据库)作为支撑CMDB关系消费的内置图数据库。 此外,为满足不同客户的需求,考虑增加Neo4j(主流图数据库,面向较大规模客户) 和 Apache 内存图数据库(轻量级图数据库,面向小规模客户)作为可选方案。

图数据库适配

作为企业级运维平台的产品,面对的客户群差别非常大:数据规模不同,对图数据库的要求不同;部署诉求不同,基于不同原因要求使用特定图数据库。由于当前图数据库API存在差异较大差异,所以我们封装图数据库的常见操作,并形成二次扩展开发接口,快速实现适配图数据库的能力。

通过封装使得上层业务能通过该API对图数据库执行以下两类常用操作:

1.沿着指定路径执行图遍历,返回符合条件的节点或路径

2.获取两点之间的路径,可以选择是最短路径、小于特定层级的所有路径

其中图的遍历是核心,使用最多的操作。遍历路径屏蔽了各图数据库遍历语法的差异:采用类似 cypher 的语法,描述如何从一个或一批节点出发,沿着边,经历一跳或多跳后找到目标节点的过程。支持将遍历路径翻译为主流图查询语言(Cypher、Gremlin )。

高效查询能力

二级索引是在数据库常规索引的基础上借助外部条件实现的索引能力,它提供了查询关键词和对象ID间的映射,实现查询加速。和关系数据库一样,图数据库也需要在属性上创建索引才能获得高效的查询。但CMDB的动态建模特性,决定了图节点属性是不固定的,用于查询的属性数量也非常多。这导致除了几个固有属性(ID、名称等)外,无法通过预先创建索引。但在关系消费时,根据图节点(对应一个配置项)属性过滤却是刚性需求。因此,考虑引入一个基于 elasticsearch 实现的二级索引,把专业的事交给专业的”人”来做以获取更高的收益。

CMDB 关系消费的价值体现

借助图数据库,优云CMDB的关系消费具备更高的性能、更丰富的场景。其中拓扑关系挖掘、资源数据视图、关联配置查询等典型应用场景的实践,极大地提升了应用架构可视化的能力,可助力客户理清应用关系,透视应用结构,实现更加清晰、明确的CMDB关系消费。

目前,优云CMDB已在诸多金融级大行和行业头部客户处落地实践,实现同时支撑50+ 关系消费场景,是经过众多客户验证认可的成熟解决方案。

随着信创浪潮的深入,数据中心底层环境逐步实现国产化替代,未来,我们将基于国产图数据库在CMDB关系消费中的实践经验,加强信创环境可用适配,持续打磨关系消费场景,赋能业务场景,重塑数字化时代CMDB「运维主数据」的核心价值。

推荐阅读· AI赋能ITSM,助力IT服务管理智能化演进· AIOps科技树的起点:运维大数据治理· 优云AIOps:以平台化为底座,赋予运维智慧的AI大脑

【THE END】

上一篇:新一代 FlinkSQL 平台,重新定义 Apache Flink 开发
下一篇:喜茶基于Spring Cloud和Kubernetes构建云原生应用的落地
相关文章

 发表评论

暂时没有评论,来抢沙发吧~