users
orders
order_items
주문 관련 정보가 여러 테이블로 나뉘어 저장됩니다.
주문 상세 화면처럼 사용자, 주문 항목, 주소를 한 번에 읽는 경우를 기준으로 보면, RDBMS는 조인으로 다시 모으고 Document DB는 처음부터 한 문서 안에 중첩해 둡니다.
중복을 줄이고 관계를 엄격하게 관리하기 쉽습니다.
읽기 경로가 짧고 애플리케이션 객체와 모양이 가깝습니다.
주문 관련 정보가 여러 테이블로 나뉘어 저장됩니다.
같이 읽을 필드를 주문 문서 안에 중첩해 둡니다.
필요한 조각을 읽은 뒤 조인해서 최종 주문 화면을 만듭니다.
조인 없이 한 문서만 읽어도 화면에 필요한 정보가 바로 모입니다.
같은 데이터를 여러 곳에 복사하지 않아 일관성 관리가 유리하지만, 자주 함께 읽는 데이터는 조인 비용이 붙습니다.
조인이 줄어 조회가 단순해지지만, 같은 사용자 정보가 여러 주문 문서에 반복 저장될 수 있습니다.
그래서 주문, 사용자 일부, 주소, 항목 목록처럼 함께 소비되는 데이터는 한 문서로 묶고, 그 대신 문서 간 중복 가능성을 받아들입니다.