图数据库、mysql和kv数据库有什么不同?
一、图数据库、mysql和kv数据库有什么不同
区别还是很大的,最根本的区别还是底层存储结构上的区别。
图数据库应该就是使用图作为底层存储结构。在结构上关系上应该是更强大的。
mysql之类的关系数据库以表(直观上的行列)作为操作对象,底层结构索引都是用来保证对表的快速操作的,上层接口上是线性的。
kv数据库严格来说不是数据库,只是一种存储的结构,只是v部分可以存储多种数据,本质的查询部分还是key,这部分一般只是一种结构(哈希/BST)。名列前茅层key是查询接口,第二层的v是结构相关的。它的真正的高效检索部分是名列前茅部分。可以等同于只有多列的表,但列与列之间没有行约束关系。
另外,虽然图数据库理论上结构上有优势但实际上应该说还是关系数据更有操作上的优势,这主要从信息角度不管是哪种数据库都不能解决复杂的数据查询问题。图结构和表结构没有本质区别,但操作对象上表达形式上要复杂的,表结构具有操作上的直观优势,更易于理解和使用。比对kv结构,kv的优势是结构是松散的更少的约束性,修改更方便。
kv数据库封装成数据库是不太可能的,这是因为基础结构本质的不同。相比关系型数据库它还少了相当多的结构和特征。
延伸阅读:
二、图数据库优点有什么
使用图(或者网)的方式来表达现实世界的关系很直接、自然,易于建模。比如某人喜欢看某电影,就可以建立一条边连接这个人和这部电影,这条边就叫做“喜欢”边,同时这个人还可以有其它边,比如“朋友”边、“同学”边等,同样这个电影也可以有其它边,比如“导演”边、“主演”边等,这样就构建了自然的关系网。图数据库可以很高效的插入大量数据。图数据库面向的应用领域数据量可能都比较大,比如知识图谱、社交关系、风控关系等,总数据量级别一般在亿或十亿以上,有的甚至达到百亿边。mysql不做分表分库的情况下插入百万数据基本就慢到不行,图数据库基本能胜任亿级以上的数据,比如neo4j、titan(janus)、hugegraph等图数据库,持续插入十亿级的数据基本还能保持在一个较高的速度。图数据库可以很高效的查询关联数据。传统关系型数据库不擅长做关联查询,特别是多层关联(比如查我的好友的好友有哪些人),因为一般来说都需要做表连接,表连接是一个很昂贵的操作,涉及到大量的IO操作及内存消耗。图数据库对关联查询一般都进行针对性的优化,比如存储模型上、数据结构、查询算法等,防止局部数据的查询引发全部数据的读取。
相关推荐HOT
更多>>
mysql经常提示too many connections是什么原因?
一、mysql提示too many connections的原因1、访问量过高当 MySQL 服务器面对大量的并发请求时,已经建立的连接数可能会不足以处理所有的请求,...详情>>
2023-10-16 22:53:10
小白学习Python,需要下载哪些软件?
一、Python解释器Python解释器是运行Python代码的核心工具。你可以从Python官方网站(https://www.python.org)上下载最新版本的Python解释器。...详情>>
2023-10-16 21:49:37
mysql如果单表数据量过千万怎么办?
一、mysql如果单表数据量过千万怎么办方案概述方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有...详情>>
2023-10-16 19:07:01
图数据库、mysql和kv数据库有什么不同?
一、图数据库、mysql和kv数据库有什么不同区别还是很大的,最根本的区别还是底层存储结构上的区别。图数据库应该就是使用图作为底层存储结构。...详情>>
2023-10-16 17:35:33热门推荐
访问网页的背后发生了什么?
沸python在实际工作中的应用有哪些?
热mysql经常提示too many connections是什么原因?
热开发人员为什么需要要有组件化思维?
新小白学习Python,需要下载哪些软件?
mysql为什么需要undo log?
到底什么情况下mysql innodb会发生回表操作?
Realm是什么?
有了Kafka+流处理框架,为什么还需要时序数据库?
mysql如果单表数据量过千万怎么办?
为什么没有以hbase作为存储引擎的关系型数据库实现?
软件app系统软件开发公司哪家好有哪些呢?
图数据库、mysql和kv数据库有什么不同?
NoSQL 运动给数据库系统留下什么宝贵的思想?
技术干货






