从工作开始,MySQL未从身边离开过,随着国产数据库兴起,兼容MySQL生态的分布式数据库TiDB也在心里有一席之地(2020年);断断续续,TiDB的名字越来越熟悉,此篇记录为什么是TiDB,而不是”ABC“。
MySQL主从架构问题
-
集群扩展性差
-
没有读写分离机制:当前mysql实例压力不均等
-
写入单点:写入出现瓶颈只能提升硬件配置
-
-
从库数据不一致
- MySQL主从同步会出现同步延时
-
海量数据查询能力差
-
目前采取分库分表集群,运维成本高
-
单表数据量较大,数据爆炸性的增长,查询慢
-
-
系统可用性
-
无自动failover机制:主库故障需要人工切换
-
DDL操作锁表,阻塞业务
-
TiDB如何解决
-
TiDB 采用计算、存储分离的架构,可对计算、存储分别进行扩容和缩容
-
Raft 协议,确保数据强一致
-
引入列存储引擎 TiFlash 结合行存储引擎 TiKV 构建真正的 HTAP 数据库
-
采用多副本 + Multi-Raft 协议,保证系统高可用
-
兼容 MySQL 5.7 协议和 MySQL 生态等重要特性
-
具有全面的生态工具,包括部署、数据迁移、性能调优、备份、故障诊断等
-
解决数据库架构弊端、提升性能