图数据库是怎样一种数据库,和传统关系数据库的主要区别在哪里?
一、图数据库
图数据库是基于图模型的数据库。相比较于关系型数据库,图数据库是真正注重“关系”的数据库。
图数据库的主要职能是管理图数据,因此需要支持高效的对顶点/边的查询与更新;为了方便用户的使用,通常还需要增加对事务(transaction)的支持,从而保证并发操作下的正常运作。
图数据库的功能是传统关系型数据库的一个拓展,相比较关系型数据库仅支持表结构,图数据支持的图结构更为灵活。图数据库在基于图的数据增加、删除、查询、修改等方面做了不同于其他数据库的设计。在图数据的操作抽象上,采用基于顶点的视角,比如顶点通过其所有出边访问其邻接顶点,这一类的操作也是图数据库系统设计的核心。
面对海量数据的存储和处理问题,传统的关系数据库已经无法满足大部分的日常数据储存的需求。图数据库技术可以将关系信息储存为实体、灵活拓展数据模型。由于提供了对关联数据最直接的表达,以及图模型对异构数据天然的包容力。未来,图数据库技术必将成为最为热点的技术之一,为企业存储和分析大规模图数据提供强有力的支持。
延伸阅读:
二、图数据库优点有什么
使用图(或者网)的方式来表达现实世界的关系很直接、自然,易于建模。比如某人喜欢看某电影,就可以建立一条边连接这个人和这部电影,这条边就叫做“喜欢”边,同时这个人还可以有其它边,比如“朋友”边、“同学”边等,同样这个电影也可以有其它边,比如“导演”边、“主演”边等,这样就构建了自然的关系网。图数据库可以很高效的插入大量数据。图数据库面向的应用领域数据量可能都比较大,比如知识图谱、社交关系、风控关系等,总数据量级别一般在亿或十亿以上,有的甚至达到百亿边。mysql不做分表分库的情况下插入百万数据基本就慢到不行,图数据库基本能胜任亿级以上的数据,比如neo4j、titan(janus)、hugegraph等图数据库,持续插入十亿级的数据基本还能保持在一个较高的速度。图数据库可以很高效的查询关联数据。传统关系型数据库不擅长做关联查询,特别是多层关联(比如查我的好友的好友有哪些人),因为一般来说都需要做表连接,表连接是一个很昂贵的操作,涉及到大量的IO操作及内存消耗。图数据库对关联查询一般都进行针对性的优化,比如存储模型上、数据结构、查询算法等,防止局部数据的查询引发全部数据的读取。
猜你喜欢LIKE
相关推荐HOT
更多>>
为什么要放弃Lombok?
一、为什么要放弃Lombok1、JDK版本问题当用户想要将现有项目的JDK从Java 8升级到Java 11时,用户会发现Lombok不能正常工作了。于是不得不将所有...详情>>
2023-10-15 23:30:56
ios软件开发用什么工具?
一、ios软件开发工具1、Designing在应用程序的设计阶段有帮助的工具a)Free iOS PSD 是PSD格式的免费模板的集合b) Live View它有助于检查应用程...详情>>
2023-10-15 22:46:20
软件架构如何能够满足ASPICE流程?
一、软件架构如何能够满足ASPICE流程架构的用途是把整个产品划分为更为细节的板块:软件、硬件、通信等。在这个基础上软件整体将按照用途、功能...详情>>
2023-10-15 21:25:33
开发一个生鲜商城APP软件可以解决哪些问题?
1、通过便捷的购物渠道节省用户的时间现在,在社会管理、生活和学习的压力下,许多企业用户的时间越来越少。更重要的是,他们可以节省时间做自...详情>>
2023-10-15 20:37:15热门推荐
UML有哪些常用关系?
沸Spring和Spring Boot有什么区别?
热为什么要放弃Lombok?
热云下载和本地重新安装有什么区别?
新为什么Java中“1000==1000”为false,而”100==100“为true?
CameraX 1.1 有哪些新的特性发布?
ios软件开发用什么工具?
为什么编程语言中没有占用5个字节的int40?
c++的数据结构中,某个结点root的表示中!root和root!=nullptr的区别在哪?
链表的基本操作是什么?
Java中的泛型与C中的泛型有区别?
为什么二叉堆只能删除堆顶元素?
什么是单支树?
软件架构如何能够满足ASPICE流程?
技术干货






