
데이터베이스
Denormalization
문제 인식 커뮤니티 관련 서비스를 구현 중에, 다음과 같은 요구사항이 존재하였다. "게시글 테이블이 존재하며, 클라이언트에서는 이를 최신순, 조회수 수, 좋아요 수 세가지 정렬 기준 중 하나를 통해 조회를 할 수 있습니다." 여기서 게시글을 최신순으로 조회하는 것은 간단하게 해결된다. 게시글 테이블에 updatedAt 칼럼을 추가하고, 데이터가 생성/수정 될 때마디 이를 업데이트 한 뒤, 이를 기준으로 데이터를 정렬하여 가져오면 된다. 조회수 수 / 좋아요 수의 경우 어떤식으로 데이터베이스를 설계해야 할까? 두가지 기능이 비슷하기 때문에, 조회수 기준으로 이를 어떻게 구현할지만 생각해보자. 우선 게시글의 조회수를 관리할 수 있는 테이블이 필요하다. 게시글 조회수를 관리하는 테이블에선 유저의 id 와 게..