로우 체이닝과 로우 마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 DB메모리에서 디스크I/O가 발생할 때 많은 I/O가 발생하여 성능저하 발생
트랜잭션을 분석하여 적절하게 1:1관계로 분리함으로써 성능향상이 가능하도록 해야 한다.
테이블에 많은 양의 데이터가 예상될 경우 파티셔닝을 적용하거나 PK에 의해 테이블을 분할하는 방법을 적용할 수 있다.
1.RANGE PARTITION(범위)
대상 테이블이 날짜 또는 숫자값으로 분리가 가능하고 각 영역별로 트랜잭션이 분리되는 경우
ex) 매출_0528가장 많이 사용하는 파티셔닝의 기준이다.
2.LIST PARTITION(특정값 지정)
지점, 사업소 등 핵심적인 코드값으로 PK가 구성되어 있고 대량의 데이터가 있는 테이블의 경우
ex) 고객_서울LIST PARTITON은 대용량 데이터를 특정값에 따라 분리 저장할 수는 있으나 RANGE PARTITION과 같이 데이터 보관주기에 따라 쉽게 삭제하는 기능은 제공하지 않는다.
3.HASH PARTITION(해쉬 적용)
지정된 HASH 조건에 따라 해시 알고리즘이 적용되어 테이블이 분리
1.데이터 모델링을 완성한다
2.데이터베이스 용량산정을 한다.
3.대량 데이터가 처리되는 테이블에 대해서 트랜잭션 처리 패턴을 분석한다.
4.컬럼 단위로 집중화된 처리가 발생하는지, 로우단위로 집중화된 처리가 발생하는지 분석하여 집중화된 단위로 테이블을 분리하는 것을 검토한다.
컬럼 많음 ➡ 1:1 분리
데이터 많음 ➡ 파티셔닝