数据库替代品并不是新鲜事物,它们已经以对象数据库(OODBMS)、层次数据库(如LDAP)等形式存在很长时间了。但是,过去几年间,出现了大量新项目,它们被统称为NOSQL数据库(NOSQL-databases),而图数据库是NOSQL领域中,处理关系型数据的利器。
在NoSQL四种分类中,图数据库从最近十年的表现来看已经成为关注度最高,也是发展趋势最明显的数据库类型。下图就是db-engines.com对最近三年来所有数据库种类发展趋势的分析结果。

图数据库源起欧拉和图理论,也可称为面向/基于图的数据库,对应的英文是Graph database。图数据库的基本含义是以“图”这种数据结构存储和查询数据,不是存储图片的数据库。它的数据模型主要是以节点和关系(边)来体现,也可处理键值对。它的优点是快速解决复杂的关系问题。
图具有如下特征:
◆ 它包含节点和边。
◆ 节点上有属性(键值对)。
◆ 边有名字和方向,并总是有一个开始节点和一个结束节点。
◆ 边也可以有属性。
说得正式一些,图可以说是顶点和边的集合,或者说更简单一点儿,图就是一些节点和关联这些节点的联系(relationship)的集合。图将实体表现为节点,实体与其他实体连接的方式表现为联系。我们可以用这个通用的、富有表现力的结构来建模各种场景,从宇宙火箭的建造到道路系统,从食物的供应链及原产地追踪到人们的病历,甚至更多其他的场景。
一个简单的示例如下:

产品架构

我们的图数据库产品由4个模块构成.分别是,查询和计算模块,数据加载模块,操作维护接口以及引擎核心。

各模块功能说明如下:
◆ 查询和计算:最终用户用于在此语言基础之上进行图的遍历和查询,最终返回运行结果;如能提供RESTful API则能给开发者提供不少便利之处;
◆ 操作和运维:用于系统实时监控,例如系统配置、安装、升级、运行时监控,甚至包括可视化界面等;
◆ 数据加载:包括离线数据加载和在线数据加载,既可以是批量的数据加载,也可以是流数据加载方式;
◆ 引擎核心:主要包括图存储和图处理引擎这两个核心。图处理引擎负责实时数据更新和执行图运算;图存储负责将关系型数据及其他非结构化数据转换成图的存储格式;HA服务负责处理处理数据容错、数据一致性以及服务不间断等功能。
图数据库适用场景


金融反欺诈

企业关系图谱