데이터베이스 설계 단계 중 응답 시간, 저장 공간의 효율화, 트랜잭션 처리도와 가장 밀접한 관계가 있는 것
- 다양한 DB 응용에 대해서 처리 성능을 얻기 위해 DB 파일의 저장 구조 및 엑세스 경로를 결정한다.
- 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
- 물리적 설계에서 옵션 선택 시 응답 시간, 저장 공간의 효율화, 트랜잭션 처리율 등을 고려하여야 한다.
- 레코드의 크기
- 파일에 대한 트랜잭션의 갱신과 참조 성향
- 인덱스의 구조
- 개념적 설계 단계에서 만들어진 정보 구조로부터 특정 목표 DBMS가 처리할 수 있는 스키마를 생성한다.
- 일반 유형 테이블
- 클러스터 인덱스 테이블
- 파티셔닝 테이블
- 테이블에는 데이터베이스의 모든 데이터가 저장된다.
- 파티셔닝 테이블은 대용량의 테이블을 논리적 단위인 파티션으로 나눈 테이블이다.
- 외부 테이블은 외부 파일을 데이터베이스 내에 존재하는 일반 테이블처럼 이용할 수 있는 데이터베이스의 객체이다.
- 클러스터 인덱스 테이블은 일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축된다.
- 한꺼번에 수행되어야 할 일련의 데이터베이스 연산집합
- 사용자의 시스템에 대한 서비스 요구 시 시스템의 상태 변환 과정의 작업 단위
- 병행제어 및 회복 작업의 논리적 작업 단위
트랜잭션은 보통 일련의 연산 작업이란 의미, 하나의 논리적 기능을 수행하는 작업의 단위이다. 트랜잭션이 가져야 할 특성
- 원자성(Atomicity)
- 일관성(Consistency)
- 격리성(Isolation)
A은행에서 B라는 사람이 고객 인증 절차를 거쳐 잔액을 조회한 후 타인에게 송금하는 도중 장애가 발생하였을 경우 문제가 발생한다. 이러한 경우 부작용을 방지할 수 있는 트랜잭션의 특성은?
원자성 (Atomicity)
- 단위 프로세스
- CRUD 연산
- 테이블 참조 횟수
- 비트맵 인덱스란 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법
- 비트맵 인덱스의 목적은 키 값을 포함하는 로우의 주소를 제공하는 것
- 비트맵 인덱스는 데이터 종류가 적고 동일한 데이터가 많은 경우, 즉 분포도가 낮은 경우 최적의 성능을 발휘한다.
- 비트맵 인덱스는 동일한 값이 반복될 확률이 높아 압축 효율이 매우 좋다.
- 새로 추가되는 인덱스는 기존 엑세스 경로에 영향을 미칠 수 있다.
- 결합 인덱스는 구성되는 컬럼 순서에 따라 성능이 차이날 수 있다.
- 넓은 범위를 인덱스로 처리하면 많은 오버헤드가 발생한다.
- 인덱스와 테이블 데이터의 저장 공간은 분리되도록 설계해야 한다.