CS/Database 4

Database Replication

Database Replication이란?레플리케이션(Replication)은 실시간 복제본 데이터베이스 서버를 운영하는 것을 의미한다. 기준이 되는 서버를 마스터(master) 서버라고 하고, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 ‘레플리카(Replica)`라고 한다.Master - Slave 관계다양한 용어원본 서버 : Master, Main, Primary, Publisher, Active레플리카 서버 : Slave, Standby, Secondary, Subscriber왜 나왔을까?기본적으로는 데이터 안정성 때문이다.(크게 3가지 부하분산(Load Balancing), 고가용성(High Availabilty), 백업 등)생각해보자.1. 만약 어떠한 원인으로 인해 데이터가 손상 되었다면..

CS/Database 2025.02.24

[MySQL] 스토리지 엔진 수준의 잠금(LOCK)의 종류

https://jinsang-2.tistory.com/120 [MySQL] 트랜잭션 격리 수준(Isolation Level)https://jinsang-2.tistory.com/119트랜잭션의 특징 4가지, ACID중에 Isolation Level에 대해 이야기 해보려 한다.  트랜잭션(Transaction)트랜잭션(Transaction)이란??트랜잭션은 데이터베이스에서 수행되는 "작업의jinsang-2.tistory.com트랜잭션 격리 수준을 공부하기 위해 필요한 배경지식들이 있어서 정리해 놓습니다.MySQL 락 MySQL에서 사용되는 락은 크게 스토리지 엔진 레벨과 MySQL 엔진 레벨로 나뉘어 진다.스토리지 엔진 레벨의 잠금은 테이블의 데이터를 다루기 위한 락이다.MySQL 엔진 레벨의 잠금은 테이..

CS/Database 2025.02.18

[MySQL] 트랜잭션 격리 수준(Isolation Level)

https://jinsang-2.tistory.com/119트랜잭션의 특징 4가지, ACID중에 Isolation Level에 대해 이야기 해보려 한다.  트랜잭션(Transaction)트랜잭션(Transaction)이란??트랜잭션은 데이터베이스에서 수행되는 "작업의 논리적 단위"를 말한다.“더 이상 분할이 불가능한 업무처리의 단위”라고도 말한다. 하나의 작업을 위해 더 이상 분할jinsang-2.tistory.comACID - I = 독립성(Isolation)둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다. 하나의 트랜잭션이 다른 트랜잭션에게 영향을 주지 않도록 격리되어 수행되어야 한다. 예시 : 다른 트랜잭션이 계좌 A의 잔액을 읽는..

CS/Database 2025.02.18

트랜잭션(Transaction)

트랜잭션(Transaction)이란??트랜잭션은 데이터베이스에서 수행되는 "작업의 논리적 단위"를 말한다.“더 이상 분할이 불가능한 업무처리의 단위”라고도 말한다. 하나의 작업을 위해 더 이상 분할될 수 없는 명령들의 모음이며 즉 한꺼번에 수행되어야 할 일련의 연산모음을 의미한다.이 모든 작업이 완료되거나(Commit), 실패하여 취소(Abort)되어야 한다.참고예를 들어 SELECT문, INSERT문 이렇게 명령문마다 하나씩 트랜잭션의 작업의 단위가 아니라는 것작업 단위는 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것을 의미트랜잭션의 작업의 단위는 SQL 한 문장이 아님!!예시 : 은행 계좌 이체(A계좌→B계좌)계좌 A에서 100만원 출금계좌 B로 100만원 입금이 두 작업은 하나의 트랜..

CS/Database 2025.02.18