【TiDB】——框架理解

本文深入介绍了 TiDB 数据库的组件,包括 TiKV Server 负责分布式 Key-Value 存储,采用 Raft 协议确保数据一致性;PD Server 作为全局调度中心,负责集群管理和负载均衡;TiDB Server 处理 SQL 请求并与 TiKV 交互。TiSpark 作为解决复杂 OLAP 需求的组件,实现 HTAP 解决方案。
摘要由CSDN通过智能技术生成

前言

经过小编这几天的学习理解,对TiDB数据库有了一定理解,所以现在回来总结。

整体框架

TiDB主要分为3个核心组件:TiDB Server ,PD Server 和TiKV Server,还有用于解决用户复杂OLAP需求的TiSpark组件。部署一个单机版的TiDB,这三个组件都需要启动。如果用生产环境,需要使用Ansible部署TiDB集群。
一个完整的TiDB集群框架如下图:
在这里插入图片描述

TiKV Server

TiKV Server 负责存储数据,对于数据存储需要保证实现以下功能:

  • 支持跨数据中心的容灾;
  • 写入速度足够快;
  • 读取速度方便;
  • 支持数据修改与并发修改数据;
  • 多条记录修改后保证原子性。

TiKV采用Key-Value模型存储数据,并且提供有序遍历方法。TiKV是一个巨大的Map,TiKV存储的是key-value pair,key-value pair按照key的二进制顺序有序,查找到某个key的位置,可以不断地调用Next方法以递增的顺序获取比这个key大的key-value。
TiKV的存储模型与SQL中Table无关,TiKV就是一个高性能高可靠性的巨大的(分布式)的map。
TiKV通过RocksDB将数据持久化到磁盘上,而不是直接向磁盘上写数据,也就是说具体的数据落地是用RocksDB负责。RokcsDB 是一个高性能的单机引擎,有FaceBook的团队做持续优化。
如果要做到数据不丢失,支持跨数据中心的容灾,就需要将数据负责到多台机器上,但是这个时候就涉及到数据一致性的问题了。TiDB采用Raft协议来保证数据一致性,Raft是一个一致性算法,PingCAP公司对Raft协议的实现做了大量的优化来保证这一协议切实可行。
Raft是一个一致性协议,提供了以下几个重要的功能:

  • Leader选举;
  • 成员变更;
  • 日志复制;

TiKV利用Raft来做数据复制,每个数据变更都会落地为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值