|
|
|
# 图数据库入门介绍
|
|
|
|
|
|
|
|
## 1. 概述
|
|
|
|
|
|
|
|
### 1.1 图的概念
|
|
|
|
|
|
|
|
#### 图(graph/image)
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
#### 图论
|
|
|
|
|
|
|
|
在数据的分支图论中,图是研究的基本对象,用于表示实体与实体之间的关系。
|
|
|
|
|
|
|
|
**图论**(英语:graph theory),是[组合数学](https://zh.wikipedia.org/wiki/组合数学)分支。 [图](https://zh.wikipedia.org/wiki/图_(数学))是图论的主要研究对象。图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。
|
|
|
|
|
|
|
|
[四色问题](https://zh.wikipedia.org/wiki/四色问题)、[一笔画问题](https://zh.wikipedia.org/wiki/一笔画问题)
|
|
|
|
|
|
|
|
**点(Vertex)** 节点,即对象或实体
|
|
|
|
|
|
|
|
**边(Edge)** 节点之间的关系,通常是有方向或者无方向的
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 1.2 适用场景
|
|
|
|
|
|
|
|
知识图谱、个性化推荐、欺诈与威胁监测、风险分析和合规、IT基础设置管理、社交网络
|
|
|
|
|
|
|
|
#### 1. 股权穿透
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
#### 2. 数据治理
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
#### 3. 代码审核
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
## 2. 简史
|
|
|
|
|
|
|
|
### 2.1 主流图数据库
|
|
|
|
|
|
|
|
1. Neo4j 单机
|
|
|
|
2. Titan 分布式,(被收购、商业闭源)
|
|
|
|
3. JanusGraph 等
|
|
|
|
|
|
|
|
### 2.3 相关技术
|
|
|
|
|
|
|
|
关系型数据库,反关系的join 爆炸(join bombs )
|
|
|
|
|
|
|
|
NoSQL类数据库:
|
|
|
|
|
|
|
|
* 键值存储(key-value stores)
|
|
|
|
* 列式存储 (column-family stores)
|
|
|
|
* 文件存储 (document stores)
|
|
|
|
* 图数据库 (graph stores)
|
|
|
|
|
|
|
|
图语言功能:
|
|
|
|
|
|
|
|
* 近邻查询: 查询给定点或者边的邻边、邻点,或者是K跳的近邻
|
|
|
|
* 图模式匹配(Pattern matching): 找到一个/所有子图,满足给定的图模式
|
|
|
|
* 可达性(连通性)问题:最短路径、正则路径
|
|
|
|
* 分析性问题:与汇聚型算子相关(avg、count、max、degree), 度量所有两两点之间的距离、某节点与其他节点之间的互动程度等
|
|
|
|
|
|
|
|
图数据库(Graph Database)与图处理(Graph processing)系统
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
一个图系统通常会设计到复杂的数据流水线,从数据源到处理输出,会经过多个数据加工处理环节和系统;大的模块可以氛围ETL模块,图数据库系统(Graph OLTP),图处理系统(Graph OLAP),基于图引擎的应用系统(BI、知识图谱、数据服务)
|
|
|
|
|
|
|
|
## 3. nebula框架和概念
|
|
|
|
|
|
|
|
### 3.1 快速开始
|
|
|
|
|
|
|
|
官方直达:https://www.bilibili.com/video/BV17X4y1A7p9
|
|
|
|
|
|
|
|
文档: https://docs.nebula-graph.com.cn/master/
|
|
|
|
|
|
|
|
Explorer: https://explorer.nebula-graph.com.cn/explore
|
|
|
|
|
|
|
|
Studio: https://playground.nebula-graph.com.cn/explore
|
|
|
|
|
|
|
|
### 3.2 服务框架
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 3.3 数据模型
|
|
|
|
|
|
|
|
- space
|
|
|
|
- vertex
|
|
|
|
- edge
|
|
|
|
- tag
|
|
|
|
- edge type
|
|
|
|
- properties |
|
|
|
\ No newline at end of file |