작은 수정이 전체를 깨뜨리기 시작했을 때: 옐로우버스 DB 재설계 이야기
51
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 옐로우버스 일정 시스템의 데이터베이스 재설계 과정과 결과를 공유합니다.

문제 진단

  • 운행일정이 빈번한 수정으로 물리적으로 끝없이 파편화됨
  • 탑승일정 패턴 생성 시 모든 인스턴스를 즉시 생성하여 대규모 재생성 비용 유발
  • 운행일정과 탑승일정의 강한 결합으로 작은 수정이 도메인 전체에 연쇄 영향

도입한 전략

  • Append-only 모델로 UPDATE 대신 INSERT 사용, override_weight로 유효 레코드 결정
  • Decoupling으로 탑승일정은 논리적 식별자에 의존하고 조회 시점에 운행일정과 매칭
  • Lazy Generation으로 인스턴스는 실제 조회나 탑승 시점에 지연 생성

성과

  • 변경 비용과 데이터 파편화 크게 감소, 정합성·추적성 확보