如何快速处理数据库中大量数据

发布时间:2021-06-28 16:20:57 作者:chen
来源:亿速云 阅读:385

本篇内容主要讲解“如何快速处理数据库中大量数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速处理数据库中大量数据”吧!

背景

目标

最大化提升数据处理速度,将耗时降至10min左右,此时C表的写入速度约5000/s。

方案演进

方案一

因为T表间没有业务关联,所以每张表都可以单独处理。

将T表按数据量排序,每个进程处理N张表,尽量平衡各进程的负载。

存在的问题:T表的数据量分布极为不均衡,有几张表数据量在70万左右,最终耗时约为(70万/500)s,瓶颈问题严重。

方案二

方案一 的的基础上,以 表+数据 的维度做并行处理,可以解决大表瓶颈问题。

存在的问题:代码实现较复杂,需要考虑

方案三

借助 Redis 的 pub/sub 机制,实现生产和消费的分离。

方案四

方案三的变体,借助 Redis 的 List,实现生产和消费的分离。

本方案相比 方案三 的优势在于代码逻辑比较简洁,生产端和消费端均不需要做负载均衡。消费端能者多劳,多个消费进程同步完成作业。

实现细节

最终采用方案四

生产端

依次读取T表数据,将 表名+ID 写入List。需要注意List支持批量写入,每次写入100条数据,写入速度约50000/s。

消费端

单个进程的消费速度约300/s,起10个消费进程,处理速度可以达到约3000/s。如果数据库的写入速度允许,可适当增加消费进程数量。

到此,相信大家对“如何快速处理数据库中大量数据”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 服务器如何处理大量数据?
  2. 如何对大量数据进行存储、处理、操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库

上一篇:Android中怎么利用SharedPreference实现数据储存

下一篇:Android中怎么利用广播实现静态注册

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》