近日,东方国信发布了分布式图数据库CirroData-Graph,以满足包括深度关系探索、关联分析、路径搜索、特征抽取、数据聚类、社区检测、知识图谱等应用场景对图数据库的需求。CirroData-Graph基于开源项目HugeGraph研发,并在HugeGraph的基础上实现了分布式开发集成。较单机版图数据库来说CirroData-Graph提升了图计算性能的同时还完美的解决了单点故障所带来的高可用性问题。目前CirroData-Graph已经在实际生产环境中投入使用。

近十年来图数据库的关注度增速最高

图数据库(Graph Database,GDB)是使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。

比起传统的信息存储和组织模式,图数据库能够很清晰的揭示复杂的关系,尤其在错综复杂的社交,物流,金融风控行业效果更为明显。

传统关系型数据库做千万级的关联(join)操作尚能应对,但当计算量再大时,很多关联查询就会达到瓶颈。

图数据库则为关联数据(无论大小)提供了卓越的性能。图模型提供了固有的索引数据结构,因此它不需要为给定条件的查询加载或接触不相关的数据。这使得它成为更好、更快的实时大数据分析查询的绝佳解决方案。

互联网时代新的应用场景带动了图数据库的兴起。在社交网络的应用中,传统关系型数据库基本无法实现超过三层好友关系的查询,而图数据库则能将数十亿个关系查询延迟降低到秒级;在金融风控场景的应用中,基于图数据库可以提供实时用户行为检测,识别敏感用户,及时识别欺诈风险;在推荐引擎的应用场景中,使用图数据库使得平台能够通过用户兴趣、好友和阅读历史记录等信息之间的关系,向用户提供推荐。

据DB-Engines的数据显示,近十年来,图数据库的关注度增速远超其他类型的数据库。Gartner预测2020年以后,全球图处理及图数据库的应用市场都将以每年100%的速度迅猛增长。

东方国信顺势而为,凭借开发CirroData分布式数据库多年积累的技术经验和渠道优势,在国产数据库领域的细分领域进行产业布局。CirroData-Graph分布式图数据库应运而生,以满足公安、金融、互联网等行业的客户需求。

CirroData-Graph:功能完备的分布式图数据库

CirroData-Graph是基于开源项目HugeGraph研发的一套分布式图数据库,继承了HugeGraph的所有功能和特性,并进行了优化,使其提供更为友好的用户体验和便捷的运维方式。

  • CirroData-Graph基于Apache TinkerPop3框架,支持Gremlin图查询语言;
  • 支持属性图,使顶点和边均可添加属性,支持丰富的属性类型;
  • 可对顶点和边属性建立索引,支持精确查询、范围查询和全文检索;
  • 支持多顶点ID策略,CirroData-Graph支持主键ID,支持自动生成ID,支持用户自定义字符串ID,支持用户自定义数字ID;
  • 支持功能丰富、简单易用的HTTP Restful接口。提供顶点、边、元数据等的基本操作接口;此外还提供各种高级查询接口,包括最短路径、多路径、交叉点、N步可达邻居等;
  • CirroData-Graph支持Java 语言客户端。

此外CirroData-Graph在图数据库周边生态上提供图形化的一键安装部署、集群监控、智能运维工具,让安装部署和运维完全实现图形化操作。

CirroData-Graph采用先进的分布式存储技术及Loader模式

不同于单机版原生HugeGraph数据库,CirroData-Graph实现了分布式存储,有效的解决了单点故障带来的宕机问题,实现了系统高可用。

同时,CirroData-Graph支持百亿以上的顶点和边的快速导入,并提供毫秒级别的关联关系查询

CirroData-Graph采用Multi-raft-group逻辑分区技术,保证在批量插入数据时,每个节点都会工作。并且保证高可用,只要服务集群中超过半数节点正常工作,系统即可正常对外提供服务。

使用PD(Placement Driver,PD服务需要单独部署,主要负责整个集群的管理调度,Region ID生成等)集群来记录各Store中的region信息和状态,客户端访问时,通过PD获取region信息,然后向对应region的leader发起请求。

此外,为了提升分布式图数据库的数据加载性能,CirroData-Graph新增了Loader模式。在分布式系统中,需要保证数据的一致性,数据加载是一个主要的性能瓶颈。在普通模式下,数据经由API、计算引擎加载到一个节点的存储引擎中,再通过JRaft同步到其它两个节点中,效率低,加载慢。引入Loader模式后,数据经由API、计算引擎先落地到RocksDB中,再将RocksDB的sst文件以异步任务的方式通过JRaft同步到所有节点,这样在保证了数据一致性的前提下,也让加载性能有质的提高。

从上图可以看出,在Loader模式下的数据加载性能可达单机版HugeGraph性能的70%左右,对于分布式系统来说这是一个非常不错的数字。之后我们还会继续完善Loader模式,达到在加载性能方面与HugeGraph持平的标准,此外通过扩大集群规模也可能使CirroData-Graph超越HugeGraph的加载性能。

在国产化生态适配方面,目前CirroData-Graph分布式图数据库已经与华为鲲鹏芯片完成了兼容性测试互认证,获得华为鲲鹏计算领域OpenLab授予的鲲鹏技术认证书。双方产品相互兼容,整体运行稳定,能够满足用户的性能需求。

在产品应用方面,CirroData-Graph已经成功与东方国信“数据魔方”产品实现了兼容适配,完全替换其底层neo4j图数据库,并与“数据魔方”一起在公安、电信、金融、工业等领域投入使用。

相关文章