현재 Spring Batch에 병렬 로컬 파티셔닝 방식으로 17개 CSV 파일 읽고, DB 테이블까지 넣는 과정에서 동시성 이슈가 생겨서 데이터 누수가 발생하더라구.
그래서 Staging Table 사용해서 동시성 제어를 하고 있는데, CSV -> Staging 임시 테이블(병렬), 임시 테이블 -> 기존 DB로 옮기는 과정에서 단일 처리를 하니깐 시간이 엄청 오래걸림..
그래서 내 생각은, StagingTable로 데이터 받은다음에, 바로 COPY를 해서 일괄 적재 하는 방식으로 하려고 하느데, 이거는 스테이징 테이블에 대한 장점이 사라지지않나 싶어서,,
[일반] 혹시 Spring Batch + Staging Table 사용해본사람??
익명(59.15)
2025-05-06 15:17
추천 0
댓글 4
다른 게시글
-
스프링 프레임워크는 있는데 [2][일반] 착해진웃스..(112.168) | 25.05.06추천 0
-
웃스웃 거만한 말투 때문에 띠꺼워 [4][일반] 익명(58.232) | 25.05.06추천 0
-
이번에 입사한 신입인데 [8][일반] 익명(121.185) | 25.05.06추천 1
-
오픈챗방 들어갔더니 백갤러같이 말하는애 보이노 [2][일반] 익명(138.199) | 25.05.06추천 0
-
난 농협중앙회 떨어지고 현재 ㅈ타트업 팀장임 [1][일반] 익명(112.121) | 25.05.06추천 0
-
새금중 학점 3.0언저리인데 서류 합격했음 [1][일반] 익명(211.235) | 25.05.06추천 0
-
이번 상반기 준비하면서 느끼는 점 [2][일반] 익명(211.60) | 25.05.06추천 0
-
농협중앙회 학점 2.5로 서류 합격하더라 ㅋㅋㅋ [6][일반] 익명(112.121) | 25.05.06추천 0
-
중소 면접에서 [18][일반] 돌솥굴국밥(wldyd4195) | 25.05.06추천 0
-
난 네트워크 망구분이 제일 ㅈ같았음 [1][일반] 익명(223.38) | 25.05.06추천 0
너가 말한 해결법은 일단 외부로 나가는거에서 탈락이라고 생각 나라면 ID기반으로 스테이징 1개에 전부 적재하고 ID로 끌어와서 병렬 처리할듯 이러면 적재는 싹 다 그냥 때려박아도 되고 스테이징 -> 메인 머징 ID기반 처리만 유념하면 될듯? 데이터 규모가 어느정도인지 몰라서 자세한 답변은 못했지만 도움 됐으면 좋겠음
아하 그렇군요.. 정말 감사합니다. 선생님 말씀 곱씹으면서 한번 더 공부해야겠네요!
현재 csv 17개에 전체 데이터 340만건입니다. 지금 일단, 스테이징 테이블 사용해서 동시성 이슈는 해결한 거 같은데, 그 다음 스탭이 고민되었는데 선생님 말 한번 곱씹어보면서 해결해봐야겠네요. 시스템 외부로 나가는거가 혹시 정확히 어떤 뜻인지 알 수 있을까요?? stagingTable -> 로컬 테이블로 사용하는거에서 외부라는 뜻일까용?
스테이징 -> 적재는 batch에서 DB I/O를 다루는게 아닌 COPY로 들어간거 말한거 스테이징 -> 로컬은 트랜잭션 관점에서도 내부 insert라서 내부처리