백엔드
트랜잭션리스, 완벽한 CDC(Change Data Capture) 시스템 구축법
두줄요약
트랜잭션 기반 CDC의 롤백 부하와 DBMS 종속성 문제를 정리하고, QSI 쿼리 시뮬레이션으로 이를 대체하는 방법을 소개했습니다.\n트랜잭션 없이 변경 전후 데이터를 생성해 성능과 확장성을 높인 사례를 설명했습니다.
문제 상황
- 트랜잭션 기반 CDC에서 롤백과 중복 조회로 인한 DBMS 부하 증가
- NoSQL 포함 다양한 DBMS 환경에서 트랜잭션 의존 구현의 지원 한계
- 트리거, 변경 시각 기록, binlog 활용 방식의 DBMS 종속성 문제
해결 방법
- 트랜잭션 없이 쿼리 수행 전 데이터를 조회하고, QSI로 변경 후 결과를 시뮬레이션
- 입력 쿼리 분석으로 대상 테이블과 변경 조건을 특정한 뒤 변경 전후 데이터를 생성
- CDC 결과를 CSV로 변환해 MySQL BLOB에 저장하는 방식으로 처리
성능/운영 포인트
- 롤백과 재업데이트를 제거해 DBMS 부하를 낮춤
- 트랜잭션 기반 CDC 대비 추가 동작 시간 감소
- DBMS 수정 없이 설치 직후 사용 가능해 확장성과 유연성 확보
