暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
bytegraph.docx
110
7页
2次
2025-04-13
10墨值下载
字节跳动的分布式图数据库:

一、
ByteGraph2.0
1
、架构
底层存储依赖于一个分布式

存储,也是一计算与存储分离的架构。一

群由三层组成:执行层(

)、内存

层(

)、基于一个持久化

存储的存储层。
行层计算比如合,

关注

据管
管理。每一层都可以独立扩展持久化存储层存储

产生的所有

对儿(图数据

和元数据)。

存储层可以使用


等,在

中作为一个黑盒存在。

使用

查询语言;提供了


优化器,为了增加


,使

算法逻辑片映

例。
同一个分片上的点进行了分组并通过

打包发送给关联的其他

实例进行进一步处理。
BGE
通过监控心跳,维护一个全局
BGS
实例的视图,并且分布式事务使用
2PC
协议
可以在多个机器上部署各自

,相当于一个缓存层,
!"
每个节点一个
##
,通

算法分片到一个

中,该
##
包括点的邻接表(边树)
$
查询写:

析成将其划,询计
划缓存
优化基于则和价的化:
RBO
主要
Gremlin
开源带优规则
针对字节应用的算子下推、自定义的算子优化;
CBO
本之上对每个点的出入度做
,把代价用方程量化表示
%
执行基于
&
:理

数据
##
逻辑找到应数并下
推部分算子,保证网络开销不会天大,最后合并查询结果
2
、数据存储

也采用属性图模式管理图。
%
中的例子,有两个点类型
'

)和
(
)


*+
schema
',-.
,.
)。
$
)内存中分别以
/&
&
缓存点和边
每个和它属性

对儿

是唯
0
和点型,
1
是点性链,将
他们一起存储在

%
)图
%
'&2

32-'4
。访问点属性

使用
56
请求

存储,并将该

对儿放到
/&
中;一旦点的任何属性被更改,都会通过
56
立即刷到
磁盘
(
边以邻接表形式组织,边的

3
起点
10-
起点
1--4
,汇聚成一个


,再把
&
组织成
-
有自己独立的
72)
,多个
&
形成
一个森林,访问不同的邻接表时不需要做并发管理。
(
所示,

%
种类
型点
&8
9&8
&8
,每个都

对儿存储。和

类似
&8
存储物理边数据。
:
)每种类型额节点都有一个上下边界大小用来平衡读写放大问
of 7
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