猿创征文|初识TiDB生命周期
0、简介
TiDB 是 PingCAP 公司基于 GoogleSpanner/F1论文实现的开源分布式 NewSQL 数据库。实现了自动的水平伸缩,强一致性的分布式事务,基于 Raft 算法的多副本复制等重要 NewSQL 特性。 TiDB 结合了 RDBMS 和 NoSQL 的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务, 真正的异地多活及自动故障恢复保障数据安全,同时兼容 MySQL 协议,使迁移使用成本降到极低。
TiDB 具备如下 NewSQL 核心特性:
SQL支持 (TiDB 是 MySQL 兼容的)
水平线性弹性扩展
分布式事务
跨数据中心数据强一致性保证
故障自恢复的高可用
TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景。
TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。
1、前言
通过前面的简介我们了解到TiDB能做什么,以及他的一些特性,工作也有七八个年头了,从单体应用,到分布式,微服务,都离不开数据库,所使用的数据库有Mysql,Oracle,Postgrasql等等一些市面上主流的数据库,那么今天为什么来单独说下这个TiDB呢,TiDB是一款同时支持在线事务处理与在线分析处理 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。可以提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
2、周期
TiDB在公司,经历了几个周期,如下图:
从最初的测试、引入,到大规模迁移,集群数爆炸式增长,到TiDB运维体系整体完善,引入套餐与账单,再到疫情来临,资源紧张,需要进行存储空间优化、小集群优化,到了精细化运维的阶段,再到后面计划的云化阶段,来真正释放资源。
3、TiDB硬件环境
3.1、 操作系统及平台要求
操作系统 | 版本 |
Red Hat Enterprise Linux | 7.3 及以上的 7.x 版本,8.4 及以上的 8.x 版本 |
CentOS | 7.3 及以上的 7.x 版本,8.4 及以上的 8.x 版本 |
Oracle Enterprise Linux | 7.3 及以上的 7.x 版本 |
Amazon Linux | 2 |
Ubuntu LTS | 16.04 及以上的版本 |
3.2、 编译和运行 TiDB 所依赖的库
编译和构建 TiDB 所需的依赖库 | 版本 |
Golang | 1.18.5 及以上版本 |
Rust nightly-2022-07-31 | 及以上版本 |
GCC | 7.x |
LLVM | 13.0 及以上版本 |