NebulaGraph 架构如何支撑千亿点万亿边
如果无法正常显示,请先停止浏览器的去广告插件。
1. Nebula Graph 架构如何支撑千亿
点万亿边
于新林
Vesoft CTO
2.
3. 个人介绍
工作经历:
• 2021 - Nebula Graph CTO
• 2017 - 2021 阿里云 IoT 平台技术负责人
• 2007 – 2017 支付宝首席架构师
4. • 图数据库行业简介
• Nebula Graph 产品架构介绍
• 性能优化点分享
5. 一图胜千言
6. 图数据库的优势
人
繁
琐
VS
简
洁
发帖
Post
多次
回帖
回帖
在一定的时间范围内,
总共发了多少 posts, 各自被回复多少次,并排序
7. 图数据库市场的现状
$ 650M (2018)
$ 4.13B – $ 8B (2026)
CAGR :30% - 100% (2026)
8. 图数据库市场的现状
9. • 图数据库行业简介
• Nebula Graph 产品架构介绍
• 性能优化点分享
10. 设计目标
•
•
大规模
•
•
•
OLTP
•
工业级别
万亿点边
实时在线
高并发
低延时
•
生产
•
•
•
•
开源生态
•
查询语言
可视化
编程接口
运维
大数据
图计算
训练框架支持
11. Nebula Graph 产品全景图
12. Nebula Graph Core架构
13. 有向属性图
Tag
Tag
vid
vid
EdgeType
vid
14. 存储引擎
分布式的 Graph 和 K-V 存储服务
采取多数派(quorum)一致性协议(Raft leader/follower)
点、边分区存储
• 利用点边局部性-点的邻接表
• 出边(out-bound edges)和 src 存储在一起
• 入边(in-bound edges)和 dst 存储在一起(用户对入边无感知)
feature
• VID: int64,fixed_string()
• Raft-Listener/ full text index
• Index Write performance * 5
• Stats (to replace dump_tool)
• Zone
• Transaction on storage side (TOSS)
• Backup and restore
• TTL + Index*
15. • 图数据库行业简介
• Nebula Graph 产品架构介绍
• 性能优化点分享
16. 优化器
Parser
AST
词法解析 & 语法解析
语义分析
执行计划与优化器
执行引擎
Validator
Plan
Optimizer
Plan
Execution
Engine
17. 优化器
基于规则的优化(Rule Based Optimize, RBO)
预定义规则转换
•
•
•
•
GO FROM 123 OVER e1 WHERE e1.time < 2019 YIELD e1.time as time\
| ORDER BY $-.time\
| LIMIT 1
sort
Limit
Filter
GetNeighbor
Transform
TopN
Filter
GetNeighbor
Partial TopN
18. 点边分离
type part vid tag1
type part vid edge1 … vid
...
type part vid edge1 … vid
type part vid tag2
type part vid edge2 … vid
…
type part vid edge2 … vid
type part vid tag3
…
type part vid tag1
type part vid tag2
type part vid tag3
type part vid edge1 … vid
...
type part vid edge1 … vid
...
type part vid edge2 … vid
...
type part vid edge2 … vid
19.
20.