猿创征文|初识TiDB生命周期(二)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 猿创征文|初识TiDB生命周期

4、TIDB的监控


使用TiDB-Ansible安装TiDB集群默认会安装一套Prometheus+Grafana的监控;我们使用Prometheus+Grafana对TIDB做监控。监控的架构图如下:

1.png

监控对于TIDB来说非常重要,建议单独对Prometheus以及Grafana深入学习。


5、问题


当前运维了大量的TiDB,从资源合理性角度 或精细化运维的角度,有如下问题:


**【问题】:**新的业务上TiDB,集群创建了半年,存储空间还小于100G,面对10个节点的TiDB,这种存是低于接入门槛的资源浪费情况,且与TiDB的运维规范不符


【方案】:

  • 咨询业务增长情况,如果可以保证近期有大量增长,则可以继续保留
  • 如果近期无大量增长,则回迁MySQL,可利用TiDB CDC来进行回迁

**【问题】:**已经上线有一定时间的集群,上线了很多大表,但有些表是只需要存储近期的数据即可,即历史数据可以清理,但是目前没有清理的,这种是无用数据占大量存储资源的浪费情况


【方案】:

  • 与业务咨询,确认哪些表的数据可以清理
  • 业务自己写程序清理
  • DBA提供批量清理的方式,业务添加清理任务、保留时间即可自动清理

**【问题】:**已经上线了一定时间的集群,表无变更,不查询,这种是业务下线集群未下线的浪费情况


【方案】:

  • 与业务咨询,确认是否可以整体删除、集群下线

  • DBA开发生命周期,自动扫描出未用的集群,通知业务,进行自动化下线
  • 面对如上问题,近期组内进行了精细化运营的相关工作:


确定迁移MySQL方案:

  • 引入TiCDC,验证TiDB迁移至MySQL方案


开发生命周期相关程序:

  • 自动获取低负载的集群
  • 自动获取低存储的集群
  • 自动通知业务
  • 自动化回收、下线集群


开发数据自动清理任务:

  • 利用pt工具,实现自动化分批清理
  • 支持单次清理、定期清理


调研TiDB云化实现方式:

  • 容器化部署TiDB的可行性
  • TiDB的容器部署流程测试
  • TiDB的容器部署性能测试


6、生命周期


生命周期的概念:是指数据库从申请到使用到下线的整个生命周期的记录。


7、TiDB生命周期


7.1、空闲集群判断条件


条件 判断阈值
表更新时间 半年内无更新
集群运行时间 运行时间半年以上
六个月以内连接数 无连接
集群qps 连续半年小于70000则为空闲集群
半年内工单数量 半年内无工单
自助查询判断 半年内自助查询次数


7.2、表更新时间


表的更新时间,TiDB是不太好实现的,在MySQL里面,我们可以看文件的更新时间来确认表的更新时间。

TiDB里面有一个命令:SHOW STATS_META,可以查看表的总行数以及修改的行数等信息。

语法元素 说明
db_name 数据库名
table_name 表名
partition_name 分区名
update_time 更新时间
modify_count 修改的行数
row_count 总行数

以为这个update_time可以作为表的更新时间,但实际看是不可以的,这个更新时间:

  • 在表结构变更时会变化
  • 在analyze之后也会变


7.3、实现架构


  • 通过获取集群的相关信息,判定集群是否为空闲集群
  • 空闲集群则进行集群下线、备份保留等

1.png

8、TiDB其他工具


8.1、 mydumper/loader


备份恢复工具,使用 mydumper 从 TiDB 导出数据进行备份,然后用 loader 将其导入到 TiDB 里面进行恢复。虽然TiDB 也支持使用 MySQL 官方的 mysqldump 工具来进行数据的备份恢复工作,但相比于 mydumper /loader,性能会慢很多,大量数据的备份恢复会花费很多时间,因此并不推荐。


其mydumper/myloader是Percona开源产品,多线程MySQL逻辑备份和恢复工具。那为什么PingCAP还开发loader工具呢?官方是这么说的:在使用过程中,mydumper问题不大,但是 myloader 由于缺乏出错重试、断点续传这样的功能,使用起来很不方便。所以我们开发了 loader,能够读取mydumper 的输出数据文件,通过 mysql protocol 向 TiDB/MySQL 中导入数据。


