存储配置关系&知识图谱
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结合有奇效 :)
- 图库查询语言类似于自然语言运维人员可轻松掌握!