这是学习笔记的第 2038 篇文章
关于MySQL周期表管理,近期做了初步的设计,总体上是希望把周期表的管理和业务同学对接起来,实现流程化的管理。
对于周期表的数据管理,能够实现数据的批量管理,也可以对接到大数据中实现数据分析,并通过巡检任务对接,让整个流程动起来。
对于整体的设计方面,需要开发后端的API,API列表如下:
对于模型的设计是重中之重,也能够决定我们的周期表管理的存储设计优劣。
模型方面考虑了如下的一些表:
模型详细设计如下:
Mysql_dailytable
Mysql_cycle_table_manage_log
包含
周期表扩展记录,
周期表属性变化(包含保留时长,是否推送大数据等,不包含DDL)
周期表清理记录
Mysql_cycle_table_ddl_log 周期表变化历史记录
包含表属性变更(新增配置,新增,删除,修改字段,新增,删除,修改索引等,删除配置)
Mysql_cycle_table_inspection_log
包含周期表的巡检信息,可以根据时间频率指定
API细化部分,需要考虑具体的参数设计:
周期表列表
ip_addr,db_port,db_name,table_name,create_date,due_date,freq_type,push_to_bigdata
周期表创建
JSON
周期表属性变更
ip_addr,db_port,db_name,table_name,create_date,due_date,freq_type,push_to_bigdata,retention_period(days),
周期表批量变更接口
ip_addr,db_port,db_name,table_name,sql_set
周期表数据清理接口
ip_addr,db_port,db_name,table_name,retention_period
巡检任务
ip_addr,db_port,db_name,table_name,metric_list
大数据提取接口
复用《周期表列表》
即时通讯提醒接口
ip_addr,db_port,db_name,table_name,due_date