CS자료/데이터베이스

[DB] 파티셔닝

뇌장하드 2022. 3. 19. 16:50
  • 파티셔닝

    • 큰 데이터 셋을 여러 개로 나누는 것

    • 데이터 규모가 대용량화되며 용량의 한계와 성능의 저하에 따른 보완 방법

    • 데이터베이스를 분산 처리해 성능 저하를 막는다.

    • 장점

      • 성능: 쿼리 성능 향상, 대용량 WRITE 환경, 데이터 Access 범위를 줄여 성능 향상
      • 가용성: 데이터 훼손 가능성이 줄고 가용성이 좋아짐, 독립적으로 백업 및 복구가 가능
      • 관리 용이
    • 단점

      • 나눠진 테이블에 대한 JOIN에 대한 비용 증가
    • 파티셔닝의 종류

      • 수평 파티셔닝 - 샤딩

        image

      • 수직 파티셔닝 - 테이블에서 큰 데이터를 가지는 컬럼만 따로 빼는 방식

        image

    • 파티셔닝을 할때

      • 테이블이 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