使用Spring Batch有什么好处(例如更快的数据检索或服务器使用的内存/处理器更少)?

时间:2017-03-10 20:29:49

标签: java spring spring-batch

让我们说我正在处理300k行的记录并加入至少3个表。使用spring批处理会比仅使用普通查询更快地检索这些行的至少一半。批量帮助还可以减轻服务器的压力吗?

2 个答案:

答案 0 :(得分:1)

Spring Batch提供的是批处理的标准结构,遵循该标准结构可以轻松解决与批处理相关的各种问题(如缩放,促进可重启性等)。

您似乎专注于SQL查询;这只是读者的一部分。相对于没有批处理的读取,读者是否会更高效/减少服务器负载/等?可能不是,因为读者在内部会使用某种方法来读取数据,你可以选择在没有Spring Batch的情况下使用它。

答案 1 :(得分:0)

我同意Guillaume F。的评论,

Spring批处理不会让事情变得更快"但它更具可扩展性...您可以将批处理拆分为多个工作程序,在线程或计算机之间。

Spring Batch的好处

基于Spring框架: 由于Spring Batch的基础是基于Spring框架,我们还可以获得Spring的所有好处,例如基于简单POJO的依赖注入和bean管理。

加速时间减少: 对于已经习惯于开发基于Spring的应用程序的开发人员来说,熟悉使用Spring Batch框架需要很短的时间。

开发人员只需关注业务规则: 围绕创建批处理应用程序的大多数技术方面已经解决,开发人员需要花费更多时间来解决业务需求,而不是构建整个框架。

使用Spring Integration: 通过利用Spring Integration的附加功能,您可以进一步提高更多分布式流程的可伸缩性。

Spring Batch提供类和API来读/写资源,事务管理,作业处理统计,作业重启和分区技术来处理大量数据。