피드로 돌아가기
How PostGIS and DynamoDB Streams Power a Real-Time Delivery Hub Platform
Dev.toDev.to
Database

PostGIS와 DynamoDB Streams 기반 2초 내 실시간 배송 허브 시스템 구현

How PostGIS and DynamoDB Streams Power a Real-Time Delivery Hub Platform

NP2026년 6월 29일6advanced

Context

라스트마일 배송 실패로 인한 건당 $5-15의 재배송 비용 발생 및 고객 경험 저하 문제 해결 필요. 기존 픽업 락커의 고객 방문 제약을 극복하기 위한 지역 거점 기반의 유연한 재배송 허브 플랫폼 설계 요구.

Technical Solution

  • Aurora PostgreSQL(PostGIS)을 Source of Truth로 정의하여 공간 쿼리 기반의 최적 허브 매칭 및 배송 클러스터링 구현
  • DynamoDB Single-Table Design을 도입하여 4가지 서로 다른 접근 패턴을 GSI로 최적화하고 이벤트 스트림 처리 효율 극대화
  • DynamoDB Streams와 Lambda, Pusher를 연결한 이벤트 기반 파이프라인 구축으로 상태 변경 시 2초 이내 실시간 알림 전송
  • Row-Level Security(RLS) 적용을 통한 멀티 테넌트 격리 및 pg_advisory_xact_lock 기반의 예약 슬롯 레이스 컨디션 방지
  • DynamoDB Conditional Writes를 통해 분산 락 없이 이벤트 중복 쓰기를 제어하는 멱등성 확보
  • TTL 설정을 통한 90일 주기 이벤트 데이터 자동 생명주기 관리로 스토리지 최적화

1. 공간 데이터 처리 시 애플리케이션 로직 대신 PostGIS의 ST_DWithin, ST_ClusterDBSCAN 등 DB 레벨 쿼리로 연산 부하 감소

2. 실시간 알림 요구사항 시 'DB Write -> Stream -> Lambda -> WebSocket/Push' 체인을 통한 비동기 파이프라인 검토

3. Aurora Data API 사용 시 Geography 컬럼 직렬화 이슈 해결을 위해 ST_X, ST_Y 함수로 좌표를 Float 형태로 변환하여 추출

4. RLS 적용 시 Data API의 세션 유지 특성을 고려하여 Transaction 내에서 set_config 실행 필요

원문 읽기