图数据库

关联关系是一切数据分析产生价值的基础。然而传统的关系型数据库产品很难胜任海量复杂的分析需求,专注于数据关联关系的图数据库成为刻画及利用数据关系最佳的基础设施。

图数据库是用点和边来表达数据之间的关系,更关注数据关联关系。且支持事务,保证并发操作下的正常运作。操作上,**采用基于顶点视角,顶点通过其所有出边访问其邻接顶点,**这类操作也是图数据库系统设计的核心。

图数据库的特性

1、性能
在关联关系的处理上,用关系型数据库处理不可避免要用到表的join操作,对性能的影响较大;而图数据库则是类指针直接跳转访问,更高效的操作关联数据,比关系型数据库有2到4个数据级的性能提升。
2、拓展性
随着项目的进程,数据内容和格式会不断变化。关系型数据库中,表结构变化,或者新表的建立,对源数据的改动非常大,图数据库中仅需要添加新的顶点、边、属性,设置对应的类型即可。
3、直观性
使用图表达更加直接,自然。

图数据库和关系型数据库对比

关系型数据库,表结构,数据高度结构化,一致性强,软件成熟度高,面向多表的关联关系查询低效或不支持;
图数据库,图结构,针对关联关系的建模、操作非常高效,高度结构化的数据处理能力不及关系型数据库。

图数据库常见的多对多关系数据库场景

1、Social Network 社交网络
例如微信或者Facebook好友关系等
2、Business Relation 商业关系
金融与资金关系网络:支付网络,支付关系或转账关系等。
公司关系:公司控股关系,法人关系等
3、Knowledge Graph 知识图谱
现实知识发展进程与结构关系的一系列各种不同的图形。
4、Iot(Internet of Things) 物联网

Nebula Graph

Nebula Graph 采用存储计算分离架构,计算层和存储层可以根据各自的情况弹性扩容、缩容,使水平扩展成为可能。此外,Nebula Graph具有低延时、高并发特性,整个核心代码采用C++编写,保证了执行效率;其次,Nebula Graph做了很多并行和异步执行的优化;第三,计算下推,Nebula Graph 采用移动计算,将计算下推到存储层,直接在存储层做完数据过滤再回传计算层。节省了网络传输资源。

参考文档

https://www.sohu.com/a/503418072_374240 https://www.jianshu.com/p/1c7099ed9675
https://zhuanlan.zhihu.com/p/147792916
https://zhuanlan.zhihu.com/p/79069596