피드로 돌아가기
Where to store slugs
Dev.toDev.to
Backend

Slug 저장소 분리를 통한 Routing 결합도 해소 및 URL 유일성 보장

Where to store slugs

david duymelinck2026년 4월 30일3intermediate

Context

ORM 모델 내 Slug를 필드로 저장하는 기존 방식은 모델 간 중복 URL 발생 가능성을 내포함. Routing 구조를 변경하여 중복을 회피하는 방식은 데이터베이스 설계와 라우팅 로직 간의 과도한 Coupling을 초래함.

Technical Solution

  • Slug 저장소를 개별 ORM 모델에서 분리한 전용 테이블 구조 설계
  • URL, Controller 매핑 정보, 메타데이터를 통합 관리하는 Centralized Storage 도입
  • 계층적 URL 구조 대응을 위한 URL Tree 데이터 구조 채택
  • 특정 브랜치 내 유일성 검사 로직을 통한 효율적인 Namespace 관리
  • Routing Strategy와 저장소 설계를 일치시켜 도메인 모델의 의존성 제거

1. Slug를 도메인 모델(User, Post 등)의 필드로 정의하고 있지 않은가?

2. URL 유일성 검증 로직이 라우팅 경로(Prefix)에 의존하고 있지는 않은가?

3. 다국어 처리나 Alias 대응을 위해 Slug 전용 매핑 테이블 도입이 필요한 시점인가?

4. URL 계층 구조가 복잡한 경우 Tree 구조의 저장소 설계가 적합한가?

원문 읽기