Multi-threaded-step과 Partitioning 차이 확인
172
34 asked
안녕하세요 Multi-threaded-step과 Partitioning 차이가 제가 알고 있는 게 맞는지 궁금하여 질문드립니다.
Multi-threaded-step은
하나의 Step 안에서 Chuk 크기만큼
읽기-처리-쓰기 이 한 사이클을 여러 스레드들이 독립적으로 수행되어 단일 스레드보다 속도 향상을 할 수 있고
PartitionStep은 하나의 Master Step 안에 파티셔닝 할 Slave Step을 정의하고 이 Step은 공유되고 gridSize 만큼 스레드가 생성되어 해당 스레드에는 독립적으로 스택에 StepExecution 참조를 할당받아 마치 여러 Step들이 스레드 개수만큼 수행되는 건가요?
즉 Multi-threaded-step은 Step in Muti-Thread 이고
Partitioning은 Step in Multi-Step 인거죠?
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다. hoonseung님, 질문해주신 내용에 대해 답변드리겠습니다.
Multi-threaded-step과 Partitioning의 차이점에 대한 문의를 주셨는데, 간단히 설명드리자면:
Multi-threaded-step:
- 하나의 Step 내에서 동일한 Chunk 단위로 여러 스레드가 동시에 읽기-처리-쓰기 작업을 수행하게 됩니다.
- 이를 통해 단일 스레드보다 빠르게 데이터를 처리할 수 있습니다.
- 여러 스레드가 동일한 Reader, Processor, Writer를 공유하면서 경합 조건이 발생할 수 있어, 처리의 동기화 및 상태 관리를 잘해야 합니다.
- 하나의 Step 내에서 동일한 Chunk 단위로 여러 스레드가 동시에 읽기-처리-쓰기 작업을 수행하게 됩니다.
Partitioning:
- 하나의 Master Step이 있고, 이 Step이 여러 개의 Slave Step으로 나누어져 각각 독립적으로 실행됩니다.
- 각 Slave Step은 별도의 StepExecution을 가지며, 특정 데이터 범위(파티션)를 처리할 수 있습니다.
- Partitioning은 Step을 다수의 Sub-Step으로 나누어 병렬 처리하므로, 각 Sub-Step은 다른 스레드에서 독립적으로 실행되어 보다 효율적으로 데이터를 처리할 수 있습니다.
- 하나의 Master Step이 있고, 이 Step이 여러 개의 Slave Step으로 나누어져 각각 독립적으로 실행됩니다.
따라서, Multi-threaded-step은 “하나의 Step에서 다중 스레드로 처리”이고, Partitioning은 “하나의 Step을 다중 Sub-Step으로 나누어 처리”한다고 볼 수 있습니다.
관련된 질문에 대해 더 깊이 있는 정보는 아래 링크에서 확인하실 수 있습니다:
- Multi-threaded과 Partitioning의 차이가 있나요?
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
스프링 배치 버전 질문
0
120
1
소스코드가 어디에 있나요?
0
95
2
트랜잭션 예외
0
90
1
질문이 있습니다.
0
128
2
ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문
0
124
2
여러 JOB 설정하는법
0
148
2
강의 자료 다른 방법 있을까요?
0
154
1
JobExecution과 JobExecutionContext와의 관계
0
185
2
특정 job만 실행
1
248
1
Batch 성능 질문
0
151
1
ItemReaderAdapter 종료
0
78
1
[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader
0
178
2
Spring Batch 배포 질문
0
245
2
spring batch 버전
0
235
2
retry count 관련 질문
0
170
2
StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.
0
327
2
jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)
0
233
2
Multithread step과 AsyncItemProcessor
0
201
2
job 재실행
0
250
2
bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)
0
182
1
jdbcCursorReader, jdbcPagingReader 질문
0
143
1
step muti-thread 질문
0
106
1
itemSteam open update close 질문
0
109
1
@JopScope, stepScope 지연 초기화 관련 질문
1
124
1

