TOPIC ARCHIVE

트랜잭션·데이터 정합성

트랜잭션, 동시성, 상태 이력과 데이터 손실 방지 조건을 다룬 기록입니다.

CURATED NOTES

트랜잭션·데이터 정합성

각 글은 하나의 대표 주제에만 분류했습니다. 시리즈가 있는 글에서는 구현 순서와 앞뒤 글도 함께 확인할 수 있습니다.

트랜잭션·데이터 정합성 · 10개 글 · 작성일 최신순

트랜잭션·데이터 정합성프로젝트 2022 · 5분조회 집계 중

목록 행을 전체 주문으로 믿었을 때: 일괄 접수에서 데이터가 누락된 이유

분산된 미수주문 접수 로직을 서버에서 통합하는 과정에서 화면의 부분 객체를 전체 주문 데이터처럼 사용해 기존 업무값이 누락된 원인과, 현재 데이터를 다시 조회하도록 저장 경계를 고친 과정을 다룹니다.

JavaSpringData IntegrityRegression Testing
트랜잭션·데이터 정합성프로젝트 2023.04 · 7분조회 집계 중

JOIN 결과 행 수가 Report ID 증가폭이 되어버린 이유

한 Job에 여러 주문이 연결되면서 성적서 대상 행이 중복되고, Java 반복문의 채번 증가가 행 수만큼 실행돼 Report ID가 +N씩 건너뛴 원인을 조회 책임 분리로 해결한 과정입니다.

Oracle SQLJoin CardinalityID GenerationJava
트랜잭션·데이터 정합성프로젝트 2025.03 — 2025.08 · 9분조회 집계 중

DB Link를 제거한 뒤 남은 문제: 복수 DataSource의 트랜잭션 경계

DB Link를 직접 DataSource 접근으로 바꾼 뒤, Mapper를 분리하면서도 Service의 트랜잭션 경계를 유지하기 위해 Atomikos 기반 JTA 구성을 적용한 판단과 검증 한계를 정리했습니다.

Spring JTAAtomikosMyBatisXA DataSource
트랜잭션·데이터 정합성프로젝트 2024.10 — 2025.04 · 7분조회 집계 중

Spring Singleton Service에 요청 데이터를 멤버변수로 두면 생기는 일

Spring Service의 공유 가변 상태가 동시 요청 사이의 데이터 혼입 위험을 만드는 이유와, 요청 상태 지역변수화·공통 인터페이스·회귀 테스트로 이를 제거한 과정을 정리합니다.

JavaSpringConcurrencyRefactoring
트랜잭션·데이터 정합성프로젝트 2024.09 — 2024.10 · 7분조회 집계 중

재발급 문서를 덮어쓰지 않고 이력 관계로 관리한 이유

공인 성적서의 원본·재발급·폐기 상태를 덮어쓰기 대신 발행 순번과 이력 관계로 모델링하고, 진위확인·동시 재발급까지 검증한 과정을 정리합니다.

Data ModelingOracleAudit TrailConcurrency
트랜잭션·데이터 정합성프로젝트 2022.03 — 2022.11 · 9분조회 집계 중

try-catch가 Spring Transaction Rollback을 막을 때

@Transactional 메서드 내부에서 삼킨 예외가 부분 반영을 만든 원인과 RuntimeException 재전파, API 업무 응답 검증, 외부 부수효과의 한계를 설명합니다.

SpringTransactionException HandlingREST API