关于数据批量入库解决方案
2011-08-05 18:23
225 查看
关于程序批量入库解决方案
下面小弟关于最近的一个批量入库解决办法与大家分享一下,由于是第一次博客,有什么不对,请大家多多指教
最近项目用到了大并发写数据库操作,当用只做了单条数据commit一次,这样做插入会很慢,数据库的压力也很大,当时自己的第一个想法就是改变提交方式,10条或100条提交一次,但是这样会有一个问题,如果数据始终达不到指定的数量,就不能提交。对后续的数据处理会有延迟。
采用数据表做数据补全解决方案:
与运维对接服务器配置与布署过程中,运维提出来了数据库写入批量提交方案,提到使用mongodb,但是我对此东西只听过没有研究过,以现在的技术水平非得研究个个把月的才能弄明白,所以自己想到了定时将数据称写入到文件,程序定时去刷到数据库中(业务需求允许数据有一定的延迟性10钟以内),开始我的解决方案时新生成一个数据文件,在数据库中插入一条记录,并标识状态为正在写文件,下一时间段新生成的文件重负此步骤,并更新上次写入文件的状态为可写入数据库,程序定时器定时读数据库,写入指定的文件,并把对应的文件写入数据库,把记录状态更新为已入库,此方案有一个问题我写完了才想明白,将来布署时会用的集群,这样集群中的程序访问的是一个数据库,如果集群1写完了自己的文件,并更新了数据库,那么集群2在起动任务时,在数据库找不到可入库的文件,这样就导致集群2
的文件并没有入库成功,这样就导致数据的丢失。最后的解决方案不用数据库,程序自读各的文件,在入库成功后,将文件的文件改名,加统一的后缀,这样如果程序失败或当机,可以按文件名来区写入的状态,方便来补数据。这样数据可以保证不丢失。
下面小弟关于最近的一个批量入库解决办法与大家分享一下,由于是第一次博客,有什么不对,请大家多多指教
最近项目用到了大并发写数据库操作,当用只做了单条数据commit一次,这样做插入会很慢,数据库的压力也很大,当时自己的第一个想法就是改变提交方式,10条或100条提交一次,但是这样会有一个问题,如果数据始终达不到指定的数量,就不能提交。对后续的数据处理会有延迟。
采用数据表做数据补全解决方案:
与运维对接服务器配置与布署过程中,运维提出来了数据库写入批量提交方案,提到使用mongodb,但是我对此东西只听过没有研究过,以现在的技术水平非得研究个个把月的才能弄明白,所以自己想到了定时将数据称写入到文件,程序定时去刷到数据库中(业务需求允许数据有一定的延迟性10钟以内),开始我的解决方案时新生成一个数据文件,在数据库中插入一条记录,并标识状态为正在写文件,下一时间段新生成的文件重负此步骤,并更新上次写入文件的状态为可写入数据库,程序定时器定时读数据库,写入指定的文件,并把对应的文件写入数据库,把记录状态更新为已入库,此方案有一个问题我写完了才想明白,将来布署时会用的集群,这样集群中的程序访问的是一个数据库,如果集群1写完了自己的文件,并更新了数据库,那么集群2在起动任务时,在数据库找不到可入库的文件,这样就导致集群2
的文件并没有入库成功,这样就导致数据的丢失。最后的解决方案不用数据库,程序自读各的文件,在入库成功后,将文件的文件改名,加统一的后缀,这样如果程序失败或当机,可以按文件名来区写入的状态,方便来补数据。这样数据可以保证不丢失。
相关文章推荐
- MyBatis的关于批量数据操作的测试
- 关于小程序GET的数据中存在json的解决方案
- 关于批量插入数据
- 【转】关于批量数据更新的问题(C#高性能)
- 大数据的解决方案--------批量读取和延迟修改
- 关于批量插入数据之我见(100万级别的数据,mysql)
- 关于CSV文件导入到数据的方法以及遇到的问题和解决方案
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
- 【高并发简单解决方案】redis队列缓存 + 批量入库 + php离线整合
- Asp.net中关于excel文件批量导入SQL Server数据表
- MyBatis的关于批量数据操作的测试
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
- 关于PDA数据慢问题,解决方案
- 关于Servlet中获取到Http传输过来的中文正常,而当数据插入到MySql中时为乱码或者问好的解决方案
- android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)
- dataGridView 批量更新数据 内存溢出的解决方案
- 关于客户主数据的批量更新
- 关于网站使用异步请求以后浏览器源码查看不到数据导致百度抓取不到的问题解决方案
- 关于oracle批量插入数据遇到的问题