百万级数据导入导出优化总结

2023-04-25  本文已影响0人  雪飘千里

1、 背景

大家在日常的开发中,excel导入导出是非常常见的需求,大部分公司因为业务量比较小,操作的数据量都是几千、几万,这个级别的数据量,我们采用apache的POI很轻松可以搞定,但如果遇到大型互联网公司动不动就百万级别的用户体量,POI就会出现各种各样的问题,比较常见的现象就是内存OOM或者导入导出耗时特别久无响应,很显然,POI在百万级别的数据量处理,已经不合适了。

2、痛点

1、导入百万级别数据(excel)到DB,有什么痛点呢?

  1. 一次加载百万级别数据到内存,发生OOM?

  2. 导入时百万级别数据存储到DB如果循环一条条插入,数据库链接不够用?

2、导出百万级别数据(DB)到excel,有什么痛点?

  1. 一次查询百万级别数据到内存,mybatis查询超时报错?

  2. 一次加载百万级别数据到内存,发生OOM?

  3. 百万级别数据导出到Excel,写到一个Sheet中,能打开,不卡爆?

  4. 百万级别数据导出到Excel中一行一行写入Excel,频繁io操作,CPU飙高?

3、业务操作高峰期,后台管理员频繁操作导入导出excel,这个时候系统很容易就会因为内存溢出挂掉了

3、解决方案

1、选用合适的excel开源处理框架

阿里的easyexcel

2、百万级别导入方案

3、百万级别导出方案

4、解决高峰期导入导出资源瓶颈

通过以上方法,能够有效的支撑百万级别的数据导入导出,而且系统的CPU、内存等核心指标不会出现明显波动。

上一篇下一篇

猜你喜欢

热点阅读