昨天客户拿过来7G的oracle数据让分析,体会到了一些编写软件的方法....

本文记录了一次处理7GB大数据集的过程,包括从Oracle导入到SQL Server的挑战及解决方案,讨论了缓存机制、软件执行效率等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   昨天上午上班的时候客户拿过来7个G的数据要我们进行分析,起初给的是个oracle导出文件(dmp文件),这个文件也就580M的样子,我开始是在桌 面上解压的,后来客户告我有7个G吓着我啦,更紧撤销了,开始了硬盘整理工作,我的电脑是120G的硬盘,好嘛我把能删的全删了,才整理出20多G的空 间,呵呵,空间够了开始执行导入操作,由于一天要出个结果所以导入过程被中途截止了,现在把记录的数据显示如下:

起始E盘空间12.4G,只是导入了三个表就认为的终止了

               331398行  table1
              2820669    table2
            15554217    table3

start time 10:42:43
end   time 12:10:10

第一个表33万行数据耗掉了我300M的硬盘空间,最后E盘剩余的空间为:5.05G,可能是因为机器硬件的原因所以比较耗时,之前没有处理这么大的数据的经验,不过真个导入过程还算正常,cpu耗的不是很多,我两个G的物理内存也就只是耗到1G多点...  

   接下了的处理就更有意思了,由于我们的产品现在还不支持直接连接oracle处理数据,所以就要先导入到sqlServer里,第一个分析我们值是用到了那张33万条记录的那张表,首先我们用软件建立了一个分析模型,这个模型里也就两个实体一个连接,所有的实体属性加恰来也就是20来个,呵呵,由于处理导入的时候要进行数据处理,用的是我们产品里的数据抽取工具,没有用专业的数据抽取工具,这个导入过程的结果太令我吃惊了,33万行数据导入到19.7万行的时候程序就因为把的D盘空间耗完了,结果19.7万行数据竟然耗掉了6288512M空间,我们的软件的原因就不议论了,但这个过程中sqlserver一个进程就耗掉了我1G过的内存,sqlServer真的该向oracle学习下,哈哈,结下了我们用们的一个可视化分析工具,借助那一会建立的模型分析这19.7万行数据,这个分析软件因为是缓存的原因吧在耗掉我2G内存后,已经不能保存数据啦,呵呵,一直处理到晚上六点多才出了点结果,呵呵......

    这一天的经历真的蛮珍贵的,呵呵,首先说说缓存的机制吧,之前写东西总是第一反应就是缓存起来,呵呵,进过前一阵的一个项目我明白了在软件登录时最好别把所有的数据都缓存起来,呵呵,要学会分步缓存的机制,呵呵,咋样才能软件接受大数据的处理能力呢?其次是软件执行效率的问题,之前听人说过一款ETL是另一款ETL效率的六至八倍,咋样才能提高处理效率呢?这就是软件价格的差距啦,呵呵....

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值