파티셔닝은 하나의 논리적인 테이블을 규칙에 따라 여러 물리적 부분으로 나누는 기법이다.
원리
범위·목록·해시 기준 등을 사용한다. 질의 조건이 파티션 경계와 맞으면 관련 없는 부분을 제외하는 파티션 가지치기를 활용할 수 있다.
데이터베이스 내부 |
|---|
WAL · 체크포인트 · MVCC · 트랜잭션 격리 수준 · 읽기 커밋 |
데이터베이스 교착 상태 · 비관적 잠금 · 파티셔닝 · 시점 복구 · 데이터베이스 백업 |
예시
월별 주문을 주문일 기준으로 나누면 특정 월 조회와 오래된 데이터 관리 단위를 명확히 할 수 있다.
데이터베이스 | |
|---|---|
관계형 | MySQL · PostgreSQL · MariaDB · SQLite |
NoSQL | |
스토리지 엔진 | |
주의할 점
파티션이 늘었다고 모든 질의가 빨라지지는 않는다. 키와 맞지 않는 질의, 고유 제약 조건, 파티션 생성 및 제거 절차를 함께 설계한다. 여러 서버로 나누는 샤딩과도 구별한다.