구조 설계

프로젝트 결과물인 세자보에 대한 DB 스키마, 릴레이션간의 관계 및 정의에 대하여 서술한다.

개요

SOOJLE 데이터베이스를 구축하기 위한 구조 설계에 대해 다루는 문서이다.

DB 요구사항

데이터베이스 설계에 있어 반드시 다음과 같은 사항은 준수 및 지향하도록 한다.

  • NoSQL의 특징을 적극적으로 수용할 것

  • 타 테이블 간의 JOIN 연산을 지양할 것

  • JOIN 연산이 불가피할 경우, 필요한 정보를 해당 테이블로 Embedding 시킬 것

  • 불가피하게 높은 시간 복잡도의 연산을 수행해야 할 경우, 해당 작업을 백그라운드에서 수행할 것

  • 불가피한 상황이 아니라면 aggregation 연산을 지양할 것

  • 각 API에 대한 단일 결과 도출 시간이 3초가 넘지 않도록 설계할 것

E-R Diagram

요구사항을 바탕으로 설계한 SOOJLE의 데이터베이스 구조는 다음과 같다.

Last updated