国产数据库TiDB相关知识介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: TiDB 是由PingCAP 公司研发设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,它结合了传统的关系型和非关系型数据库的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用等特性。

image_d9597601.png

1、简介 

TiDB 是由PingCAP 公司研发设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,它结合了传统的关系型和非关系型数据库的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用等特性。

并提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案

2、TiDB的组成

TiDB主要包括三个核心组件:TiDB Server,PD Server和TiKV Server。下面简单给大家介绍一下。

image_5a3de134.png

2.1 TiDB Server

image_90572966.png

属于SQL 层,是对外暴露 MySQL 协议的连接 endpoint,主要 负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,可以启动多个 TiDB 实例,通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多个 TiDB 实例上以达到负载均衡的效果。TiDB Server 本身并不存储数据,只负责解析SQL,将实际的数据读取请求转发给底层的存储节点 TiKV(或 TiFlash)

2.2 PD Server(PD)

image_c4e4f5fa.png

PD主要负责整个 TiDB 集群的元信息管理模块。

  • 负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID。
  • PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点。
  • PD 由至少3个节点构成,拥有高可用的能力。PD 通过 Raft 协议保证数据的安全性。一般建议部署奇数个 PD 节点。

2.3 TiKV Server

image_e7927906.png

TiKV Server 主要负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。

存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft协议做复制,保持数据的一致性和容灾。

3、TiDB的关键特性

3.1 高度兼容 MySQL

大部分情况下,不需要调整代码就可以轻松从MySQL迁移至TiDB数据库,分库分表后的MySQL集群也可以通过TiDB工具进行实时迁移。

3.2 水平弹性扩展

通过简单地增加新节点就可以实现TiDB的水平扩展,按业务需要扩展吞吐量或存储,轻松应对高并发、海量数据场景,按需的方式也可以节约不少的成本。

3.3 分布式事务

TiDB完全支持标准的 ACID 事务。

3.4 金融级别高可用

相比于传统主从复制方案,基于Raft的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复,不需要认为的介入处理。

3.5 一站式 HTAP 解决方案

TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP解决方案,一份存储同时处理OLTP & OLAP(OLAP、OLTP的介绍和比较 )无需传统繁琐的 ETL 过程。

3.6 云原生 SQL 数据库

TiDB是为云服务而设计的数据库,可以同 Kubernetes 容器化技术深度耦合,支持公有云、私有云和混合云。使安装部署、配置和维护变得十分简单。

4、适用场景

4.1 千万级以上数据存储

针对至少有千万行级别的大表,或者数据库schema的占空空间有T级别的数据量比较适合TiDB;如果数据存储规模少于500G且每秒查询量少或并发量小则建议使用mysql。

4.2 高并发

如果你的并发量高达十万以上,可以实用TiDB,省去了中间件和分库分表的麻烦。

4.3 运维人员不足

TiDB可以自动维护数据的强一致性和高可用,大大减少了数据库运维的工作。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
8月前
|
存储 SQL 关系型数据库
TiDB的优势:为何选择TiDB作为您的数据库解决方案
【2月更文挑战第25天】随着数据规模的不断增长和业务需求的日益复杂化,现代企业对数据库系统的扩展性、高可用以及分布式处理能力提出了更高的要求。TiDB作为一个新型的开源分布式数据库,以其独特的设计理念与卓越的技术特性,在众多数据库解决方案中脱颖而出。本文将深入剖析TiDB的核心优势,探讨其如何帮助企业从容应对海量数据挑战、实现无缝水平扩展、保障服务高可用性,并提供灵活一致的事务支持。
|
8月前
|
数据库 开发者
参与TiDB社区,共筑开源数据库的未来
【2月更文挑战第25天】TiDB社区作为开源数据库项目的重要一环,汇聚了众多数据库爱好者与开发者。本文旨在鼓励读者积极参与TiDB社区,通过贡献代码、分享经验、参与讨论等方式,共同推动TiDB的发展。文章将介绍TiDB社区的特点、参与方式以及贡献的意义,帮助读者了解并融入这个充满活力的开源社区。
|
2月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
166 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
5月前
|
关系型数据库 分布式数据库 数据库
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
国产数据库的发展趋势是什么?
【8月更文挑战第26天】国产数据库的发展趋势是什么?
123 15
|
8月前
|
SQL 关系型数据库 MySQL
国产达梦数据库使用记录
国产达梦数据库使用记录
|
8月前
|
SQL 监控 关系型数据库
TiDB 分布式数据库快速入门详解
这些示例展示了TiDB的一些基本操作。实际使用时,你可能需要根据具体的业务需求和环境进行调整和优化。
561 4
|
8月前
|
JavaScript Java 关系型数据库
国产动漫|基于Springboot的国产动漫网站设计与实现(源码+数据库+文档)
国产动漫|基于Springboot的国产动漫网站设计与实现(源码+数据库+文档)
219 0
|
8月前
|
存储 关系型数据库 MySQL
TiDB与MySQL、PostgreSQL等数据库的比较分析
【2月更文挑战第25天】本文将对TiDB、MySQL和PostgreSQL等数据库进行详细的比较分析,探讨它们各自的优势和劣势。TiDB作为一款分布式关系型数据库,在扩展性、并发性能等方面表现突出;MySQL以其易用性和成熟性受到广泛应用;PostgreSQL则在数据完整性、扩展性等方面具有优势。通过对比这些数据库的特点和适用场景,帮助企业更好地选择适合自己业务需求的数据库系统。
1217 4
|
8月前
|
存储 SQL 分布式计算
TiDB整体架构概览:构建高效分布式数据库的关键设计
【2月更文挑战第26天】本文旨在全面概述TiDB的整体架构,深入剖析其关键组件和功能,从而帮助读者理解TiDB如何构建高效、稳定的分布式数据库。我们将探讨TiDB的计算层、存储层以及其他核心组件,并解释这些组件是如何协同工作以实现卓越的性能和扩展性的。通过本文,读者将能够深入了解TiDB的整体架构,为后续的学习和实践奠定坚实基础。