首页 理论教育图数据库发展趋势与关注度分析

图数据库发展趋势与关注度分析

【摘要】:而应对这些趋势,关系型数据库产生了更多的不适应。在NoSQL四种分类中,图数据库从最近十年的表现来看已经成为关注最高,也是发展趋势最明显的数据库类型。图3就是db-engines.com对近三年来所有数据库种类发展趋势的分析结果。

在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少的巨头,如Oracle、MySQL和MSSQL,它们被称为关系型数据库管理系统(RDBMS)。然而随着关系型数据库使用范围的不断扩大,也暴露出一些它始终无法解决的问题,其中最主要的是数据建模中的一些缺陷和问题,以及在大数据量和多服务器之上进行水平伸缩的限制。数据内部依赖和复杂度的增加,这一问题因互联网、Web2.0、社交网络,以及对大量不同系统的数据源开放和标准化的访问而加剧。而应对这些趋势,关系型数据库产生了更多的不适应。从而出现了NoSQL数据库,NoSQL数据库可以按照它们的数据模型分成四类:键-值存储库、BigTable实现、文档库、图形数据库。在NoSQL四种分类中,图数据库从最近十年的表现来看已经成为关注最高,也是发展趋势最明显的数据库类型。图3就是db-engines.com对近三年来所有数据库种类发展趋势的分析结果。

图3 db-engines.com对最近三年来所有数据库种类发展趋势的分析

本文实现的系统是基于图数据库(Graph database)实现的,图数据库主要是使用图这种结构来存储和查询数据,这里的图是指数据结构和算法里面的图,而不是图形图像学。存储单元为节点、关系(边)、属性。所谓的图数据库和关系型数据库的一个明显的区别在于图数据库使用关系即边来连接各个节点的数据,而不是依靠主外键关系。

以关系型数据库中最常见的学生表(Student)、课程表(Course)、选课表(SC)为例,在图数据库中Student和Course是作为节点,SC是作为关系(边)而存在的。上面关系型数据库示例在图数据库中对应的存储模式如下:

(:Student{id:student_id,name:student_name,age:student_age})-[:TAKES_COURSE{create_datetime:course_schedule}]-〉(:Course{id:course_id,name:course_name,course_date:some_course_date})(www.chuimin.cn)

用图数据库存储方式存储则如图4所示。

图4 图数据数据存储示例

在图数据库中节点一般表示现实世界中的实体,如人、物;边则一般表示实体之间的关系,如人与人之间可能存在双向的认识关系,人与物之间可能存在单向的拥有或所属关系;并且可以为节点或边添加对应的属性信息,使得实体和边的信息更加完善。