TiDB 概念简述
TiDB 是一个开源的分布式SQL数据库,由 PingCAP 公司主导开发。它旨在提供无缝的水平扩展能力,支持强一致性的分布式事务,同时兼容 MySQL 协议。TiDB 的设计目标是处理大规模数据场景下的在线事务处理(OLTP)和在线分析处理(OLAP)的需求,适用于高并发的互联网、金融、电商等业务场景。
核心特性
- 水平扩展:TiDB 支持在线水平扩展,通过简单增加新节点即可扩展数据库的存储和计算能力,无需停机。
- 分布式事务:TiDB 提供完整的分布式事务支持,采用乐观锁和悲观锁相结合的方式,保证事务的 ACID 特性。
- 兼容 MySQL:TiDB 兼容 MySQL 5.7 协议和大部分 MySQL 语法,可以无缝迁移现有的 MySQL 应用。
- 实时分析:TiDB 支持 HTAP(混合事务/分析处理)能力,允许用户在同一套系统中同时执行在线事务处理和在线分析处理。
- 高可用:TiDB 采用多副本数据存储,通过 Raft 协议保证数据的一致性和高可用。
架构组件
TiDB 系统主要包括三个核心组件:
- TiDB Server:负责接收 SQL 请求,处理 SQL 查询逻辑。
- PD (Placement Driver) Server:负责存储集群的元数据,如集群拓扑信息、TiKV 数据分布情况等。PD 也是整个集群的调度中心,负责数据的分配和负载均衡。
- TiKV Server:负责存储数据,是一个分布式的事务型键值存储引擎。TiKV 提供了事务的隔离级别,并通过 Raft 协议保证数据的一致性和高可用。
使用场景
- 大数据量、高并发的在线业务:TiDB 能够处理上亿甚至更多的数据行,适用于电商、支付、股票等业务。
- 业务快速迭代:TiDB 支持在线扩容和在线升级,可以快速响应业务增长需求。
- 云原生应用:TiDB 支持在 Kubernetes 上运行,适合云原生应用的开发和部署。
- 数据迁移和同步:TiDB 提供了丰富的数据迁移工具,支持从 MySQL、Oracle 等数据库平滑迁移。
总结
TiDB 是一个适用于互联网和传统行业大规模数据处理需求的分布式数据库解决方案。它结合了传统 RDBMS 的易用性和 NoSQL 的可扩展性,提供了一种新的数据库技术选择。
原文地址:https://blog.csdn.net/wangnanwlw/article/details/143355763
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!