前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >周期表的清理逻辑设计

周期表的清理逻辑设计

作者头像
jeanron100
发布2019-08-15 15:45:44
4320
发布2019-08-15 15:45:44
举报

这是学习笔记的第 2065 篇文章

今天做了下周期表清理的设计,从实践的效果来看还不错。现在线上环境有差不多50多个周期表要统一管理,随着这个管理的规模扩大,对于生命周期的管理也迫在眉睫。

一种比较尴尬的情况就是看到库里面存在大量的过期数据表,但是删除起来又不是很方便,随着偷懒这些表就这么慢慢积累下来了。有一套环境有6000多张表,其实按照保留周期需要的表只有800多个,剩下的过期周期表都应该删除。

整个周期表的清理逻辑做了下面的设计:

1.以API的方式设计

参数设计:

ip_addr

db_port

Start_time

End_time

Table_schema

Table_name

Code: cycle_table_list

2.根据配置中的保留信息得到过期的列表

存在不连续的周期表,如果是20190101,20190103这样不连续的周期表,需要保证程序的健壮性

更早的周期表,如果我们扫描的周期是近2个月,2个月之前的过期周期表也应该被覆盖

3.检查归档数据库是否存在

归档数据库是整个设计的核心,即数据不是直接drop,而是做了转储。整个判断的逻辑如下:

如果不存在,则触发逻辑创建归档数据库,以_arch结尾

如果存在,触发归档处理,执行rename操作将过期的表移动到归档数据库中,

所以数据库中的列表如下::

chatlog_db chatlog_db_arch

4.归档数据的处理

归档数据库做定时清理,设置清理的频度

归档数据的大数据下沉

5.数据清理的存储日志

设计清理日志记录表,对于操作记录(周期性检测任务,数据库检测任务,rename操作)

每一张表需要一条记录

做了一个对接,那个钉子户环境清理之后,归档数据库中的表有近5000张,舒服多了。

| t_test_up_20190607 | | t_test_up_20190608 | | t_test_up_20190609 | +-----------------------------+ 4929 rows in set (0.01 sec)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档