TIDB第一章 TIDB分布式数据库之基础概述

1、TIDB简介

​ 设计目标:100%的OLTP场景和80%的OLAP场景,典型的存算分离

​ TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。

2、TIDB整体架构

​ 可以把把TiDB本身看成是一个典型的业务分布式应用,PD管调度,TiKV管存储,中间这层 TiDB Server本身是无状态的,是应用层负责把sql语义翻译成实际的存储读写操作

在这里插入图片描述

(1)TiDB Server

​ TiDB Server 负责接收SQL请求,处理SQL相关的逻辑,并通过PD找到存储计算所需数据的TiKV地址,与TiKV交互获取数据,最终返回结果。TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(LVS、HAProxy或F5)对外提供统一的接入地址。

(2)PD Server

​ Placement Driver(简称PD)是整个集群的管理模块,其主要工作有三个

  • ①存储集群的元信息(某个Key存储在那个TiKV节点);
  • ②对TiKV集群进行调度和负载均衡(如数据的迁移、Raft group leader的迁移等);
  • ③**分配全局唯一且递增的事务ID****。

​ PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署3个节点。PD在选举的过程中无法对外提供服务,这个时间大约是3秒

(3)TiKV Server

​ TiKV Server 负责存储数据,从外部看TiKV是一个分布式的提供事务的Key-Value存储引擎。存储数据的基本单位是Region,每个Region负责存储一个Key Range(从StartKey到EndKey的左闭右开区间)的数据,每个TiKV节点会负责多个Region。TiKV使用Raft协议做复制,保持数据的一致性和容灾。副本以Region为单位进行管理,不同节点上的多个Region构成一个Raft Group,互为副本。数据在多个TiKV之间的负载均衡由PD调度,这里也就是以Region为单位进行调度

(4)TiSpark

​ TiSpark主要用于解决复杂的OLAP查询需求组件,依赖于TiKV集群(TiKV负责存储数据,是一个分布式的提供事务的key-value存储引擎)和Placement Driver(PD,整个个集群的管理模块)。

3、TIDB核心特性

(1)高度兼容Mysql

​ TIDB可称为Mysql Plus版,在大部分情况下,无需修改代码即可从MySQL轻松迁移至TiDB分库分表后的MySQL集群亦可通过TiDB工具进行实时迁移

(2)水平弹性扩展

​ 通过简单的增加节点即可实现TiDB的水平扩展,轻松面对高并发、海量存储数据场景。

(3)分布式事务

​ TIDB 100%支持标准的ACID事务

(4)高可用

​ 相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。

(5)云原生

TiDB 是为云而设计的数据库,同 Kubernetes 深度耦合,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值