ToB企服应用市场:ToB评测及商务社交产业平台

标题: 架构 | 数据归档 [打印本页]

作者: 立山    时间: 2024-9-26 17:09
标题: 架构 | 数据归档
§1 通用思绪

数据归档就是把一坨数据挪走,换一个地方存放,然后把原来的数据干掉
数据移走后,不能影响现有业务的使用,需要继承保留被更新的能力(不存在完全冷掉的数据)
干掉原数据时要避免影响正常业务,主要是避免引起波动
但需要留意:数据归档不应该作为解决问题的首选方案
§2 快速归档

每次归档前,应该优先思量可否快速归档

快速归档几乎 不可能是首次归档时的首选方案,具有如下前提

当前归档不满意快速归档的前提条件时,需要按下面完整流程评估准备工作
通常,准备工作涉及业务实现方式的调整,需要较长时间,这个步调定义为 业务场景覆盖
直接的说就是决定业务数据会归档到那边去,以及如何与原数据的兼容
§3 归档团体流程(完整归档 & 快速归档)

数据归档实行流程如下,<快速归档>主要节流了<准备阶段>需要花费的精力:
完整归档流程

快速归档

§4 准备阶段

§4.1 确认归档表

完整确认归档表实践参考 【方案实践】数据归档-order
需要思量归档的依据:

磁盘占用与数据量方面,可以参考下面 sql,查询结果实比方下
   留意:磁盘占用 = size + idxsize
  1. select
  2.   table_name,
  3.   table_comment,
  4.   table_rows,
  5.   CEILING(data_length / 1024 / 1024) size,
  6.   CEILING(index_length / 1024 / 1024) idxsize
  7. from
  8.   information_schema.TABLES
  9. where
  10.   TABLE_SCHEMA = 'order'
  11. order by
  12.   size | table_rows desc
复制代码

§4.2 思绪:确认归档数据范围 & 归档方案待选(重点)

开端确定归档表后,需要按下面逻辑顺序评估归档数据范围
快速归档主要省略这里需要花费的精力
明白本次归档主要目标

完整的梳理业务场景

明白各个场景出现频次

明白各数据性质

整理可用归档目标地

梳理可用的归档行为

   上述归档行为均有各自得当的场景,但存储条件允许的前提下,能不删减信息就不删减信息,能不改变数据布局就不改变数据布局
  归档数据划分与思绪引导
使用方式


归档数据范围的划分,按时间范围截断,通常原库中保留 2/3/6 个月数据,其余归档走。
详细时间需要综合思量数据量和归档目标

简朴场景复杂场景业务主数据千万级数据不影响使用,以实测为准需要参考历史数据估算结果轨迹数据亿级数据不影响使用,以实测为准可以在归档后验证,如有须要进行二次归档 例:库中保留 6/3/2 个月数据时,依次剩余 5000w、3000w、2000w 数据,预计 4000w 数据量时慢处理可以改善。可以先迁移6个月前的数据并验证,假如不敷抱负再次迁移3个月数据观察结果。

§4.3 归档方式选择 & 业务场景覆盖

业务场景覆盖时应该思量

业务场景覆盖时常用方案

业务场景覆盖阶段的衍生需求以及验证

§4.4 确认归档数据范围 & 确认归档方案(快速归档可以直接从这里开始)

确认现存环境(主要用于评估业务场景覆盖的成本)
已有环境:db、mongo、es
已接入:db、mongo
可以搭建、接入:oss
估算归档数据范围的方法
估算步调

可以按下表进行整理,定位 id 时参考下面 sql,留意界限的开闭(这个过程容易眼瞎,留意缓解)
  1. select * from table_name where id<154408259 order by 1 desc limit 10
复制代码
假如遇到无 create_time 的数据,大概率是扩展表,可以使用主表数据
最后,结合各档位数据决定迁移的数据范围,按下表进行总结
表保留月数保留量截止id半年量 §4.5 迁移工具与方案

数据迁移的本质就是数据的复制,只有主动拉数和被动接受两个大方案,二者之间只是封装范围不同

可选现成的 dts 工具(保举),如阿里云的 dts,相关文档点这里
可以 组内自研(保举),按正常需求开发
可以二方库自研(有条件时保举,可以算部门kpi),按以下脉络开发

§4.6 天生归档迁移实行计划

按下表梳理
表保留月数截止id迁移目标迁移技术洗濯/筛选迁移控制
§5 迁移实行阶段

只需要留意对现有业务的影响,控制速率即可
即使迁移出了问题,由于源数据没有删除,因此可以原地重试
迁移过程,假如是自研的,可以思量美满陈诉机制,包罗如下内容

§6 验证阶段

数据量验证:不要纠结于 count,可以从多个途径对照

§7 擦除阶段

前提:务必做完业务场景覆盖后的验证和归档迁移后的验证
擦除阶段只有单表 drop 的场景(非db也类似),只需要做好进度控制

擦除速率定制


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4