정적인덱싱과 동적 인덱싱

I. 정적 인덱싱과 동적 인덱싱 개념

가. 정적 인덱싱의 개념도

  • 데이터 삽입, 삭제에 따라 인덱스의 내용만 변경되고 구조는 불변하는 하드웨어 기반 인덱싱 기법

나. 동적 인덱싱의 개념

  • 데이터 파일과 인덱스를 블록으로 구성하여 레코드 삽입을 감안하여 빈 공간을 미리 준비해 두는 블록 기반 인덱싱 기법

 

II. 정적 인덱싱과 동적 인덱싱의 비교

항목정적 인덱싱동적 인덱싱
레코드 삽입– 디스크 트랙 크기 이상 저장 시 오버플로우 영역 사용– 하나의 블록이 가득차게 되면 동적으로 분열(split)
레코드 유지– 기억장소의 물리적인 특성(실린더, 트랙)에 맞게 구성– 일정 레코드 유지 불가 시 병합(merge)
오버플로우– 체인으로 연결
– 체인에 따라 순차 검색
– 데이터 블록 분할 후 인덱스 수정 및 새로운 인덱스 생성
장점– 하드웨어기반 빠른 액세스– 오버플로우 체인 미사용으로 효율적인 레코드 검색
단점– 데이터 삽입/삭제에 따라 지속적 인덱싱 성능이 저하– 정적 인덱싱에 비해 초기 인덱싱 성능 낮음
사례IBM의 ISAM (Indexed Sequential Access Method)IBM의 VSAM (Virtual Storage Access Method)

 

III. 정적 인덱싱 및 동적 인덱싱 설계 시 고려사항

정적 인덱싱동적 인덱싱
– 인덱스 및 데이터 구역
– 오버플로우 데이터 구역 크기
– 데이터 삽입 삭제 발생 빈도
– 인덱스의 레벨
– 데이터 블록의 크기
– 인덱스 블록의 크기
– 초기 인덱스 레벨
– 최대 인덱스 레벨

 

3 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^