Server/DB

DB Partitioning

BeomJun.Kwon 2022. 2. 24. 17:21

 

DB Partitioning

 

 

 

 

배경

  • 서비스 크기↑ → DB Data↑ → 용량의 한계와 성능저하
  • VLDB(Very Large DBMS)와 같이 하나의 DBMS에 너무 큰 table이 들어가면서 용량과 성능 측면에서 많은 이슈가 발생 Table을 ‘파티션(partition)’이라는 작은 단위로 나누어 관리하는 ‘파티셔닝(Partitioning)’기법 생성 데이터베이스를 분산 처리와 성능 저하 방지

 

 

개념

  • 논리적 데이터 Element → Entities
  • Big Table, Index → Partition ( 물리적 데이터 분할이 있더라도 DB에 접근하는 Application은 인식못함 )

 

 

성능(Performance)

  1. 특정 DML과 Query의 성능을 향상
  2. 주로 대용량 Data Write 환경에서 효율적
  3. Full Scan에서 Data Access Range를 줄여서 성능 향상
  4. Insert가 많은 OLTP System에서 Insert 작업을 Partition들로 분산시켜 경합을 줄임

 

가용성(Availability)

  1. 물리적인 파티셔닝으로 인해 전체 데이터 훼손 가능성이 줄어들고 데이터 가용성이 향상
  2. Partition 별로 독립적 백업 및 복구가 가능
  3. Table Partition 단위로 Disk I/O를 분산하여 경합을 줄여 Update 성능 향상

 

관리용이성(Manageability)

  1. Big Table 제거하여 관리

 

 

파티셔닝의 종류

 

1. 수평 ( horizontal ) 파티셔닝

  • 하나의 테이블의 각 행을 다른 테이블에 분산

2. 수직(vertical) 파티셔닝

  • 테이블의 일부 열을 빼내는 형태로 분할

 

 

 

 

 

 

 

 

 

 

DB Partitioning 장단점 및 종류, 분할 기준

https://gmlwjd9405.github.io/2018/09/24/db-partitioning.html

 

 

 

 

'Server > DB' 카테고리의 다른 글

MSSQL(Microsoft SQL Server)  (0) 2022.08.05
DB Connection  (0) 2022.08.05
(Oracle) 서버, 클라이언트 및 어플라이언스란?  (0) 2022.03.07
(Oracle) Client → Server 접속 에러  (0) 2022.03.07
DBMS Transaction ( Log )  (0) 2022.03.04