在集群上支持数据库大数据量导出
来源:互联网 发布:chrome for mac 翻墙 编辑:程序博客网 时间:2024/05/18 09:28
80w行的数据导出
数据库表(经过程序处理)导出一般使用EXCEL文件,技术一般有POI、JXL、FastExcel。但是当文件过大(几十个字段,行数超过200,000)的时候,往往会出现内存溢出OutOfMemery,这个是应用无非承受的。
对于导出这么大量的数据,一般没有实时性的要求,也没有外观的要求。
业务部分的需求一般是:导出80W行数据,不管是什么,最后能变化成EXCEL即可。
解决方案:直接导出成TXT的格式,再由EXCEL打开,这样一般能满足业务的需求。
涉及的技术,压缩、并发等技术还要跟集群结合。
压缩:直接将txt压缩成RAR文件,没有什么难度。
并发:我们在后台起一个线程或者几个线程来运行一段程序,操作数据的任务表。(可以是单台机器操作)。
任务处理:直接在数据库建立任务表。
基本的结构如下所示:
- 用户的一个下载请求,传到这个服务器,服务器再传到第一台服务器。
- 第一台服务器向DB的任务表中插入一个条任务信息。
- 当第一台服务器启动的时候,启动一个线程,定时去查看DB中有没有任务。
- 如果有任务,则 处理,从底层BO中取得需要的数据。
- 直接写入文件file.txt中,再将压缩成file.rar文件
- 在页面展示一个下载中心,用户可以下载文件、也可以删除文件,甚至可以查看当然的下载任务的处理剩余时间。
file.rar必须挂在存储上,多台服务器共享。
压缩源码(核心部分):
NotepadRender:
- 在集群上支持数据库大数据量导出
- 数据库大数据量导出多线程版本
- PHP导出数据到Excel,支持大数据量
- 大数据量导出Excel
- 数据库尽量别放在虚拟机器上。特别是数据量大的。
- 数据库大数据量导出多线程版本源码部分
- Displaytag1.1支持在外部实现大数据量分页
- 数据库大数据量处理
- 数据库大数据量处理
- 大数据量-数据库优化
- 大数据量-数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 大数据量数据库优化
- 停下来了。。。
- 代码优化经验总结(4)
- 1114 Food Cubes
- “服务器推”技术的应用
- 给ctreectrl添加图标 转
- 在集群上支持数据库大数据量导出
- HDU 1269 STL 自娱自乐
- 判断是否为闰年
- flash与asp.net程序如何交互
- [推荐]什么是程序员的优秀品质?
- 学摄影
- 关于ANDROID task运行机制
- 物资供应管理系统开发记略
- 零散OS经验