JSR 352:Java Batch的最佳实践是什么,以确保最高的性能和效率?

时间:2016-07-18 11:40:51

标签: java websphere websphere-liberty jsr352 java-batch

我正在从数据库进行典型读取,我将处理并写入数据集上的文件步骤,该数据集具有数百万(> 1000万)的记录。

从设计或架构的角度来看,有什么应该记住的吗?

还有哪些需要记住的Java-Batch特定编码实践? (除了一般的java最佳实践)

我在Websphere自由上使用IBM的JSR352实现。

1 个答案:

答案 0 :(得分:4)

  1. 不做可重复读取。如果确实确保一切都在记忆中。想一级缓存。
  2. 确保您没有N + 1选择。
  3. 快速网络访问对性能至关重要 - 想想10G网络
  4. 介绍paralelism。从数据库中删除READ,不要并行化文件访问,除非您知道文件系统上有多个可以并行工作的光盘。
  5. 您的数据模型是否关系 - 是的,想想休眠,不要认为是Jdbc模板。
  6. 以大块的形式从数据库中读取。为此分配足够的内存。
  7. 如果您在写入文件之前对数据进行了后处理。再做一次。
  8. 如果您有来自数据库的只读操作。你不需要恢复能力。操作完成或失败。如果您不需要为工作选举保留中间状态,这将为您提供额外的性能提升。