전체 글89 Spring Batch에서 JpaPagingItemReader와 JpaCursorItemReader의 이해 Spring Batch는 대용량 데이터 처리에 특화된 프레임워크로, 다양한 데이터 읽기 방식을 제공합니다. 특히, JpaPagingItemReader 와 JpaCursorItemReader 는 JPA를 사용하여 데이터베이스에서 데이터를 읽는 두 가지 주요 방법입니다. JpaPagingItemReader 개념 JpaPagingItemReader는 페이징 기법을 사용하여 데이터를 페이지 단위로 나누어 읽습니다. 이 방식은 한 번에 모든 데이터를 로드하는 대신, 설정된 페이지 크기에 따라 작은 데이터 집합을 순차적으로 처리합니다. 장점 메모리 효율성: 대용량 데이터를 메모리에 한 번에 로딩하지 않고, 페이지 단위로 나누어 처리하기 때문에 메모리 사용을 최적화 할 수 있습니다. 병렬 처리 용이: 데이터를 페이지.. 2024. 2. 27. Spring Batch의 핵심: Tasklet과 Chunk 기반 처리 이해하기 Tasklet 정의 Tasklet은 Spring Batch의 기본 구성 요소 중 하나로, 작업(step) 내에서 단일 작업을 수행하는데 사용됩니다. Tasklet은 사용자 정의 코드를 통해 특정 작업을 실행하며, 주로 단순하거나 일회성 작업에 사용됩니다. 사용 사례 파일 전송, 간단한 데이터 변환, 상태 업데이트 등 단일 단계로 완료할 수 있는 작업에 적합합니다. 특징 Tasklet은 배치 작업을 단일 작업으로 간주하여 한 번에 처리하려고 하므로 Chunk 방식에서 Chunk 크기만큼 데이터를 나누어 처리하는 방식과 상반되어 대용량에는 적합하지 않습니다. Tasklet 내에서 실행할 로직을 직접 구현합니다. Tasklet 인터페이스를 구현하며, execute 메서드를 오버라이드하여 사용자 정의 작업을 정.. 2024. 2. 26. Spring batch 그게 뭔데? Spring batch 가 뭔데? Spring Batch는 대용량 데이터 처리를 위한 애플리케이션을 개발할 수 있도록 지원하는 경량, 포괄적인 배치 프레임워크 입니다. Spring batch 왜 사용하는데? 1. 대규모 데이터 처리의 효율성 Spring Batch는 대용량 데이터를 효율적으로 처리할 수 있는 설계가 특징입니다. Chunk 기반 처리 방식을 통해, 데이터를 덩어리(chunk) 단위로 나누어 처리함으로써 메모리 사용량을 최적화하고, 처리 속도를 개선할 수 있습니다. Chunk 기반 처리 방식 원리 1) 데이터 분할 대규모 데이터 세트를 작은 "Chunk"로 나눕니다. 각 Chunk는 처리할 데이터의 한 묶음을 나타냅니다. 이 크기는 설정 가능하며, 배치 작업의 요구 사항과 시스템의 메모리 제.. 2024. 2. 25. Dockerfile 명령어 완전 분석: 컨테이너 구성의 모든 것 Docker File 이란? Docker 컨테이너를 생성하기 위한 구성 파일입니다. Dokcer 이미지를 만들기 위한 명령어와 설정을 포함하고 있습니다. Docker File을 사용하면 애플리케이션과 종속성을 코드 형태로 정의할 수 있으며, 이를 통해 일관된 환경에서 애플리케이션을 배포하고 실행할 수 있습니다. Docker File 기본적인 구성 FROM #운영체제 이미지 RUN #실행할 명령어 CMD #컨테이너 명령 실행DockerFile 문법 명령어 설명 명령어 설명 FROM 베이스 이미지 지정 RUN 명령어 실행 CMD 컨테이너 실행 명령 EXPOSE 포트 노출 ENV 환경 변수 ADD 파일 / 디렉토리 추가 COPY 파일 복사 ENTRYPOINT 컨테이너 실행 명령 VOLUME 볼륨 마운트 USE.. 2024. 1. 27. 왜 Docker를 사용해야 하는가? 주요 특징과 이점 Docker란? "로컬에서는 작동하는데, 서버에서는 작동하지 않아"를 해결하기 위해 나온 기술입니다. Docker는 애플리케이션과 애플리케이션의 의존성을 일관된 환경에서 패키징하여 개발, 배포 및 실행을 가능하게 하는 플랫폼입니다. Docker를 사용하면 애플리케이션을 "컨테이너"라는 패키지에 담아, 다양한 환경에서 동일하게 작동하게 할 수 있습니다. 간단히 말하자면 Docker는 컨테이너로 만들 수 있고 어디서든 돌아갑니다. Docker를 사용하는 이유(특징) 환경 일관성 개발을 하다보면 팀원들과의 환경, 버전이 달라서 이슈를 겪었던 경험이 있을 겁니다. 또는 "내 로컬에서는 되는데 왜 서버에 올렸을 때는 안되지?" 라는 경험이 있었을 겁니다. Docker는 응용 프로그램과 그 의존성을 하나의 패키지로.. 2024. 1. 26. Hexagonal Architecture 완전 가이드: Ports와 Adapters로 구현하기 핵사고날 아키텍처(Hexagonal Architecture)란? 출처: https://medium.com/@luishrsoares/whats-hexagonal-architecture-6da22d4ab600 애플리케이션의 핵심 로직을 외부 요소들로부터 격리시키는 것에 중점을 둔 아키텍처입니다. 레이어 간의 원하지 않는 종속성이나 비즈니스 로직으로 인한 사용자 인터페이스 코드의 오염과 같은 객체 지향 소프트웨어 설계의 알려진 구조적 함정을 피하기 위해 Alistair Cockburn에 의해 발명되었습니다. Ports and Adapters Architecture 라고도 불립니다. Hexagonal Architecture의 주요 개념 Central Domain 애플리케이션의 핵심 비즈니스 로직이 위치합니다. .. 2024. 1. 25. 이전 1 2 3 4 ··· 15 다음