存储配置关系&知识图谱

14年前注册的Blog还是能用的,撸一个S(storage)-CMDB Demo发一小博

什么是图库

图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷(来自baike)。

图库适用场景

  • 社交网络
  • 推荐引擎
  • 金融风控
  • 网络&IT运维


(摘自腾讯云)

构建存储配置库

知识图谱的构建是一个浩大的工程,从大方面来讲,分为知识获取知识融合知识验证知识计算应用
对应于上述过程的对于IT运维涉及到网络设备、服务器设备、操作系统、数据库、中间件......等等等的设备可整理为 数据抽象-组件抽象-关系抽象-验证-应用

最简单暴力的方法就是按物理环境直接映射

以下为运维人员提供的S-CMDB逻辑模型

当然用关系型数据库也可实现,但涉及到大量SQL代码编写,换成图库有天然优势

  • 业务人员整理出二二之间的简单关系(如A与B,B与C),将错综复杂的关系拆分
  • 开发人员创建基于场景的图实例,剩余工作就是将整理的关系扔到图里面,结束

举例

场景一:更换主机WWN涉及到的存储前端口

match p=((n:wwn)-[r:wwn_port]->(po:port)-[aa:port_storage]-(aaa:storage) )where n.id='WWN10XXXXXXXX' return p

场景二:存储前端口部件更换影响范围

match p=((n:port)-[r:wwn_port]-(po:wwn))where n.id='FA-11G Port 0' return p

场景三:指定主机WWN所对应的存储前端口下面连接所有主机WWN和相关联存储信息

match p=((n:wwn)-[r:wwn_port]->(po:port)-[ss:wwn_port]-(rr:wwn)-[rrr:wwn_port]-(po1:port)-[rrrr:port_storage]-())where n.id='10000000c9b506b6' return p

场景四:指定主机WWN所对应的存储前端口下面连接所有主机WWN和此端口对应的存储及下面的Pool

match p=((n:wwn)-[r:wwn_port]->(po:port)-[ss:wwn_port]-(rr:wwn)-[rrr:wwn_port]-(po1:port)-[rrrr:port_storage]-(ssss:storage)-[rrrrrr:rel]-(vvv:pool))where n.id='10000000c9b506b6' return p

另外

  • 图库与CMDB结合有奇效 :)
  • 图库查询语言类似于自然语言运维人员可轻松掌握!
posted @ 2018-12-24 19:26  MHL  阅读(551)  评论(0编辑  收藏  举报