본문 바로가기
반응형

CS/Database9

NamingLock을 이용한 동시성 이슈, Deadlock query 이슈 해결 동시성 이슈 + Deadlock query 이슈 해결 이슈 발생 종류 : deadlock, race condition 간단하게 Entity 연관관계를 설명하자면 Food User관계 입니다. 사용자가 음식사진과 정보를 보고 좋아요를 누르는 기능입니다. (facebook, instargram과 동일한 기능) 발생한 이슈는 동일한 food에 여러 사용자가 like를 누를 경우 dead lock 이슈와, like Entity에 적제된 row수와 food에 반정규화로 설정한 numberOfLikes 컬럼의 값과 불일치 이슈가 발생 비즈니스 로직 간단한 Table 구조 간단한 Entity 구조 @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) .. 2021. 12. 1.
DB Isolation 정의 동시에 여러 transaction을 처리될 때 특정 transaction에서 변경하거나 조회할 수 있도록 허용하는 level 종류 Read Uncommitted Read Commited Repeatable Read Serializable 특징 격리 수준이 높아질 수록 성능이 떨어집니다 트랜젝션을 순서대로 실행하면 문제가 생기지 않지만 성능 이슈로 하위 level의 격리 수준을 사용하고 있습니다. 잠금 시간을 최소화 하는 방식을 체택하는 것을 추천 -> 성능이슈가 발생 Transaction race codition으로 발생하는 문제들 종류 dirty read/write Non-repeatable read/Read skew 변경 유실 한 transaction의 결과가 다른 transaction의 쿼리에.. 2021. 10. 30.
Mysql Replication 기본 사용 기술 MySQL 5.7 Docker docker-composer Replication 정의 DB의 저장된 data가 손실될 경우를 대비해서 저장소(Storage)를 복제하는 것 특징 구성 master, slave 구조를 가짐 master : main db로서 실제 application 요청을 처리하는 DB slave : backup db 부하 분산 slave를 읽기 전용으로 설정하게 되면 부하를 분산시켜 DB에 부하를 줄일 수 있음 설치 방법 Docker와 docker-composer로 Mysql 설치 Docker로 사용하지 않고 docker-composer를 선택한이유 docker로 container 2개를 각각 생성할 경우 network를 생성해서 연동해야합니다. 이유 docker로 con.. 2021. 10. 6.
DB 스키마 정의 DB에서 자료구조, 자료 표현 방법, 자료간의 관계, 무결성제약 조건에 관한 전반적인 명세를 기술한 메타 데이터 종류 외부 스키마 서브 스키마, 사용자 뷰 라고도 한다. 정의 : 사용자나 응용프로그래머가 각 개인의 입장에서 필요한 DB의 논리적인 구조를 정의한 것 실제 데이터를 사용자에게 보여지는 데이터로 변경 한 것 같은 DB에 대해서 다른 외부 스키마를 정의할 수 있음 개념 스키마(통합 DB구조) DB의 전체적인 논리적 구조 모든 응용프로그램이나 사용자들이 필요한 데이터를 종합한 스키마이다. DB의 논리적 구조를 명세 DB 접근 권한, 보안, 무결성 제약 조건등이 명세 되어 있다. 내부 스키마 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술 내부 레코드 물리적 순서, 인덱스 유무 등에 관.. 2021. 6. 5.
반응형