腾讯云原生数据库架构探索与实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2. 腾讯云原生数据库架构探索与实践
3. 目录 01 背景:架构介绍 02 实践:场景突破 03 演进:深入探索
4. 概览:架构与特性
5. 产品背景 存储容量 传统架构 问题 1、磁盘容量有限 2、扩容对业务影响大 3、分库分表对业务影响大,分 布式事务问题多 用户需求 技术方案 可靠性 可用性 1、普通复制(binlog)可能丢 1、HA、恢复速度慢(RTO分钟 失数据(RPO>0) 级) 2、同步复制性能差 2、副本时延大(分钟级-小时级) 1、大于100T容量 1、不能丢失数据(RPO=0) 2、快速、透明扩容 2、多副本容灾 1、云存储:理论无上限,多副本可靠性,持续备份,归档等 水平扩展 1、水平扩展需要完整数据库副本, 产生大量IO 2、只读副本部署速度慢(分钟级 -小时级) 1、快速HA、恢复(RTO秒级)、 回档 1、秒级副本扩展 2、更小的副本时延(毫秒级) 1、数据分片:并行恢复和回档 2、物理复制:页面粒度并行复制 1、共享存储:减少大量冗余IO
6. 架构设计 MySQL Master TDSQL-C Slave Primary Replica TXStore Disk Segment Disk Cell Segment Segment Cell Segment Cell Cell Backup(Files) Backup(Snapshot) COS Data l 产品形态:一写多读 COS Binlog l 一致性:延迟一致性 Redo log l I/O形态:日志传输 Data(Read) Metadata l 主从同步:物理日志 l 持久化:可计算存储
7. 可计算存储 InnoDB Redo log Remote I/O System Storage Node Storage Node Storage Node Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell … … … … … … Storage Client 1 Versioned Block 3 Hot Log 4 Block 2 Storage Storage Pool Sync ü ü ü ü 日志按照所属页面分片 分片包含独立的日志和数据 三副本存储 存储池最小1M物理分配单元 1. 2. 3. 4. 5. 6. 传输日志到存储节点 持久化日志 通知客户端日志完成持久化 回放日志到数据页面 持久化新版本页面 回收日志和页面 5 Async 6 Storage Node
8. 目录 01 背景:架构介绍 02 实践:场景突破 03 演进:深入探索
9. 突破一:Serverless 场景 - 开发测试场景,低频使用数据库 - IoT,边缘计算,SaaS平台,负载变化频繁 特性 智能极致弹性:极速启停,根据负载启停实例。无感知扩缩容,按需扩 容,自动缩容 按需计费: 按实际使用的计算和存储量计费,不用不付费。按秒计量, 按小时结算。
10. 极速启停 • DB process - Buffer Pool使用共享内存,从计算节点分离 R/W Shared memory 独立buffer pool - 缩短实例启动和恢复的时间,启动后性能无明 显衰减 Buffer Pool • Load 并行恢复 - 计算层卸载恢复逻辑 Storage node Cell Cell Cell - 存储层多分片并行恢复 - 页面版本化按需回放 • 启动优化 - Buffer pool并行初始化 - Rollback segment并行初始化 - 表锁恢复优化 • 快速停机 - 卸载刷脏,日志落盘即可停机
11. 极致伸缩 - 段管理以1M的extent为最小单位 page Full extent page page Full extent page - 存储池物理分配单元为1M Full extent Full extent 的回收 Segment Not Full extent Not Full extent Free extent Free extent Not Full extent Not Full extent Free extent Free an extent Storage Pool - 段空闲链表中extent达到一定数量时触发存储池 - 提供真正意义上的按需计费能力
12. 突破二:IO Bound优化 - 中小规格实例,内存规格远小于数据容量 CPU Buffer Cache - 超大规格实例,内存规格触及上线 DRAM Persistent Memory Secondary Cache - Remote IO放大IO bound场景影响 SDD Remote IO=Net+SDD Capacity - IO bound场景性能较差 Data
13. 二级缓存 Primary Replica 二级缓存: Client Client 针对普遍存在的IO Bound场景,在计算层引入独 Cache File Txstore Log Cell Page Log Buffer Remote lO Log Apply Thread Replication Log Disk Page Local lO Undo page Buffer Pool Log Log Data page Remote lO Page Disk Cell Page ……… Buffer Pool Data page 立于Buffer Pool的二级缓存,利用非易失存储等 Memory Memory Log Cell Page 新硬件的能力,提供快速高效的热数据访问能力 Undo page Local lO Cache File 效果: 随着数据量的增大,性能平均提升100%以上
14. Instant DDL Row1 • Instant DDL Row2 - 新增列 Row3 SYS_COLUMN INSTANT TABLES - 修改列类型 - 删除列 • 并行rebuild - 并行扫描 Parse columns Header Row1 Header ins info1 Header ins info2 ins info Row2 Row3 - 并行导入
15. 突破三:持续备份,并行回档 Compute Node Apply Data redo log - 自治备份:存储分片根据备份点进行独立备份,同时做到 Apply Data o l 自治 备份 redo log Storage redo log Data redo log Data Data redo log - 并行回档:每个分片并行查找数据全量/增量备份,并行回 Snapshot Apply 放日志 Data Apply Snapshot redo log 并行 回档 Storage 备份全局一致性备份 redo log Data redo log Data 持续备份:持续的无感知备份,独立并行,秒级备份; 并行回档,GB级回档速度
16. 目录 01 背景:架构介绍 02 实践:场景突破 03 演进:深入探索
17. Global standby Primary Standby Client Client - 极致性能:Log store提升日志响应速度和整体吞 Memory Memory Buffer Pool Data page Buffer Pool Log Buffer Undo page 吐量,提供极致的写性能 Log Apply Thread Data page Undo page - 跨region读:提供可用性更高的、跨region的只 读服务 Remote lO Log Log Log Store Replication Log Page - 金融级可靠性:跨region灾备,打造超高级别的 Log Store Log Cell Page Log Txstore Remote lO Page Cell Page Txstore Log Cell Page Log Cell Page 数据可靠
18. 深度优化 MySQL Checkpointed Data 打破常规:日志即数据和页面版本化,为内核的深度优 Redo log 化提供了新的方法 checkpoint VDL - 页面淘汰:页面淘汰不再与日志持久化关联,快速 Data File 淘汰页面,保证并发稳定性 TDSQL-C - 分区读写:多线程对一个页面进行分区读写,提升 Checkpointed Data 读写并发能力 checkpoint & VDL Base page point DL(cell) - 远程写:特定页面远程写
19. 分区多写 DB Proxy R/W state exchange DB Process push DB Proxy R/W DB Proxy state exchange DB Process - 数据集分区 R/W DB Process - 多节点读写 - 日志传输 pull Log Store - 全局事务 Distributed log Private log Remote log DB group DB Unit DB Unit DB Unit
20. 关注“腾讯云数据库”官方微信 体验小程序一键管理数据库 获取数据库技术干货和最新资讯
21.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 13:46
浙ICP备14020137号-1 $Map of visitor$