暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
TiDB损坏多副本之有损恢复处理方法.pdf
34
8页
1次
2024-04-15
10墨值下载
TiDB损坏多副本之有损恢复处理方法
gary 发表于 2023-04-04
原创集群管理6.x 实践TiKV 底层架构
一、前言
TiDB分布式数据库采用多副本机制,数据副本通过 Multi-Raft 协议同步事务日志,确保数据强一致
性且少数副本发生故障时不影响数据的可用性。在三副本情况下,单副本损坏可以说对集群没什么影
响,但当遇到多副本损坏的损坏丢失的时候,如何快速恢复也是DBA需要面对的问题,本次主要讲述对
TiDB对多副本损坏丢失的处理方法。
二、TiDB 数据库的存储架构
TiDB ServerSQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL
析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过
负载均衡组件(如 LVSHAProxy F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多
TiDB 实例上以达到负载均衡的效果。TiDB Server 本身并不存储数据,只是解析 SQL,将实际的数据
读取请求转发给底层的存储节点 TiKV(或 TiFlash)。
PD (Placement Driver) Server:整个 TiDB 集群的元信息管理模块,负责存储每个 TiKV 节点实时的数
据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID
PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的
TiKV 节点,可以说是整个集群的大脑。此外,PD 本身也是由至少 3 个节点构成,拥有高可用的能
力。建议部署奇数个 PD 节点。
存储节点 TiKV Server:负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引
擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range(从 StartKey EndKey
的左闭右开区间)的数据,每个 TiKV 节点会负责多个 RegionTiKV API KV 键值对层面提供对分
布式事务的原生支持,默认提供了 SI (Snapshot Isolation) 的隔离级别,这也是 TiDB SQL 层面支持
分布式事务的核心。TiDB SQL 层做完 SQL 解析后,会将 SQL 的执行计划转换为对 TiKV API 的实际
调用。所以,数据都存储在 TiKV 中。另外,TiKV 中的数据都会自动维护多副本(默认为三副本),天
然支持高可用和自动故障转移。
TiFlashTiFlash 是一类特殊的存储节点。和普通 TiKV 节点不一样的是,在 TiFlash 内部,数据是以列
式的形式进行存储,主要的功能是为分析型的场景加速。
三、集群信息1.store情况
192.168.2.81:20160 ---> id=4
192.168.2.82:20160 ---> id=5
192.168.2.83:20160 ---> id=1
192.168.2.81:20161 ---> id=6247
192.168.2.82:20161 ---> id=6246
192.168.2.83:20161 ---> id=6248
2.测试表db1.sbtest1region分布情况
查看各4region的分布情况
of 8
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

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