학습
🗄️데이터베이스 구축자주

물리 설계 — 파티셔닝·클러스터링·이중화

큰 테이블은 잘라 두고, 자주 함께 읽는 것은 붙여 두고, 중요한 것은 복제해 둔다.

파티셔닝은 큰 테이블을 여러 조각으로 나눠 저장하는 것이다. 범위 분할(Range), 해시 분할(Hash), 목록 분할(List), 조합 분할(Composite)이 있다.

범위 분할은 날짜처럼 이어지는 값을 구간으로 자르고, 해시 분할은 해시 함수로 고르게 흩어 놓는다.

클러스터링은 자주 함께 읽는 행을 물리적으로 가까이 모아 두는 것이다. 조회는 빨라지지만 입력·수정은 느려진다.

데이터베이스 이중화(Replication)는 같은 데이터베이스를 둘 이상 두는 것이다. Eager 기법은 변경을 곧바로 모든 사본에 반영하고, Lazy 기법은 나중에 반영한다.

이중화 구성은 활성-활성(Active-Active)과 활성-대기(Active-Standby)로 나뉜다. 앞엣것은 둘 다 일하고, 뒤엣것은 하나가 쉬다가 넘겨받는다.

외울 것

Range이어지는 값을 구간으로
Hash해시 함수로 고르게
Eager변경을 즉시 모든 사본에
Lazy변경을 나중에 반영

시험에는 이렇게

파티셔닝 종류를 고르게 하거나, Eager 와 Lazy 를 바꿔 낸다. 클러스터링이 조회에 유리하고 갱신에 불리하다는 방향도 자주 묻는다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.

확인 문제

이 개념은 실기에도 1문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.