三分钟了解图数据库
图数据库初见
▶ 基本概念:图数据库(Graph Database)是使用图的结构来表现和存储具有图语义的数据,并快速的进行查询的一种数据库
▶ 主要组成:节点集 + 连接集(特有)
▶ 主要操作:无非是增删改查(create, delete, update, read)
▶ 常见图数据库:
图数据库模型
▶ 图数据库模型:
▶ 图数据库模型特征:
- 节点 + 关系
- 节点有属性,关系也有属性
- 节点上还有一个或多个标签
- 关系是有方向的单向边
图数据库优势
传统关系型数据库 | 图数据库 | |
---|---|---|
建模方式 | 需要高层次的抽象 | 基于现实世界建模 |
数据规模 | 大规模数据需要分库分表,否则根本不能用 | 支持亿级甚至十亿级 |
查询语言 | SQL查询,有学习成本 | 更贴近自然语言 |
复杂关系查询 | 多表查询、递归查询时不堪重负 | 跳来跳去,非常适合复杂关系查询 |
总结与理解:
- RDBMS倾向于一张张结构化的表,复杂查询时需要将它们连起来(join),这显然需要不小的开销
- 而图数据库使用一个指针“跳来跳去”,这尤为高效
- 数据的内容或数据格式发生变化,在RDBMS中,这意味着表结构的变化,或者多个新表的建立,对源数据的改动非常大
- 而在图数据库里,仅需添加新的节点、边、属性,修改对应的类型即可
- 总结:使用图的方式来表达现实世界的关系更加直接、自然,在万物互联的物联网时代尤为突出,也必将大放异彩 >_<
附图
试想,如果现在要查询Alice的朋友的朋友,哪个结构模型效率更高呢?
通过比较,其实很容易理解为什么说关系数据库需要连接(join),而图数据库直接“跳来跳去”