8.2、 syncer


根据MySQL binlog增量同步工具,Syncer 可以部署在任一台可以连通对应的 MySQL 和 TiDB 集群的机器上,推荐部署在 TiDB 集群。


架构图如下:

1.png


8.3、 TiDB-Binlog


TiDB-Binlog 用于收集 TiDB 的 Binlog,并提供实时备份和同步功能的商业工具。


TiDB-Binlog 支持以下功能场景:


数据同步: 同步 TiDB 集群数据到其他数据库


实时备份和恢复: 备份 TiDB 集群数据,同时可以用于 TiDB 集群故障时恢复

8.4、 PD Control


PD Control 是 PD 的命令行工具,用于获取集群状态信息和调整集群。


TiDB官方:https://pingcap.com

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
敏捷开发 监控 容灾
阿里巴巴DevOps实践指南(二十二)| 发布策略
DevOps 追求更短的迭代周期、更高频的发布。但发布的次数越多,引入故障的可能性就越大。更多的故障将会降低服务的可用性,进而影响到客户体验。所以,为了保证服务质量,守好发布这个最后一道关,阿里逐步发展出了适应 DevOps 要求的发布策略。
阿里巴巴DevOps实践指南(二十二)| 发布策略
|
SQL 运维 监控
阿里巴巴DevOps实践指南(二十一)| 全景监控
随着云原生技术的发展与演进,微服务和容器化技术成为大型分布式 IT 架构的必然选择。新技术在让 IT 系统变得更敏捷、健壮、高性能的同时,也带来了更高的技术架构复杂度,给应用监控带来了前所未有的挑战。
阿里巴巴DevOps实践指南(二十一)| 全景监控
|
Cloud Native 数据挖掘
倒计时3天 | 下一代企业级云原生实时数仓·石原子专场线上沙龙,即将开启!
下一代企业级云原生实时数仓·石原子专场线上沙龙,3月3日(周五)14:00准时开播!齐聚先锋企业技术专家,探讨实时数仓领域最佳实践与未来变革,更有精彩圆桌环节邀请行业大咖,共话极速数据分析2.0时代!
190 0
倒计时3天 | 下一代企业级云原生实时数仓·石原子专场线上沙龙,即将开启!
|
弹性计算 运维 监控
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
Serverless 的目标之一是免运维,但仍旧存在一些障碍,在 Serverless 场景特有的一些关键服务配置比如“并发度”、“最小实例数”、“最大实例数”,如何配置参数才是最合适的?怎么确定自己配置的参数是否合理?本文介绍了函数计算团队在自动化推荐 Serverless 函数最佳配置上的思考和相关工作,希望帮助用户解决目前使用问题释放 Serverless 服务的价值。
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
|
运维 数据挖掘 Serverless
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
Serverless 的目标之一是免运维,但仍旧存在一些障碍,在 Serverless 场景特有的一些关键服务配置比如“并发度”、“最小实例数”、“最大实例数”,如何配置参数才是最合适的?怎么确定自己配置的参数是否合理?本文介绍了函数计算团队在自动化推荐 Serverless 函数最佳配置上的思考和相关工作,希望帮助用户解决目前使用问题释放 Serverless 服务的价值。
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
|
运维 Oracle 关系型数据库
猿创征文|初识TiDB生命周期(一)
猿创征文|初识TiDB生命周期
158 0
猿创征文|初识TiDB生命周期(一)
|
网络协议 算法 调度
企业集群平台架构设计与实现1vs篇1(二)|学习笔记
快速学习企业集群平台架构设计与实现1vs篇1
企业集群平台架构设计与实现1vs篇1(二)|学习笔记
|
存储 Kubernetes Cloud Native
叮,你收到一份云原生景观简介
叮,你收到一份云原生景观简介
172 0
|
消息中间件 监控 Kubernetes
云原生文档专场捉虫活动开启!
针对云原生产品的专场捉虫活动开启啦!您可以针对云原生产品文档中存在的包含但不局限于文档内容的合规性、准确性、规范性和低错等各种体验问题进行捉虫,通过对文档问题的发现、反馈和解决,帮助产品提升文档体验,促进产品优化。
云原生文档专场捉虫活动开启!
|
消息中间件 监控 Cloud Native
下一篇
无影云桌面