《24-06-字节跳动 veDB-MySQL的智能化与云原生实践_1.pdf》由会员分享,可在线阅读,更多相关《24-06-字节跳动 veDB-MySQL的智能化与云原生实践_1.pdf(20页珍藏版)》请在三个皮匠报告上搜索。
1、字节跳动 veDB-MySQL 智能化和云原生实践曹立勋 字节云原生数据库veDB技术负责人1.veDB-MySQL 简介2.现状与挑战3.云原生与智能化实践4.未来规划5.Q&AContents1.veDB-MySQL 简介架构简介架构特点 log is database 计算存储分离 日志数据分离核心能力 100%兼容MySQL生态 毫秒级主备时延 计算存储独立&快速按需扩展 超大PB级存储容量 AZ内部署任意单节点故障RPO=0 跨AZ部署,AZ级故障RPO=0DB InstanceDistributed Storage PoolPMHDDSSDComputingLayerStorage
2、LayerProxyLayerproxyAZ1DB InstanceDB InstanceproxyAZ2DB InstanceDB InstanceproxyAZ3DB InstanceLog I/O&Page I/O发展历程2020.42021.6里程碑2019.7 编写第一行代码 基于Percona 8.0构建计算存储分离 1.0正式发布 上线预生产环境 上线部分正式业务 预生产环境完成对RDS MySQL全量替代 上线500+正式业务 支持Hotcache、秒杀、Quick Reshard等高阶特性2023.1 内场持续上量占比超过50%火山引擎veDB服务正式GA2025.1 支持5
3、.7版本 内场占比70%,数据量突破xxPB 火山业务完成核心友商迁移案例的沉淀,在汽车/AI/游戏等场景拿下关键客户时间线2.现状与挑战现状 规模大:国内生产环境70%业务库接入,总实例数超过xxW,逻辑数据量超过xxPB 场景多:覆盖所有业务门类(抖音/电商/财经/广告/番茄小说/懂车帝/豆包/飞书等)地域广:在全球有7个服务区域对业务提供服务xxx K+xx PB780 M+实例数数据量吞吐量QPS服务区域核心挑战存算分离-性能挑战规模大-稳定性/成本/运维挑战场景复杂-需求满足度的挑战3.云原生与智能化实践Quorum hot cache 秒杀异步提交log 并行quick resha
4、rd HTAP1.0压缩log only segment 表级转冷PITR flashback 回收站 依赖故障降级.高性能Write ThroughProblem 写操作只更新buffer pool页面,缺页时同步IO导致性能差 部分写场景无后续访问需求,性能差且IO资源浪费严重Solution 写操作缺页时无须将页面load到内存更新 将写操作下推至存储层完成持久化Outcome 导数性能最大提升200%二级索引更新性能提升70%BufferPoolPage ServerClientWriteDataPageRedoLogmodify pagesBufferPoolPage ServerC
5、lientWriteRedoLog传统写模式直写模式高性能预读Problem Remote IO时延高,大范围扫描场景性能差 线性预读、随机预读场景有限,效果不佳Solution 基于SQL执行逻辑,按accesspath访问制定预读计划 动态调整前后台IO调度,大幅减少同步IO 动态流量控制,做到即读即用Outcome 范围扫描场景性能提升10 x-60 x 精准预读,有效IO利用率100%BufferPoolPage ServerClientResultData Page同步IO预读IOprefetch thread groupPage ServerData PageBufferPoolC
6、lientResultchu备份系统临时实例全量恢复逻辑导入导入实例前台写入前台写入导入实例备份系统部分恢复DBStore物理导入Import table临时实例传统方案VeDB 方案Problem 实例级别备份恢复,速度慢开销大 传统逻辑导入回档方式性能很差 导入过程占用大量资源,影响目标实例吞吐Solution 恢复数据字典、undo和回档表至临时实例 在临时实例中按照segment粒度并行回档 将回档表直接挂载到目标实例完成回档Outcome 十倍以上性能提升,回档速度可按需扩展 存储层直接导入,不占用目标实