Skip to content

스프링 배치 스터디 정리 및 지속적으로 응용하기 위한 레포

Notifications You must be signed in to change notification settings

spring-batch/springbatch-in-action

Repository files navigation

SpringBatch Saturday Study

추가적 진행

  • txt 파일 reader 기능 추가 (csv, txt, excel)
  • excel Report 모듈 참고 구현
  • 배치 프로세스상에서 Step 간의 데이터 공유하는 방법 개선(외부 모듈 사용 X)
  • 속도를 줄이기 위해 Parallel Step or MultiThread로 구현해보기
  • JPA Querydsl를 활용하여 조인쿼리로 수정하기
  • JPA, Jdbc 속도 비교 (속도를 어느정도 포기하고 코드양을 줄일 것인지..?)
  • 엘라스틱 서치 스택을 추가하여 배치와 연동

스터디

  • 일자: 2020.08 ~ 11
  • 장소: 홍대 입구역 스터디 룸
  • 인원: N 명

배치 관련 업무 공유

  1. 통계 테이블 구성 (파티셔닝)
  2. 검색 데이터 통합 테이블
  3. 정산
  4. 데이터 집계

스터디 진행 방식

  1. 스프링 이론

    1. Spring.io
  2. 스프링 배치 실습 아이디어

    1. 도서관 데이터
      • '특정' 도서관 데이터 csv 기반 파일을 정규화된 테이블에 적재
    2. 미정
  3. 스프링 배치 관리

    1. Retry 전략
    2. Jenkins 를 통한 schedule
    3. Transaction 처리 방법
  4. 참고 사이트

    1. 기억보다 기록을
    2. quartz
    3. Jenkins로 배치
    4. MyBatis 설정의 SpringBatch
    5. One Reader Multi Writer

스터디 회의록

스프링 배치 관리

  • SpringFramework
  • Excel
  • DBMS
  • ORM Framework

SpringBatch Schema ERD

erd

해당 프로젝스 설정 시 db_mysql, db_oracle 내용

  • MySQL
spring:

  # JPA 설정
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
#    generate-ddl: true
    show_sql: true
    properties:
      hibernate:
        format_sql: true
#        ddl-auto: update
        ddl-auto: none # 실행하지 않음
#       ddl-auto: create-drop
#        ddl-auto: create
#       ddl-auto: validate

  # MySQL DataSource
  datasource:
    # Spring Batch Schema MySQL
    batch:
      jdbc-url: jdbc:mysql://{ip}:{port}/{schema}
      username: {db_username}
      password: {db_password}
      driver-class-name: com.mysql.cj.jdbc.Driver
      sql-script-encoding: UTF-8

    # Domain DB
    domain:
      jdbc-url: jdbc:mysql://{ip}:{port}/{schema}
      username: 
      password: 
      driver-class-name: com.mysql.cj.jdbc.Driver
      sql-script-encoding: UTF-8
  • Oracle
spring:
  # JPA 설정
  jpa:
    database-platform: org.hibernate.dialect.Oracle10gDialect

  # Oracle DataSource
  datasource:
    # DB Tuning Schema
    oracle:
      jdbc-url: jdbc:oracle:thin:@//{ip}:{port}/{sid}
      username: {db_username}
      password: {db_password}
      driver-class-name: oracle.jdbc.OracleDriver
      sql-script-encoding: UTF-8

About

스프링 배치 스터디 정리 및 지속적으로 응용하기 위한 레포

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published