- txt 파일 reader 기능 추가 (csv, txt, excel)
- excel Report 모듈 참고 구현
- 배치 프로세스상에서 Step 간의
데이터 공유
하는 방법 개선(외부 모듈 사용 X) - 속도를 줄이기 위해 Parallel Step or MultiThread로 구현해보기
- JPA Querydsl를 활용하여 조인쿼리로 수정하기
- JPA, Jdbc 속도 비교 (속도를 어느정도 포기하고 코드양을 줄일 것인지..?)
- 엘라스틱 서치 스택을 추가하여 배치와 연동
- 일자: 2020.08 ~ 11
- 장소: 홍대 입구역 스터디 룸
- 인원: N 명
- 통계 테이블 구성 (파티셔닝)
- 검색 데이터 통합 테이블
- 정산
- 데이터 집계
-
스프링 이론
-
스프링 배치 실습 아이디어
- 도서관 데이터
- '특정' 도서관 데이터 csv 기반 파일을 정규화된 테이블에 적재
- 미정
- 도서관 데이터
-
스프링 배치 관리
- Retry 전략
- Jenkins 를 통한 schedule
- Transaction 처리 방법
-
참고 사이트
- Airflow
- Apache Airflow
- Spring Batch 관리 도구로서의 Jenkins
- Airflow VS Jenkins
- Airflow를 이용한 데이터 Workflow 관리
- Airflow 워크플로우 모니터링 플랫폼
- SpringFramework
- Excel
- DBMS
- ORM Framework
- 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