파티셔닝
큰 데이터 셋을 여러 개로 나누는 것
데이터 규모가 대용량화되며 용량의 한계와 성능의 저하에 따른 보완 방법
데이터베이스를 분산 처리해 성능 저하를 막는다.
장점
- 성능: 쿼리 성능 향상, 대용량 WRITE 환경, 데이터 Access 범위를 줄여 성능 향상
- 가용성: 데이터 훼손 가능성이 줄고 가용성이 좋아짐, 독립적으로 백업 및 복구가 가능
- 관리 용이
단점
- 나눠진 테이블에 대한 JOIN에 대한 비용 증가
파티셔닝의 종류
수평 파티셔닝 - 샤딩
수직 파티셔닝 - 테이블에서 큰 데이터를 가지는 컬럼만 따로 빼는 방식
파티셔닝을 할때
- 테이블이 2GB 이상일때
- History Table처럼 write만 하는 경우 또는 write가 필요없는 데이터가 있는 경우
파티셔닝 분할 기준 4가지
- 범위 분할: productId를 기준으로 수평 분할하는 경우
- 목록 분할: 예를 들어 상품 상태에 따른 분할을 할 수 있다.
- 해시 분할: 해시 함수에 따른 분할
- 합성 분할: 여러 분할 방법을 합성
'CS자료 > 데이터베이스' 카테고리의 다른 글
[DB] 트랜잭션이란 (0) | 2022.03.19 |
---|---|
[DB] 트랜잭션 격리수준 (0) | 2022.03.19 |
[DB] 클러스터링 (0) | 2022.03.19 |
[DB] 정규화 (0) | 2022.03.19 |
[DB] 인덱스를 사용하는 이유 (0) | 2022.03.19 |