Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DBDBDEEP

Partitioning 본문

Tibero 이론

Partitioning

Kihwane 2022. 11. 1. 17:47

파티셔닝은 데이터베이스를 여러 부분으로 분할하는 것이다.

 

데이터베이스의 분할'중요한 튜닝기법' 으로

데이터가 너무 커졌을 때

조회하는 시간이 길어졌을 때 또는 

관리 용이성, 성능, 가용성 등의 향상을 이유로 행해진다.

 

분할된 각 부분을 '파티션' 이라고 한다. 

가장 일반적인 것은 분산 데이터베이스 분할인데 각 파티션은 여러 노드에 분산 배치되어 사용자가 각 노드에서 

로컬 트랜잭션을 수행할 수 있음.

 

방법

1. 데이터베이스의 분할 (각각 작은 데이터베이스가 되도록 하는 분할 방법)

2. 하나의 테이블과 같이 '선택된 요소만 분리하는 방법' 이 있음

 

개요

 

파티셔닝 방법

1. 수평 파티셔닝 (행으로 파티션을 나눔 -> 일반적으로 수평 파티셔닝 사용)

2. 수직 파티셔닝 ( 컬럼별로 파티션을 나눔)

 

파티셔닝은 퍼포먼스, availability, mintainabliity를 목적으로 논리적인 데이터를 다수의 entity로 분할하는 행위를 말한다.

인덱스는 임의의 키 값의 따라 행 데이터 위치를 식별한다.

이 때 사용하는 기능인 파티셔닝테이블을 여러 개의 파티션으로 분할하여

키의 값에 따라 어떤 파티션에 속하는 행인지 배분하는 역할을 한다.

 

물리적인 데이터 분할이 있더라도 데이터베이스에 접근하는 애플리케이션 입장에서는 이를 인식하지 못한다. 그래서  파티셔닝을 진행한다.

 

 

파티셔닝 특징

성능(Performance)

  • 특정 데이터 조작 언어(DML) 쿼리(Query)성능을 향상시킨다.
  • 주로 대용량 데이터 Write 환경에서 효율적이다.
  • 풀스캔에서 데이터 허용의 범위를 줄여 성능을 향상시킨다.
  • 많은 테이블이 있는 온라인 트랜잭션 처리 시스템에서 테이블 작업을 작은 단위인 파티션들로 분산시켜 경합을 줄인다.

가용성(Availability)

  • 물리적인 파티셔닝으로 인하여 전체 데이터의 훼손 가능성이 줄어들고 데이터 가용성이 향상된다.
  • 테이블의 파티션 단위로 Disk I/O 를 분산하여 경합을 줄이므로 업데이트 성능을 향상시킨다.
  • 분할 영역으로 독립적으로 백업하고 복구할 수 있다.

관리용이성 (Manageability)

  • 큰 테이블을 제거하여 관리를 쉽게 해준다.

 

파티셔닝 장점

1. 대부분 많이 접근되는 행이 하나 이거나 몇개의 파티셔닝에 집중되어 있다면 

    파티셔닝 자체가 인덱스 사이즈를 줄이는 것이 가능하고, 때로는 많이 사용하는 부분을 메모리에 모두 올리는 것이 

    가능할 수 있다.

 

2. 필요한 데이터만 빠르게 조회가 가능하기 때문에 쿼리 자체가 가볍다.

 

3. 하나의 파티션에 큰 부분을 접근하는 쿼리나 업데이트에서 성능 향상이 가능하다.

    인덱스를 타거나 랜덤하게 전체의 테이블에 있는 데이터를 읽는 대신에 하나의 파티션에서 순차적인 스캔이

    가능하기 때문이다.

    즉 Full Scan에서 데이터 허용 범위를 줄여 성능 향상을 가져온다. 

 

파티셔닝 분할 기준

 범위 분할 : 분할 키 값이 범위 내에 있는지의 여부로 구분한다.

                   예를 들어, 우편 번호를 분할 키로 수평 분할하는 경우이다.

목록 분할 : 값 목록에 파티션을 할당 분할 키 값을 그 목록에 비추어 파티션을 선택한다. 

                    노르웨이, 스웨덴, 핀란드, 덴마크 라는 값이 Country 컬럼에 있을 때 저 중 하나의 행을  빼어낼 때 북유럽 

                    국가 파티션 구축이 가능하다.

해시 분할 :   해시함수의 값에 따라 파티션에 포함할지 여부를 결정함. 예를 들면 4개의 파티션으로 분할할 경우

                    해시함수는 0~3 정수를 돌려줌

합성 분할 :  위에 3개 합친거임.

'Tibero 이론' 카테고리의 다른 글

Tibero Monitoring (tm 사용)  (0) 2022.11.15
Tibero Admin 과정 중 몰랐던 것들  (1) 2022.11.02
Tibero DB구성 (HA, TAC, TAS, TSC, TBCM..)  (0) 2022.10.28
Tibero 구조  (0) 2022.10.28
Tibero log  (0) 2022.10.25