파일 구성과 접근
파일 구성을 선택할 때 중요하게 보는 기준
- 짧은 접근 시간
- 쉬운 갱신
- 저장장치의 경제성
- 간단한 유지관리
- 신뢰성
기준들이 모순될 수도 있음
파일시스템의 5가지 기본 구성
더미(Pile)
- 단순히 대량의 데이터를 축적해서 저장하는 방식
- 각 필드는 필드 값 뿐 아니라 필드 명을 포함하여 자신을 나타내고 있어야 함
- 각 필드의 길이는 구분자로 나타내기/명확하게 서브필드로 표시/해당 필드의 기본 유형이 알려져야 함
- 더미에는 구조가 없어 레코드 접근이 철저한 탐색에 의해 이루어짐(선형적)
- 데이터가 수집, 저장될 때나 데이터를 조직하기 쉽지 않을 때 활용
- 저장된 데이터의 크기나 구조가 서로 다를 때 공간 활용도를 높여주고, 전체 데이터를 조사해야 하는 경우에 최적이며 갱신도 쉬움
순차파일
- 가장 일반적인 형태의 파일 구조
- 고정된 길이 레코드와 필드들의 고정 순서
- 키 필드 기반 순차 순서
- 일괄처리 응용이나 모든 레코드를 처리해야 하는 경우 적합
- 레코드의 추가 작업같은 경우 로그 파일이나 트랜잭션 파일이라는 파일에 위치시킴
인덱스 순차파일
- 순차파일의 단점 보완(느린 탐색)
=> 인덱스를 통해 원하는 레코드 부근에 빨리 도달
- 단일 레벨 인덱스 사용 - 두 개의 필드
- 주 파일의 키 필드와 동일한 키 필드
- 주 파일을 가리키는 포인터
- 원하는 키 값에 앞서거나 동등한 키 값중에 가장 높은 값을 인덱스에서 검색
- 파일에 대한 레코드의 추가 -> 주 파일의 선행 레코드를 갱신하여 오버플로우 파일에 추가된 새 레코드에 대한 포인터를 갖게 함
- 단일 레코드 접근에 필요한 시간이 상당히 감소(오버플로우 파일에 대한 포인터 발견까지 순차처리)
- 훨씬 더 큰 접근 효율성 -> 다중 인덱스 레벨의 사용
인덱스 파일
- 인덱스 순차파일과 순차파일간의 동일한 제약사항 -> 특정 필드 하나에 대해서만 효과적 처리가 가능
- 다중 인덱스 -> 검색 대상이 될 수 있는 필드 별로 인덱스 설정
- 인덱스의 두 가지 유형
- 완전 인덱스
- 주 파일에 있는 모든 레코드에 대해 각각 하나씩의 항목 설정
- 부분 인덱스
- 관심 필드가 존재하는 레코드들에 대한 항목이 있음
- 정보의 적시성이 중요하고 일괄처리가 거의 없는 응용에서 사용
직접(혹은 해시)파일
어떤 블록이든지 직접 접근할 수 있는 디스크 특성 활용
키 값에 대한 해싱 이용