下面是一些关键的指导原则,可以在构批量处理解决方案可以参考:

  • 请记住,通常皮脸处理体系结构将会影响在线应用的体系结构,同时反过来也是一样的。在你为批量任务和在线应用进行设计架构和环境的时候请尽可能的使用公共的模块。
  • 越简单越好,尽量在一个单独的批量应用中构建简单的批量处理,并避免复杂的逻辑结构。
  • 尽量的保持存储的数据和进程存储在同一个地方(换句话说就是尽量将数据保存到你程序运行的地方)。
  • 最小化系统资源的使用,尤其针对 I/O。尽量在内存中执行尽可能多的操作。
  • 检查应用的 I/O(分析 SQL 语句)来避免不必要的的物理 I/O 使用。特别是以下四个常见的缺陷(flaws)需要避免:
    1. 在数据可以只读一次就可以缓存起来的情况下,针对每一个事务都来读取数据
    2. 多次读取/查询同一事务中已经读取过的数据
    3. 产生不必要的表格或者索引扫描
    4. 在 SQL 查询中不指定 WHERE 查询的值。
  • 在批量运行的时候不要将一件事重复 2 次。例如,如果你需要针对你需要报表的数据汇总,请在处理每一条记录时使用增量来存储,尽可能不要再去遍历一次同样的数据。
  • 为批量进程在开始的时候就分配足够的内存,以避免在运行的时候再次分配内存。
  • 总是将数据完整性假定为最坏情况。对数据进行适当的检查和数据校验以保持数据完整性(integrity)。
  • 可能的话,请实现内部校验(checksums )。例如,针对文本文件,应该有一条结尾记录,这个记录将会说明文件中的总记录数和关键字段的集合(aggregate)。
  • 尽可能早地在模拟生产环境下使用真实的数据量,以便于进行计划和执行压力测试。
  • 在大数据量的批量中,数据备份可能会非常复杂和充满挑战,尤其是你的系统要求不间断(24 - 7)运行的系统。数据库备份通常在设计时就考虑好了,但是文件备份也应该提升到同样的重要程度。如果系统依赖于文本文件,文件备份程序不仅要正确设置和形成文档,还要定期进行测试。

https://www.cwiki.us/display/SpringBatchZH/General+Batch+Principles+and+Guidelines

Spring Batch 基本的批处理指导原则相关推荐

  1. 使用 Spring Batch 构建企业级批处理应用

    https://www.ibm.com/developerworks/cn/java/j-lo-springbatch1/index.html https://www.ibm.com/develope ...

  2. 数据批处理神器-Spring Batch(1)简介及使用场景

    数据批处理神器-Spring Batch(1)简介及使用场景 tags: springbatch 1.引言 最近使用Spring Batch进行做数据迁移.数据同步.数据批处理等工作,感叹Spring ...

  3. Spring batch 2.0例子(lineMapper)

    http://www.ibm.com/developerworks/cn/java/j-lo-springbatch1/ 使用 Spring Batch 构建企业级批处理应用: 第 1 部分 刘 光瑞 ...

  4. 具有Spring Boot和Java配置的Spring Batch教程

    我一直在努力将Podcastpedia.org的一些批处理作业迁移到Spring Batch. 以前,这些工作是以我自己的方式开发的,我认为现在是时候使用一种更"标准化"的方法了. ...

  5. Spring batch系列文章(一)——介绍和入门

    只能靠写博客来鞭策自己学习了 Spring Batch 简介 what's 批处理 批处理的特点 spring batch 的好基友 spring batch 集成 spring boot 的入门程序 ...

  6. Spring batch教程 之 读取CSV文件并写入MySQL数据库

    原文作者: Steven Haines - 技术架构师 编写批处理程序来处理GB级别数据量无疑是种海啸般难以面对的任务,但我们可以用Spring Batch将其拆解为小块小块的(chunk). Spr ...

  7. Spring Batch(3)——Step控制

    批处理任务的主要业务逻辑都是在Step中去完成的.可以将Job理解为运行Step的框架,而Step理解为业务功能. Step配置 Step是Job中的工作单元,每一个Step涵盖了单行记录的处理闭环. ...

  8. [Spring Cloud Task]6 Spring Batch批处理应用设计原则

    2019独角兽企业重金招聘Python工程师标准>>> 概述 本文是Spring Cloud Task系列的第五篇文章,如果你尚未使用过Spring Cloud Task,请 移步s ...

  9. 首次使用批处理框架 Spring Batch ,被震撼到了,太强大...

    以下文章来源方志朋的博客,回复"666"获面试宝典 spring batch简介 spring batch是spring提供的一个数据处理框架.企业域中的许多应用程序需要批量处理才 ...

最新文章

  1. 如何用 Python 打飞机?
  2. 最强干货实践教程 | YOLOv5在建筑工地中安全帽佩戴检测的应用
  3. 2021计算机技能高考考纲,2021年湖北省技能高考技能考试大纲(机械类).pdf
  4. Solr配置与简单Demo[转]
  5. VUE2.0开发环境安装
  6. Arrays.sort和Collection.sort分别使用什么排序来实现的
  7. .NET 6 即将到来的新特性 — 隐式命名空间引用
  8. [js] Geolocation.getCurrentPosition()用来做什么的?在什么浏览器不受兼容?
  9. matlab实现qr分解
  10. 开课吧Java课堂:什么是HashMap类
  11. python语法总结
  12. 基于matlab遗传算法工具箱的曲线拟合,基于Matlab遗传算法工具箱的曲线拟合
  13. JAVASE,JAVAEE,JAVAME的区别
  14. 毕业论文答辩开题报告PPT模板
  15. Anbox源码分析(四)——Anbox渲染原理(源码分析)
  16. 联想thinkpad E450C如何进入BIOS?
  17. 什么是脏读?不可重复读?幻读?如何解决?
  18. 2022-2027年中国棉纱行业市场全景评估及发展战略规划报告
  19. MAX17043锂电池电量测量芯片C51驱动
  20. 人工智能之深度学习常见应用方向你都了解吗?(文末包邮送书5本)

热门文章

  1. 查sqlserver表结构说明的方法
  2. Jsp内置对象及EL表达式的使用
  3. Ruby中爬虫的实现
  4. 你可能已经知道或者不知道的ASP.NET 2.0技巧(转载)
  5. es6+的javascript拓展内容
  6. 算法导论 第二部分——排序和顺序统计量
  7. Linux 0.12内核与现代内核在内存管理上的区别
  8. 首款移动社交购物平台“商宝”的产品简介、特点、交易服务以及入驻方式
  9. 51cto博客程序错误
  10. F7-Vue1.0与2.0不兼容列表