【TiDB 4.0 PCTA 学习笔记】- 3.9.1 数据复制@2班+欧阳

课程名称:3.9.1 数据复制

学习时长:15min

课程收获:Raft 协议的基本概念,TiDB 中副本操作流程

课程内容:

  • Raft协议

    • 思考:如何保证单机故障而数据不丢失?

      • 传统一般用raid来解决
      • 分布式环境下,将数据复制到多个机器上
    • Raft是一个基于一致性的协议

    • Raft有以下重要特征

      • Leader选举
      • 成员变更(比如增加副本、删除副本、leader转移等)
      • 日志复制
    • TiKV使用Raft来进行数据复制

      • jpg
      • 每个数据变更会被记录为Raft log
      • 通过Raft log复制,数据安全可靠地复制到Raft组的多个节点
      • 根据Raft协议,数据被复制到大多数节点就表成功写入
  • TiDB中的数据副本

    • 当我们在TiDB集群中增加一个节点,发生了什么?

    • 节点E发生故障下线

      • 1、region1的leader在节点B上,正常提供服务
      • 2、半个小时(默认)后,节点E没办法重新加入,集群会自动从A、B、C、D四个节点中寻找合适的节点,新建region1的一个副本
      • 3、之后,节点E重新加入,集群判断其上region状态,从而决定如何操作