

RDS MySQL에서 RDS Aurora로 DB이전 다운타임 최소화 하기
RDS MySQL에서 Aurora로 이전할 때 다운타임을 줄이는 절차를 정리했습니다. 스냅샷 마이그레이션과 복제 동기화, binlog 관리가 핵심이었습니다.


RDS MySQL에서 Aurora로 이전할 때 다운타임을 줄이는 절차를 정리했습니다. 스냅샷 마이그레이션과 복제 동기화, binlog 관리가 핵심이었습니다.


Aurora Serverless v2의 동작 방식과 Aurora MySQL 대비 특징, 성능 및 비용 차이를 정리했습니다.\n트래픽 변동성이 큰 서비스에 적합하지만, 고정 부하에서는 비용 효율을 다시 검토해야 했습니다.


JDBC Driver 변경 이후 발생한 OOM 원인을 DB Connection 누수로 추적하고 Heap Dump로 확인했습니다. mysql-connector-j 업그레이드와 cleanup thread 비활성화로 문제를 해결했습니다.


온라인 DDL 테스트를 자동화해 알고리즘 선정과 사전 검증 과정을 표준화했습니다. 클론 생성, 비동기 실행, 히스토리 저장, Slack 알림으로 운영 효율과 안정성을 높였습니다.


JdbcPagingItemReader와 MySqlPagingQueryProvider의 페이지네이션 동작과 주의사항을 정리했습니다.\nsort key와 group clause 설정에 따라 데이터 누락과 SQL 오류가 발생할 수 있어 조심해야 했습니다.

매월 반복되던 재무 결산을 Spring Batch와 코드 중심 구조에서 Airflow와 dbt 기반 데이터 파이프라인으로 전환했습니다. SQL 수정만으로 결산 대응이 가능해져 유연성과 가시성을 높였습니다.


광고 업체 유효성 검사 시스템을 직접 API 호출에서 캐시와 Kafka 기반 실시간 처리로 개선한 과정을 정리했습니다. gRPC와 표준화된 필드로 성능, 확장성, 유지보수성을 높였습니다.


광고 업체 유효성 검사 시스템을 API 중심 구조에서 배치와 Kafka 실시간 처리 구조로 단계적으로 개선한 사례입니다. MySQL, Redis, gRPC를 함께 활용해 확장성과 운영 효율을 높였습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

트랜잭션 롤백과 중복 조회에 의존하던 CDC의 한계를 짚고, QueryPie의 쿼리 시뮬레이션 기반 접근을 소개했습니다. DBMS 부하를 줄이면서도 변경 전후 데이터를 확보하는 구조와 효과를 설명했습니다.

트랜잭션 롤백에 의존하던 CDC의 성능 저하와 DBMS 종속성 문제를 다뤘습니다. QSI 기반 쿼리 시뮬레이션으로 변경 전후 데이터를 생성해 부하를 줄인 방식을 소개했습니다.

트랜잭션 기반 CDC의 롤백 부하와 DBMS 종속성 문제를 정리하고, QSI 쿼리 시뮬레이션으로 이를 대체하는 방법을 소개했습니다.\n트랜잭션 없이 변경 전후 데이터를 생성해 성능과 확장성을 높인 사례를 설명했습니다.


아자르의 개인정보 삭제 정책 시스템을 이벤트 기반으로 설계한 사례를 소개했습니다. 예약부와 처리부를 분리하고 Kafka, Databricks로 무손실 처리와 백필을 지원했습니다.

MySQL 기반 message-relay의 쿼리 지연과 lock wait 문제를 분석하고 개선한 사례를 소개했습니다. NOWAIT와 LIMIT 조합으로 lock 경합을 줄여 성능을 안정화했습니다.
![[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/2/6fcf6f42a7137411e9966df3cba9520b9bbb7639fc4c76f85169f548440d0786.png)

Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.