大数据量表常用转储方案介绍

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

大数据量表常用转储方案介绍

一、背景介绍

1.为什么要做数据转储?

   随着业务的发展,数据表中的数据量越来越大,已经严重影响到数据库的IO(特别是读操作)

   从而造成系统卡顿,接口数据查询响应慢的情况。

2.数据转储有什么优点?

   (1) 大大提升查询效率 

   (2) 一般不用改动现有的代码或设计

   (3) 方案可实施难度相对简单,风险可控

3.数据转储有什么缺点?

   (1) 可能会影响现有功能

   (2) 到了一定的数据量可能又需要转储

   (3) 转储过程可能会比较耗时,需要考虑其他突发状况

4.什么场景可以考虑数据转储?

   (1)业务操作由于大量历史数据存在导致数据查询效率慢

   (2)历史数据的转储不影响业务的进行

   (3)其他模块不依赖转储数据

5.什么数据量级可以考虑数据转储?

   和数据库类型以及配置有关,一般情况下数据量达到了千万级别并且已经出现

   查询的性能瓶颈时就可以考虑数据转储


二、常见大数据转储方案介绍

  方案一: 按年份分表法

   具体步骤:

   1. 备份数据库

   2. 根据现场的历史数据情况,创建年份表,如:T_HR_ATS_ATTENDANCERESULT_2022

   3. 分批将原表(T_HR_ATS_ATTENDANCERESULT)的历史年份数据插入到新建的相应的年份表中。

   4. 核对数据,插入完之后将年份表数据量和原表相应年份中的数据量对比,观察数据量是否一致

   5. 核对数据一致后,删除原表中已经备份完成的历史年份的数据。

   6. 给所有的年份表增加索引,索引和原表保持一致。

   7. 如果想要在界面查询历史年份数据,则需要增加功能,查询并适配历史年份表的数据。

 方案优缺点

  优点: 1.业务表只保留当年的业务数据,可以大大提升查询效率。

             2.当前业务表数据量不大,管理与备份比较方便。

             3.方案可实施性较强,风险可控。

  缺点: 1.需要增加代码来适配查询历史数据的功能。        

             2.需要dba每年进行一次数据转储。

image.webp


  方案一: 历史数据归档法

   具体步骤:

   1. 备份数据库

   2. 新建中间表(T_HR_ATS_ATTENDANCERESULT_TEMP)并将

       当前业务表(T_HR_ATS_ATTENDANCERESULT)的要保留的数据插入到新建的中间表中

   3. 核对数据,中间表的数据和要保留的数据总数是否一致。

   4. 重命名,当前业务表(T_HR_ATS_ATTENDANCERESULT)命名为

       T_HR_ATS_ATTENDANCERESULT_2023,归档处理。

   5. 将中间表(T_HR_ATS_ATTENDANCERESULT_TEMP)重命名为

       T_HR_ATS_ATTENDANCERESULT ,并增加相应的索引。

   方案优缺点:

      优点:1. 可以保持原有的功能,需要归档历史数据。

                2. 不需要改动代码。

                3. 大大提升查询效率。

      缺点:  1. 如果需要查询历史数据,需要增加代码功能,且查询会比较慢。

                2. 未来数据量大到影响到查询效率的时候,数据表也需要转储。

                3. 该方案适用于较少或者不需要查询历史数据的业务场景



image.webp

   方案三: 分区表法

     Oracle的分区表是将一张大表在物理上分成几个较小的表,从逻辑上看仍然是一张完整的表。

     这样,每次DML操作只考虑其中一张分区表即可

    具体步骤

     1. 备份数据库

     2. 创建一张新表(T_HR_ATS_ATTENDANCERESULT_TEMP),给新表建立分区,按年分区,

         表结构和之前的考勤明细表一致

     3. 分批将原表(T_HR_ATS_ATTENDANCERESULT)的全量数据插入到新建的

         分区表(T_HR_ATS_ATTENDANCERESULT_TEMP)

     4.  插入完后核对一下两表数据是否一致

     5.  给分区表建立分区索引,索引和原表保持一致

     6.  将原来的表(T_HR_ATS_ATTENDANCERESULT) 重命名为 T_HR_ATS_ATTENDANCERESULT_bak2023,

         分区表 T_HR_ATS_ATTENDANCERESULT_TEMP重命名为 T_HR_ATS_ATTENDANCERESULT

  方案优缺点:

    优点:1.可以保持原有的功能,不需要归档历史数据

              2.大大提升查询效率

              3.提高容错率,避免“一荣既荣,一损俱损”问题

    缺点:  1.全量的历史数据分批插入到新的分区表比较耗时

              2.分区表的管理与备份需要更加细致化

              3.跨分区查询数据还是可能有性能瓶颈

              4.普通表不能转化为分区表

image.webp


  三、注意事项

  1.由于转储时间较长,需要考虑执行过程当中出现异常中断,或者其他外界因素  导致数据转储中断是否会给系统到来故         障或者数据错误的情况,提前规划好后续措施。

  2.转储完成后及时核对数据量是否一致。

  3.转储完成后及时验证当前业务功能 及 依赖转储数据的相关功能是否正常。




大数据量转储方案介绍-熊魁.pptx


太实用了,写得很详细,给楼主点赞,以后数据量大都能轻松解决了

大数据量表常用转储方案介绍

一、背景介绍1.为什么要做数据转储? 随着业务的发展,数据表中的数据量越来越大,已经严重影响到数据库的IO(特别是读操作), 从而造...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息