DevGang
[DB-31] 파일 조직 기법 종류 본문
1. 순차 파일(Sequential file)
- 생성되는 순서에 따라 레코드를 순차적으로 저장, 저장 매체의 효율이 가장 높음
- 프로그래밍이 쉬우며, 대화식 처리보다 일괄 처리에 적합한 구조
- 여러 개의 기록 매체에 기록이 가능
- 필요한 레코드를 삽입, 삭제하는 경우 파일을 재구성해야 하므로 파일 전체를 복사해야 함
2. 직접 파일(Direct file)
- 특정 레코드에 접근하기 위해서 디스크의 물리적 주소로 변환할 수 있는 함수
- 해싱을 이용한 파일 구조
* 직접 접근 방식(DAM : Directed Access Method)
- 데이터의 입/출력이 빈번히 발생하는 곳에 응용
- 해싱 함수를 이용하여 레코드의 저장 위치를 결정
- 다른 레코드를 참조하지 않고 어떤 레코드를 접근할 수 있음
3. 인덱스 순차 파일(ISAM : Indexed Sequential Access-Method)
- 키 값에 따라 순차적으로 정렬된 데이터를 저장하는 데이터 지역(Data Area)과 이 지역에 대한 포인터를 가진 색인 지역(Index Area)으로 구성된 파일
- 인덱스를 저장하기 위한 공간과 오버플로우 처리를 위한 별도의 공간이 필요(기본 구역(Prime data area), 색인 구역(Index area), 오버플로우 구역(Overflow area)으로 구성)
- 기본 데이터 구역은 데이터 레코드를 저장
- 인덱스 구역은 데이터 구역에 대한 인덱스를 저장
- 독립된 오버플로우 구역은 기본 데이터 구역에서 오버플로우 된 레코드를 저장
- 데이터 파일은 기본 구역과 오버플로우 구역으로 구성
- 실제 데이터 처리 외에 인덱스를 처리하는 추가적인 시간이 소모되므로 파일 처리속도 느림
- 순차 처리와 직접(랜덤) 처리가 모두 가능하지만 기억 장소 낭비 초래
- 레코드를 추가 및 삽입하는 경우, 파일 전체를 복사할 필요가 없음
- 인덱스 영역 구분
- 트랙 인덱스
- 마스터 인덱스
- 실린더 인덱스
4. VSAM(Virtual Storage Access Method) 파일
- 동적 인덱슬 방법을 이용한 색인 순차 파일
- 기본 데이터 영역과 오버플로우 영역을 구분하지 않음
- 레코드를 삭제하면 그 공간을 재사용할 수 있음
- 제어 구간에 가변 길이 레코드를 쉽게 수용할 수 있음
5. 다중 키 파일 (Multi key file)
- 하나의 데이터 파일에 여러 개의 접근 방법을 제공하는 구조
- 하나의 데이터 파일에 여러 개의 접근 방법을 지원함(순차처리와 임의처리 모두 가능)
- 파일의 중복성이 제고되고 자료의 무결성이 유지
6. 다중 키 파일의 종류
- 역파일(inverted file)
- 여러 개의 역 인덱스를 통해 자료에 접근할 수 있도록 된 파일
- 역 색인(index)은 레코드의 필드와 주소 또는 필드와 기본키의 쌍으로 구성
- 역 인덱스만을 검색해 많은 질의에 바로 응답 가능
- 검색 속도가 빠름
- 데이터 파일에 접근하지 않아 질의응답 시간이 줄고, 처리가 비교적 쉬움
- 질의를 만족하는 레코드 검색 시 한 번씩만 접근하면 됨
- 다중 리스트 파일(multi-list-file)
- 각 키에 대하여 인덱스를 만든 후 각 데이터 레코드들 간에 다중 리스트를 구축하여 구성
- 자료 파일에서 특정항목(필드)의 같은 자료 값들을 가진 레코드들을 포인터로 연결한 리스트 형태의 파일
- 필드의 항목 값과 시작 포인터 쌍으로 된 인덱스에서 자료검색이 시작
- 레코드에 포인터 필드가 추가
- 역파일과 다중 리스트 파일의 비교
- 다중 리스트 방식은 인덱스 관리가 더 용이
- 역 인덱스 방식은 질의문 처리 능력에서 더 우월할 수가 있음
- 역 인덱스 방식은 이 인덱스를 사용하지 않는 프로그래머에게 더 투명함
7. 파일의 구조 결정 시 고려사항
- 사용할 보조 기억장치의 유형
- 응용이 필요로 하는 파일 연산의 유형
- 파일 활동 비율(file activity ratio)
- 트랜잭션이나 검색 요청에 대한 응답 시간
- 파일 저장매체의 접근 특성
- 자료처리의 주기
- 자료처리 순서
'정보처리 > DB' 카테고리의 다른 글
[DB-30] 파일 조직 기법 (0) | 2021.01.30 |
---|---|
[DB-29] 자료구조 - 검색 (0) | 2021.01.30 |
[DB-28] 자료구조 - 정렬 (0) | 2021.01.30 |
[DB-27] 자료구조 - 그래프 (Graph) (0) | 2021.01.30 |
[DB-26] 자료구조 - 트리 (Tree) (0) | 2021.01.30 |
Comments