图数据库入门介绍
1. 概述
1.1 图的概念
图(graph/image)
图论
在数据的分支图论中,图是研究的基本对象,用于表示实体与实体之间的关系。
图论(英语:graph theory),是组合数学分支。 图是图论的主要研究对象。图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。
点(Vertex) 节点,即对象或实体
边(Edge) 节点之间的关系,通常是有方向或者无方向的
1.2 适用场景
知识图谱、个性化推荐、欺诈与威胁监测、风险分析和合规、IT基础设置管理、社交网络
1. 股权穿透
2. 数据治理
3. 代码审核
2. 简史
2.1 主流图数据库
- Neo4j 单机
- Titan 分布式,(被收购、商业闭源)
- 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