[Moassam] 좋아요/북마크 동시성 정합성 테스트 2 - 정합성 개선하기 (ON CONFLICT, Atomic Update)
·
Project/Moassam
· 들어가며이전 글에서는 K6 부하 테스트를 통해 좋아요와 북마크 기능에서 동시성 문제로 인해 데이터 정합성이 맞지 않는 문제가 발생하는 것을 확인했습니다.이전글 바로가기 [Moassam] 좋아요/북마크 동시성 정합성 테스트 1 - 테스트 환경 구성 및 K6 부하 테스트(성능 개선· 들어가며커뮤니티 서비스에서 실제 좋아요와 북마크 데이터 수는 posts 테이블 안에 있는 count 컬럼과 항상 동일해야 합니다. 하지만 여러 사용자가 동시에 같은 게시글에 좋아요나 북마크 요myojun.tistory.com특히 100 VU와 같은 비교적 낮은 동시성 환경에서도 HTTP 요청은 정상적으로 처리되었지만, 실제 데이터와 posts 테이블의 count 값은 일치하지 않았습니다. 원인은 count 변경과 실제 데이터..
[Database] SQL Join에 대해 알아보자!
·
Database
· JOIN- JOIN 이란?DB에서 2개 이상의 테이블을 연결하여 하나의 결과 테이블로 만들어서 효율적으로 데이터를 검색하고 처리할 수 있게 합니다. JOIN은 일반적으로 PK와 FK 관계에서 많이 사용되지만,반드시 PK/FK 관계일 필요는 없으며두 테이블 간에 비교 가능한 컬럼이 존재하면 JOIN이 가능합니다.- 사용하는 이유DB에서 테이블을 분리하여 데이터 중복을 최소화하고 데이터 일관성을 유지하기 위해 사용합니다.또한, 분리된 테이블의 데이터를 하나의 결과 집합으로 조회하기 위해 사용합니다.- 종류INNER JOIN: 두 테이블에서 공통된 값을 가지고 있는 행들을 반환합니다.OUTER JOIN: 두 테이블에서 공통된 값을 가지지 않는 행들도 반환합니다.LEFT OUTER JOINRIGHT OUTE..