Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DB] article의 view_count, like_count 업데이트에 대한 이슈 #54

Closed
hun-ca opened this issue Aug 28, 2022 · 0 comments · Fixed by #76
Closed

[DB] article의 view_count, like_count 업데이트에 대한 이슈 #54

hun-ca opened this issue Aug 28, 2022 · 0 comments · Fixed by #76
Assignees
Labels

Comments

@hun-ca
Copy link
Member

hun-ca commented Aug 28, 2022

article의 view_count, like_count 업데이트에 대한 이슈

게시글 좋아요나 조회수에 대한 업데이트에 대한 성능 개선

  • 단순히 게시글에 대해 좋아요나 조회수를 업데이트하는 작업은 크게 메이저한 정보는 아니기 때문에 해당 트랜잭션에 대한 수정 필요
  • 정확히 말하면 조회수, 좋아요수 업데이트 트랜잭션은 isolation level을 강하게 두고 조회수, 좋아요수 조회는 isolation level을 낮춰 대략적인 데이터만 빠르게 가져올 수 있도록 변경

해결책

  1. 조회수, 좋아요 개수 조회 대한 트랜잭션은 isolation level을 낮춰, 보다 부정확한 데이터라도 빠르게 내보내도록 하거나
  2. 설계 자체를 바꿔, article 테이블로 부터 두 컬럼(like_count, view_count)을 분리하거나
  3. 디비 클러스터를 구축해서 read / write 에 대한 트래픽 분산하거나
  4. 유저별로 또는 게시판별로 기준을 정해 파티셔닝 하거나
  5. 게시글 테이블에 like_count, view_count를 그대로 두고 게시글 단순 조회일 때에는 isolation level을 낮춰 대략적인 결과만 보이게 하던지
  6. etc,,
@hun-ca hun-ca added the fix label Aug 28, 2022
@hun-ca hun-ca self-assigned this Aug 28, 2022
@hun-ca hun-ca pinned this issue Aug 28, 2022
@hun-ca hun-ca changed the title [fix] article의 view_count, like_count 업데이트에 대한 이슈 [DB] article의 view_count, like_count 업데이트에 대한 이슈 Sep 3, 2022
hun-ca added a commit that referenced this issue Jan 27, 2023
* fix: remove viewcount from article

* feat: view count 조회에 대한 API 생성

* feat: article 단건 조회 트랜잭션 readonly true

* test: article에서 viewcount 삭제로 인한 변경

* test: remove article view count

* test: jacoco test 검증 룰 단위를 class로 변경
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant