人类对世界的认知日益广博、精深,如何将浩如烟海的知识有效组织和整理,方便高效存储和查询是一个重要问题。知识图谱(Knowledge Graph)的概念应运而生,简单的说知识图谱就是一个具有有向图结构的知识库,是由实体、关系和属性组成的一种数据结构。正因为具备这种特性,知识图谱数据的存储一般采用图数据库(Graph Database)。
CirroData-Graph是东方国信基于开源项目Apache HugeGraph开发的一套分布式图数据库,可以帮助企业快速的构建图模型数据,在知识图谱这种典型的应用场景中也起到了重要的支撑作用。本文将通过介绍CirroData-Graph在东方国信自主研发的知识图谱产品 ——“先知”平台中的应用,帮助大家更好的理解图数据库的功能与特性。
关于知识图谱
将《哈利.波特》中的人物关系用知识图谱表示
知识图谱(Knowledge Graph)本质上是一种基于图模型的关联网络知识表达。知识图谱将实体抽象为顶点,将实体之间的关系抽象为边,通过结构化的形式对知识进行建模和描述,并将知识可视化。
知识图谱一般可以分为两类:
通用知识图谱:侧重构建行业常识性的知识,并用于搜索引擎和推荐系统。
行业知识图谱:主要面向企业,通过构建不同行业、企业的知识图谱,对企业内部提供知识化服务。
知识图谱的构建方式通常为“自上而下”和“自下而上”两种:
自上而下:需要先定义好本体(schema),再基于输入数据完成信息抽取到图谱构建的过程。适用于专业知识方面图谱的构建,比如企业知识图谱、面向领域专业用户使用。
自下而上:从开放的关联数据中抽取置信度高的知识,或从非结构化文本中抽取知识,完成知识图谱构建,更适合常识性知识,比如人名、机构名等通用知识图谱的构建。
关于图数据库
图数据库源起欧拉的图理论,基本含义是以“图“这种数据结构存储和查询数据,而不是存储图片的数据库。
图数据库以图论为理论基础,使用图模型,将关联数据的实体作为顶点(Vertex)存储,关系作为边(Edge)存储,解决了数据复杂关联带来的严重随机访问问题。边是图数据库中的关键概念,在关系型数据库或文档存储数据库中,没有对边的抽象概念进行直接实现。图数据库属于NoSQL数据库。
图数据库在处理复杂关系上有着天然优势,在海量数据的多对多的复杂实体联系场景中有着异常突出的性能表现。在处理关联数据时,图数据库有三个非常突出的技术优势:高性能、灵活、敏捷。
高性能:图数据库相较于关系型数据库和其它非关系型数据库,在处理深度关联数据时,具有绝对的性能提升;
弹性数据模型:图数据库提供了极其弹性的数据模型,可以根据业务变化实时对数据模型进行修改,数据库的设计者无需计划数据库未来用例的详细信息;
敏捷开发:图数据库的数据建模非常直观,而且支持测试驱动开发模式,每次构建时可进行功能测试和性能测试,符合当今最流行的敏捷开发需求,极大地提高了生产和交付效率。
图数据库的应用场景多样并不断丰富,其在海量数据挖掘、复杂关联分析、实时查询等方面具有较大优势。如果说知识图谱是图数据库最为基础的底层应用场景,充分利用了其图模型在存储和查询的优势为多行业提供知识服务,那么金融风控、社交应用等则是更具有行业特点的高阶应用场景。
在知识图谱中,图数据库具有存储和查询两方面的技术优势:
从存储来看,图数据库提供了灵活的设计模式。知识图谱中存储了多样、海量的数据。在关系型数据库中所有的数据库模式都需要提前定义,后续改动代价高昂。而图模型中,只需要重新增加模式定义,再局部调整图数据,便可完成在原有的数据源上增加标签或添加属性。
从查询来看,图数据提供了高效的关联查询。在用图数据库存储的知识图谱中,可以通过查询实体的边和其边上的标签(即联系)来快速获取与其相联系的另一实体,而不用再进行各种表的关联操作,关系查询的效率显著提高。
作为图数据库的底层应用,知识图谱可为多种行业提供服务,具体应用场景例如电商、法律、医疗、智能家居等多个领域的决策系统、推荐系统、智能问答等。
关于“先知”与CirroData-Graph
“先知”平台是东方国信自主研发的集一站式图谱构建、知识管理、开放服务及可视化智能应用为一体的智能认知中台套件,围绕知识图谱在各领域的深化应用需求,以标准化为纽带,提供完整的图谱构建、管理、服务及智能应用的工具套件。
通过“先知”,无论是结构化数据、非结构化数据还是半结构化数据,企事业单位都可以自主使用工具,高效地进行知识抽取,挖掘数据资产的价值,提高用户效率,赋能行业用户知识化转型,从而为组织提供由数据驱动到知识驱动辅助决策的认知跃迁。“先知”可广泛用于多行业多领域,如军工、公安、税务、金融、医疗、保险等,并提供了整套的解决方案。
“先知”平台底层采用分布式图数据库CirroData-Graph进行支撑,平台采用分布式架构,对于大批量非结构化数据的结构化提取可以根据实际的数据量大小,横向扩展物理服务器,以满足大数据量的处理需求。此外,对单台服务器的容错和故障报警都做了运维和回滚机制,保障单台节点问题不会扩展到整个集群中,不会影响其它节点的工作。
CirroData-Graph是东方国信基于开源项目Apache HugeGraph研发的企业版分布式图数据库,可以帮助企业快速构建图模型数据,同时在图相关的应用场景中帮助企业提升开发效率。CirroData-Graph基于Apache TinkerPop3框架搭建,支持Gremlin查询语言,支持百亿级节点和关系的快速导入,并提供毫秒级的关联关系查询能力,并可与Hadoop、Spark等大数据平台集成以进行离线分析。
在国产化生态适配方面,目前CirroData-Graph分布式图数据库已经与华为鲲鹏芯片完成了兼容性测试互认证,获得华为鲲鹏计算领域OpenLab授予的鲲鹏技术认证书。双方产品相互兼容,整体运行稳定,能够满足用户的性能需求。
此外CirroData-Graph还具备以下特性:
易用:CirroData-Graph支持Gremlin图查询语言与RESTful API,同时提供图检索常用接口,具备功能齐全的周边工具,轻松实现基于图的各种查询分析运算;
高效:CirroData-Graph在图存储和图计算方面做了深度优化,提供多种批量导入工具,轻松完成百亿级数据快速导入,通过优化过的查询达到图检索的毫秒级响应;支持数千用户并发的在线实时操作;
通用:CirroData-Graph支持Apache Gremlin标准图查询语言和Property Graph标准图建模方法,支持基于图的OLTP和OLAP方案;集成Apache Hadoop及Apache Spark大数据平台;
可扩展:支持分布式存储、数据多副本及横向扩容,内置多种后端存储引擎,也可插件式轻松扩展后端存储引擎;
开放:CirroData-Graph代码开源(Apache 2 License),客户可自主修改定制。
高效的图计算引擎:CirroData-Graph
“先知”平台利用CirroData-Graph图计算引擎,支持通过图数据间的关系对数据节点进行分析,建模为富含语义的异构信息网络进而支撑业务应用。
先知内置图挖掘算法,包括PageRank、程度中心性、亲密度中心性、中介中心性等中心性计算和寻路算法,以及社区检测算法等,内置分析模型如群体分析、核心节点分析、位置关键度0分析、关系紧密度分析、活动频繁度分析等。
CirroData-Graph强大的图计算引擎和内置功能,有效地降低了异构网络分析的复杂度,提升了分析性能,确保了图计算的高效性和分析效率。
目前CirroData-Graph分布式图数据库已经在不同行业的知识图谱项目中进行试用,之后我们将针对这些图数据库的案例陆续进行介绍。