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.