물리데이터베이스
1. 파티셔닝
- 데이터베이스에서 파티션은 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
- 장점
- 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상됨
- 파티션별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상됨
- 파티션별로 백업 및 복구를 수행하므로 속도가 빠름
- 시스템 장애 시 데이터 손상 정도를 최소화
- 데이터 가용성이 향상됨
- 파티션 단위로 입/출력을 분산시킬 수 있음
- 단점
- 하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구됨
- 테이블간 조인에 대한 비용이 증가함
- 용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하됨
- 종류
- 범위 분할
- 해시 분할
- 조합 분할
2. 클러스터링
- 데이터 저장시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법
- 클러스터 대상 테이블
- 분포도가 넓은 테이블
- 대량의 범위를 자주 조회하는 테이블
- 입력, 수정, 삭제가 자주 발생하지 않는 테이블
- 자주 조인되어 사용되는 테이블
- ORDER BY, GROUP BY, UNION이 빈번한 테이블
3. 데이터베이스 백업
- 데이터베이스 백업은 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업
- 로그 파일
- 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일
- 데이터베이스 복구 알고리즘
- NO-UNDO/REDO
- UNDO/NO-REDO
- UNDO/REDO
- NO-UNDO/NO-REDO
- 백업 종류
- 물리 백업
- 논리 백업
4. 데이터베이스 용량 설계
- 데이터베이스 용량을 설계할 때는 테이블에 저장할 데이터양과 인덱스, 클러스터 등이 차지하는 공간 등을 예측하여 반영함
- 데이터베이스의 용량을 정확히 산정하여 디스크의 저장공간을 효과적으로 사용하고 확장성 및 가용성을 높임
- 테이블스페이스 설계 시 고려사항
- 테이블스페이스는 업무별로 구분하여 지정
- 대용량 테이블은 하나의 테이블스페이스에 독립적으로 저장
- 테이블과 인덱스는 분리하여 저장
- LOB(Large Object)타입의 데이터는 독립적인 공간으로 지정
5. 데이터 지역화 Locality
- 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법
- 물리적 데이터베이스 설계, 보조 기억 장치의 역할, 디스크 상의 파일의 배치를 지역화 관점에서 검토