What is Replication?Replication is a method for duplicating and sharing data across multiple databases and servers.A single set of data stored in a SQL database is copied to a secondary server in a process known as master-slave replicationAny updates to the master database are made simultaneously to the additional server, aiming to enhance performance and preserve consistency.➡️ 복제는 여러 데이터베이스에 데..
Partitioning TypeVertical PartitioningColumn을 기준으로 테이블을 나누는 방식이다. Article 테이블상황 : 기사 목록 페이지에서 보통 기사 내용까지는 한 번에 보이지 않는다.특정 조건에 만족하는 기사 데이터 조회 (Select)저장 공간에서 조건에 만족하는 모든 데이터를 조회 (모든 컬럼의 데이터 조회)Select 절에 선언된 컬럼 데이터만 클라이언트에게 전달➡️ 저장공간에서 데이터를 읽어올 때 불필요한 데이터(용량이 클 수도 있음)를 조회하는 오버헤드가 존재한다. Column Partition상세 조회 요청 시, Article_Content 테이블을 통해 조회한다.기존 테이블의 성능을 높이고자, Vertical Partitioning을 실행할 수 있다. Hori..
CAP 이론이란CAP 이론에 따르면, 분산 시스템은 일관성(Consistency), 가용성(Availability), 분할 내구성(Partition Tolerance) 3가지 특성 중 2가지 특성만 제공할 수 있다는 이론입니다. 분산 시스템이란동시에 둘 이상의 노드에 데이터를 저장하는 시스템(네트워크)을 의미합니다. Consistency : 일관성어떤 노드에 연결하든 모든 클라이언트가 동시에 동일한 데이터를 볼 수 있음을 의미합니다.데이터가 한 노드에 기록될 때마다 “Write” 연산이 성공된 것으로 간주되기 전에 시스템의 다른 모든 노드에 데이터를 즉시 전달하거나 복제해야 합니다.즉, 데이터 간의 모순, 중복과 같은 문제가 발생하면 안 되며, 분산 시스템에 데이터 연산 작업이 일어나면 모든 시스템에 ..
MySQL 기본적인 Locking & 격리 수준MySQL의 기본적인 Lock기본적으로 REPEATABLE READ 격리 수준을 사용한다.MVCC (Multi-Version Concurrency Control)을 활용하여 데이터 일관성을 유지합니다.트랜잭션이 진행되는 동안 동일한 데이터를 읽으면 변경된 데이터는 보이지 않습니다. (커밋된 새로운 트랜잭션의 데이터가 반영되지 않음)SELECT 시 Read Lock 걸지 않음select 쿼리는 잠금을 걸지 않음MVCC를 사용해 트랜잭션이 시작된 시점의 데이터 스냅샷 반환UPDATE / DELETE 시 Record Lock (행 단위)행에 대해 Record Rock을 획득합니다.해당 행이 다른 트랜잭션에서 수정되지 않도록 방지GAP Lock (Phantom Re..