IT

스프링 배치(Batch) 시스템이 뭐에요?

jaewon_sss 2023. 7. 26. 22:57
반응형

 

안녕하세요 

오늘은 스프링 배치 시스템에 대해 포스팅하겠습니다.

 

회사생활하다보면 배치가 돌았네 안돌았네 하는걸 들으실 수 있을텐데요

그게 뭘까요?

 

 

 

Spring Batch 란?

Java 기반의 오픈 소스 프레임워크로, 대량의 데이터를 처리하는 일괄 처리(Batch Processing) 시스템을 구축하기 위한 기능을 제공하는 프레임워크입니다.

Spring Batch는 대규모 데이터 처리, 배치 작업 관리, 재시작 및 오류 처리, 트랜잭션 관리 등을 지원하여 데이터 처리 작업을 안정적이고 효율적으로 수행할 수 있도록 도와줍니다.

 

 

 

Spring Batch 주요 특징과 기능

 

대용량 데이터 처리

Spring Batch는 대량의 데이터를 효율적으로 처리할 수 있는 방법을 제공합니다. 청크(Chunk) 지향 처리 방식을 사용하여 입력 데이터를 작은 덩어리(chunk)로 나누어 처리하여 메모리 부하를 줄이고 성능을 최적화합니다.

 

 

재시작과 오류 처리

Batch 작업이 중단되거나 오류가 발생하는 경우, Spring Batch는 재시작 기능과 오류 처리 기능을 제공하여 데이터 무결성을 보장하고 일관된 처리 결과를 얻을 수 있도록 합니다.

 

 

트랜잭션 관리

Spring Batch는 각 단계(step)마다 트랜잭션을 관리하여 일관된 상태를 유지하고, 데이터 처리 작업이 롤백되는 경우에도 이전 상태로 복구할 수 있도록 합니다.

 

 

병렬 처리

Spring Batch는 병렬 처리 기능을 지원하여 다수의 스레드를 사용하여 대량의 데이터를 빠르게 처리할 수 있습니다.

 

 

작업 스케줄링

Spring Batch는 작업을 원하는 시간에 자동으로 실행할 수 있는 작업 스케줄링 기능을 제공합니다.

 

 

대화식 또는 비대화식 모드

Spring Batch는 대화식 모드(Interactive Mode)와 비대화식 모드(Non-interactive Mode)를 지원하여 배치 작업을 유연하게 제어할 수 있습니다.

 

 

Spring Batch는 Spring Framework의 일부로 제공되며, 스프링의 다른 기능과 통합하여 사용할 수 있습니다.

XML 또는 Java 구성 파일을 사용하여 작업 플로우를 정의하고 배치 작업을 구성할 수 있으며,

많은 기본적인 구성을 제공하면서도 사용자 정의 가능한 확장성을 갖추고 있습니다.

 

 

대규모 데이터 처리, 정기적인 작업 스케줄링, 데이터 마이그레이션, 데이터 정제 등

다양한 배치 처리 작업에 Spring Batch를 사용하여

효율적이고 안정적인 일괄 처리 시스템을 구축할 수 있습니다.

 

 

반응형