您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023 Gdevops全球敏捷运维峰会]:1-3 张威-字节跳动自研万亿级图数据库架构演进 - 发现报告
当前位置:首页/行业研究/报告详情/

1-3 张威-字节跳动自研万亿级图数据库架构演进

AI智能总结
查看更多
1-3 张威-字节跳动自研万亿级图数据库架构演进

Gdevops 全球敏GlobalD捷evOpsSummit运维峰会 字节跳动自研方亿级图数据库架构演进 演讲人:张威 目录 ByteGraph简介ByteGraph2.0架构介绍ByteGraph2.0当前问题 ByteGraph3.0解决方案 dbaplus AiOps 严禁商业用途 da ByteGraph3.0架构介绍ByteGraph未来展望 O 仅供学习不得转载, Gdevops全球敏捷运维峰会北京站 ByteGraph简介-可以做什么 字节有哪些业务数据呢? 用户信息、用户关系视配乐 内容(视频、文章、广告等) 用户和内容联系(点赞、评论、转发、点击)发布初频 使用图表达业务场景的优势 建模直观简洁 初广关注 从属于 挖掘数据关联店铺关注关注 ByteGraph特点 高吞吐 tab 带货发表评论 太厉患了 低延迟t收数店铺购爽 最终一致性 兼容GremlinByteGraph学术论文VLDB-2022 Gdevops全球敏捷运维峰会北京站 ByteGraph简介-查询接口 Gremlin简介 Gremlin是一种图灵完备的图遍历语言(相较Cypher等查询语言,功能更全面,上手较为 容易,使用更加广泛 主流云厂商图数据库都提供了Gremlin支持,ByteGraph目前支持一个子集 数据模型 有向属性图 点和边上都可以携带多属性,支持动态加减属性列举例 用户A所有一跳好友中满足粉丝数量大于100的子集 g.V(vertex(A.id,A.type)).out(好友").where(in(粉丝关注").count().is(gt(100)).toList) Gdevops全球敏捷运维峰会北京站 ByteGraph简介-业务介绍 业务场景分类 分类 图模型 查询举例: 抖音用户关系的服务端在线存储 社交网络关系 点:用户 边:用户之间关系 关注/粉丝列表,关注关系判断 抖音推荐: 社交推荐 点:用户、规频 好友的好友等多度查询 推人、推视频 边:用户关系(多种)用户发文 知识图谱: 搜索百科、教育、电商 知识图谱 点各种实体(课程、知识点,商品)边:实体之间逻辑关系(报名课程、掌握知识点、收藏商品) 实体推荐某个人在某个商铺咋天的订单数等 lib库、项目、线上服务之间的网 状关系 IT系统 点:lib库、repo、线上服务 边:点之间依赖关系 给定某个库的确定版本,求所有依赖这个版本的库 Gdevops全球敏捷运维峰会北京站 ByteGraph2.0架构-分层架构 ByteGraph架构 查询层GQ1GQ2GQN GQ:GraphQueryEngine 存储引擎层 GS:GraphStorageEngine GS1GS2GSM 分布式KVStore Gdevops全球敏捷运维峰会北京站 ByteGraph2.0架构-模块划分 Client GremlinAPls BGE QueryParserGlobalMonitor QueryOptimizerGraphPartition PlanExccutorTransaction RequestAPIs BGS:LocalMonitorIndexSchemaManager VertexStorageEdgeStorageWAL PersistentKey-ValueStore Figure2:ThearchitectureofByteGraph Gdevops全球敏捷运维峰会北京站 ByteGraph2.0架构-执行引擎 @执行流程示例 g.V0.has('id',1).has('type',person).out(knows').has('age',gt(18).values('name) V(1)channelofvertex out(has(age chanrelofvertex values( anmelcfstring Final knows)gt(18))name)Result Graph算子:通过id查out算子:查询输入has算子:对输入veirtexvalues算子:对输入 询到一个Vertexvertex的所有knows边按age属性做过惑vertex查询name属性值 执行结果 Gdevops全球敏捷运维峰会北京站 ByteGraph2.0架构-存储引擎 VertexStoxageEdgeStorage 3770410:Theeptrdaadaall vID+vTypePropertyListvID+vTypeteType+dirEdge-treePtr WAL LRULiE RootNodeMNodenMNode,OLogN MetaNodeENodexLogx! EdgeNodeEEEEdgeNoden EdigeNode,i+!Ei+2 Figure4:ThememorylayoutofBGS Gdevops全球敏捷运维峰会北京站 LogN-2 ByteGraph2.0当前问题 高成本的分布式KV 穴余副本:3AZ5副本/3副本 LSMTreeKV存储引擎本身问题 多层Cache几余 内存/CPU预留:BlockCache/Compaction C 磁盘预留写放大高:40倍 性能 分层过多 图上多跳性能难以做到极致 最基础的GetOneHop算子读取性能不够高 执行器基于Channel做通信,涉及大量数据复制 功能 延迟不可控的主从同步 Gdevops全球敏捷运维峰会北京站 ByteGraph3.0解决方案 成本 基于EC技术降低副本数量KV->DFS 3AZ/3副本减少到3AZ/2副本 高密度存储机型进一步降低TCO 自研基于DFS的BwTree存储引擎:合并2.0存储层Btree引擎和分布式KV引擎,减少写放 大 性能 合并进程:减少穿透层数,减少多跳查询RPC开销 减少分片数量:主推单分片一主多从架构,非必要不分片(利用大内存机器来满足性能) 提高1PC事务比例 BtreePage内列存 自研新一代Pipeline执行引擎,减少通信拷贝开销,感知Numa调度 功能 单分片Tablet级别wAL主从同步 Gdevops全球敏捷运维峰会北京站 ByteGraph3.0架构介绍-总体架构 TabletGroup RWTabletROTabletROTablet Gremlin/GQLGremlin/GQLGremliVGOL TransactionsTransactions CachingCachingCCaching redStorageVolume(ByteStore) AZ1AZ2AZ3 Gdevops全球敏捷运维峰会北京站 ByteGraph3.0架构介绍-并行执行引擎 并行执行引擎优势g.V(v(1),v(2),v(3),...J.outr'follow').where(out'follow'j.count0.gt(100) 合并多人step到一人 vertexvertex vertex pipeline,减少基于channel的通信开销 单个pipeline内部可并行 启动多个pipelinetask进 行运算,充分利用多核能 力wheresplit Numa-Aware的Pipeline 调度器,增强数据局部性 mergel Gdevops全球敏捷运维峰会北京站 ops ByteGraph3.0架构介绍-存储引擎模块划分 Φ存储引擎层 基于共享存储的BwTree存储引擎 支持主从同步 JournalEngine ·负责日志管理 TabletInternal 查询引擎层QuaryEngine MemEngine 负责内存Btree结构MemEngine PageEngine Journal Engine 负责磁盘Btree结构存储引擎层PageEngine ByteStoreEXT4...other Gdevops全球敏捷运维峰会北京站 ByteGraph3.0架构介绍-存储引擎流程介绍 MemEngine JournalEngine PageEngine banebloba elta/ PogeTndex eiekblob Gdevops全球敏捷运维峰会北京站 ByteGraph未来展望 业务收益 存储成本降低30%~50%, 在单分片场景下,多跳召回场景上可提供数倍于原有系统的性能 未来工作 补齐3.0功能,持续上量,持续优化内部业务&&火山引擎的服务性能和使用体验 作为统一存储底座,向上支撑图数据库查询引擎,全图计算引擎,图训练DataLoader等 等 打造Single-Engine生态:提供一体化图数据服务。随着图数据库,GNN,图计算越来越 广泛的使用,用户对于图数据的统一存诺,处理,流动"有了更高的要求,ByteGraph3.0存储层希望提供一套融合多种场景的存储解决方案,通过统一的存储格式,帮助用户打通图数据库,GNN,图计算系统以及spark/Hadoop生态,真正做到一站式处理。 Gdevops全球敏捷运维峰会北京站 Gdevops 全球敏GlobalDe捷vOpsSummit运维峰会 THANKYOU

你可能感兴趣

hot

7-5 ByteGraph:字节跳动自研万亿级图数据库及其应用与挑战

信息技术
DataFunSummit2022:大数据存储架构峰会2022-07-19
hot

中国电信自研数据库TeleDB在系统上云中的规模应用——张明

信息技术
GNSEC2022 全球下一代软件工程线上峰会2022-12-26
hot

快递_物流企业信息化建设过程中架构的演进实践与思考-张登

交通运输
ArchSummit上海2023|全球架构师峰会2023-06-06
hot

01-从NewSQL到全新的HTAP分布式架构演进-张潇

信息技术
ArchSummit北京2023|全球架构师峰会2023-06-06