好望角:让你的每次点击都有价值:byteclicks.com | 搜索引擎正在被AI污染信息源,中文优质信息越来越少了 |

ByteGraph:字节跳动的高性能分布式图数据库

字节跳动公司研发的分布式图数据库系统ByteGraph

ByteGraph的背景和目标:ByteGraph是为了处理字节跳动产品中生成的大量图数据而开发的。它将图数据分为三类工作负载:在线分析处理(OLAP)、在线事务处理(OLTP)和在线服务处理(OLSP),并针对这些工作负载设计了一个统一的分布式图数据库系统。

ByteGraph的系统架构:采用两层架构,包含执行层BGE、缓存层BGS和持久存储层。BGE负责计算密集操作,BGS负责图数据的缓存,持久存储层则使用键值存储来持久化BGS生成的数据。

数据存储设计:使用边树(edge-tree)结构来存储邻接表,以减少超级顶点的邻接表导致的中间结果放大。同时,边树结构还可以动态调整以平衡读放大的优化。

查询执行流程:查询会发送到随机的BGE实例,解析成执行计划后发送到对应的BGS实例执行,以增加缓存命中率。

自适应优化:ByteGraph包含动态线程池和自适应二级边树等自适应优化机制,用于处理工作负载的突发变化。

分布式事务处理:采用两阶段提交协议来保证事务的ACID特性。

高可用性和容错:通过数据复制、加权一致性哈希等方法实现系统的高可用性和容错能力。

性能评估:实验证明,ByteGraph在吞吐量、延迟、可扩展性等方面优于其他系统,可以高效处理不同类型的大规模图数据。

ByteGraph是一个高吞吐量、低延迟、可扩展的分布式图数据库系统,可以处理字节跳动产品中的各种图数据工作负载,并保证系统的可用性和容错能力。获取更多前沿科技信息访问:https://byteclicks.com

上一篇:

下一篇:


标签