물리데이터베이스
-
식별된 오브젝트의 데이터 타입, 사이즈, 증가 용량을 고려하여 저장 공간을 산출하고, 해당 오브젝트에 대한 테이블 스페이스를 할당
-
할당된 테이블 스페이스 용량을 기반으로 디스크 저장 용량을 산정하고, 데이터베이스 백업 주기, 방식에 따른 별도 저장 공간 용량을 산정
-
분산위치, 엔티티명, 테이블명, 테이블 스페이스명, 테이블 스페이스 용량, 데이터 파일명, 파티셔닝, 클러스터링 정보, 보안정보에 대한 물리 데이터베이스 설계서를 작성
Partition 파티션 개념
- 데이터베이스에서 파티션은 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
- 대용량 데이터베이스의 경우 중요한 몇 개의 테이블에만 집중되어 데이터가 증가되므로 이런 테이블을 작은 단위로 나눠 분산시키면 성능 저하를 방지와 데이터 관리가 쉬워짐
- 테이블이나 인덱스를 파티셔닝하면 파티션키 또는 인덱스키에 따라 물리적으로 별도의 공간에 데이터가 저장됨
- 데이터 처리는 테이블 단위로 이뤄지고 데이터 저장은 파티션별로 수행
파티션 장/단점
- 장점
- 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상됨
- 파티션별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상됨
- 파티션별로 백업 및 복구를 수행하므로 속도가 빠름
- 시스템 장애 시 데이터 손상 정도를 최소화
- 데이터 가용성이 향상됨
- 파티션 단위로 입/출력을 분산시킬 수 있음
- 단점
- 하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구됨
- 테이블간 조인에 대한 비용이 증가함
- 용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하됨
파티션의 종류
1. Range Partitioning 범위 분할
- 지정한 열의 값을 기준을 분할
- 일별, 월별, 분기별
2. Hash Partitioning 해시 분할
- 해시 함수를 적용한 결과 값에 따라 데이터를 분할
- 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것으로 데이터를 고르게 분산할 때 유용함
- 특정 데이터가 어디에 있는지 판단할 수 없음
- 고객번호, 주민번호 등과 같이 데이터가 고른 컬럼에 효과적임
3. Composite Partitoning 조합 분할
- 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식
- 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용함
파티션키 선정시 고려사항
- 파티션키는 테이블 접근 유형에 따라 파티셔닝이 이뤄지도록 선정
- 데이터 관리의 용이성을 위해 이력성 데이터는 파티션 생성주기와 소멸주기를 일치
- 매일 생성되는 날짜 컬럼, 백업의 기준이 되는 날짜 컬럼, 파티션 간 이동이 없는 컬럼, I/O 병목을 줄일 수 있는 데이터 분포가 양호한 컬럼 등을 파티션키로 선정