피드로 돌아가기
Dev.toDatabase
원문 읽기
Unit of Work 패턴 적용을 통한 DB Load 최적화 및 Write 성능 개선
TypeOrm Unit Of Work
AI 요약
Context
개별 요청마다 발생하는 빈번한 DB Write 작업으로 인한 시스템 부하 증가. Transaction 미사용 환경에서 프로세스 실패 시 부분 업데이트로 인한 데이터 정합성 저해 문제 발생.
Technical Solution
- Persist Stack 구조를 통한 쓰기 작업의 일시적 큐잉 및 일괄 처리 설계
- Flush 메커니즘을 도입하여 분산된 DB 요청을 단일 Request로 그룹화
- Unit of Work 패턴 구현으로 물리적 Transaction 없이도 논리적 원자성 확보
- Multi-connection Persist 지원을 통한 쓰기 작업의 분산 처리 최적화
- 프로세스 실패 시 Flush 전 스택 데이터 폐기를 통한 불필요한 DB I/O 원천 차단
실천 포인트
- Heavy Write 작업이 집중되는 API 설계 시 Unit of Work 패턴 검토 - 네트워크 왕복 시간(Round-trip time) 감소를 위한 Request Batching 적용 여부 확인 - 비즈니스 로직 실패 시 DB 반영을 완전히 차단해야 하는 무상태성 작업에 적용