图数据库的优点有:1、更直接、自然,易于建模;2、可以很高效的插入大量数据;3、可以很高效的查询关联数据;4、提供了针对图检索的查询语言;5、提供了专业的分析算法、工具。使用图(或者网)的方式来表达现实世界的关系很直接、自然,易于建模。
1、更直接、自然,易于建模
使用图(或者网)的方式来表达现实世界的关系很直接、自然,易于建模。比如某人喜欢看某电影,就可以建立一条边连接这个人和这部电影,这条边就叫做“喜欢”边,同时这个人还可以有其它边,比如“朋友”边、“同学”边等,同样这个电影也可以有其它边,比如“导演”边、“主演”边等,这样就构建了自然的关系网。
2、可以很高效的插入大量数据
图数据库可以很高效的插入大量数据。图数据库面向的应用领域数据量可能都比较大,比如知识图谱、社交关系、风控关系等,总数据量级别一般在亿或十亿以上,有的甚至达到百亿边。mysql不做分表分库的情况下插入百万数据基本就慢到不行,图数据库基本能胜任亿级以上的数据,比如neo4j、titan(janus)、hugegraph等图数据库,持续插入十亿级的数据基本还能保持在一个较高的速度。
3、可以很高效的查询关联数据
图数据库可以很高效的查询关联数据。传统关系型数据库不擅长做关联查询,特别是多层关联(比如查我的好友的好友有哪些人),因为一般来说都需要做表连接,表连接是一个很昂贵的操作,涉及到大量的IO操作及内存消耗。图数据库对关联查询一般都进行针对性的优化,比如存储模型上、数据结构、查询算法等,防止局部数据的查询引发全部数据的读取。
4、提供了针对图检索的查询语言
图数据库提供了针对图检索的查询语言,比如Gremlin、Cypher等图数据库语言。图查询语言大大方便了关联分析业务的持续开发,传统方案在需求变更时往往要修改数据存储模型、修改复杂的查询脚本,图数据库已经把业务表达抽象好了,比如上面的2层好友查询,Gremlin实现为g.V(me).out(‘friend’).out(‘friend’),如果需要改为2层同学查询,那调整一下把好友换为同学即可g.V(me).out(‘classmate’).out(‘classmate’)。
5、提供了专业的分析算法、工具
图数据库提供了专业的分析算法、工具。比如ShortestPath、PageRank、PersonalRank、Louvain等等,不少图数据库还提供了数据批量导入工具,提供了可视化的图显示界面,使得数据的分析结果更加直观展示出来。
延伸阅读:
什么是图数据库?
图数据库是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统。
图概念对于图数据库的理解至关重要。图是一组点和边的集合,“点”表示实体,“边”表示实体间的关系。在图数据库中,数据间的关系和数据本身同样重要,它们被作为数据的一部分存储起来。这样的架构使图数据库能够快速响应复杂关联查询,因为实体间的关系已经提前存储到了数据库中。图数据库可以直观地可视化关系,是存储、查询、分析高度互联数据的优异办法。
图数据库属于非关系型数据库(NoSQL)。图数据库对数据的存储、查询以及数据结构都和关系型数据库有很大的不同。图数据结构直接存储了节点之间的依赖关系,而关系型数据库和其他类型的非关系型数据库则以非直接的方式来表示数据之间的关系。图数据库把数据间的关联作为数据的一部分进行存储,关联上可添加标签、方向以及属性,而其他数据库针对关系的查询必须在运行时进行具体化操作,这也是图数据库在关系查询上相比其他类型数据库有巨大性能优势的原因。
图数据库(graph database)不同于图引擎(graph engine)。图数据库主要应用为联机事务处理OLTP(on-line transaction processing),针对数据做事务(ACID)处理。图引擎用于联机分析处理OLAP(On-Line Analytical Processing),进行数据的批量分析。
文章标题:图数据库的优点有什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/34798