본문 바로가기

fp

(10)
[FP] 10. 다차원 공간 화일 다차원 데이터 전통적인 1차원 데이터 레코드가 아니라 CAD나 지리정보 시스템에서의 선, 면, 위치와 같은 데이터 다차원 데이터를 나타내는 (x, y), (x, y, z)는 차원 당 하나의 값 다차원 데이터는 단일 키 화일 구조로 처리 불가능 다차원 데이터의 접근을 위해서는 다차원 인덱스 구조가 필요하다. 다차원 공간 화일 여러 개의 필드(차원)를 동시에 키로 사용하는 화일 다차원 인덱스 기법 PAM : 다차원 점 데이터를 공간에 저장, 검색하는 점 접근 방법 Point Access Method : k-d 트리, k-d-B 트리, 격자 화일 SAM : 선, 면, 다각형, 다면체 같은 다차원 공간 데이터를 저장, 접근할 수 있는 공간 접근 방법 Spatial Access Method : R-트리, R*-트..
[FP] 09. 다중 키 화일 다중 키 화일 하나의 데이터 화일에 여러 종류의 상이한 탐색 키를 이용한 여러 개의 접근 경로를 제공 탐색 키는 기본 키(primary key)와 보조 키(secondary key)로 구분 기본 키 : 하나의 레코드를 식별 보조 키 : 기본적으로 여러 개의 레코드를 식별 복수 접근을 지원하는 방법 1. 데이터 중복을 이용하여 여러 개의 동일한 내용의 화일을 제공 각 응용의 접근 요구에 맞는 화일을 개별적으로 구성 같은 내용의 데이터를 중복 저장함으로써 공간의 낭비 데이터 일관성 유지가 곤란 데이터 모순성으로 인한 데이터 유효성 문제 발생 데이터 무결성에 손상 2. 하나의 화일에 복수의 접근 경로를 지원하는 시스템이 다중 키 화일 접근 경로는 기본적으로 인덱스로 구축 : 이원 탐색 트리 / B-트리 / B..
[FP] 08. 직접 화일 임의 접근 화일 임의 접근 화일 = 직접 화일 = 직접 접근 화일 순차 접근 화일 임의의 레코드 키 값으로 그 레코드에 접근할 수 있는 화일 다른 레코드를 참조하지 않고 특정 레코드 접근이 가능 직접 화일의 종류 인덱스된 화일 : 인덱스를 이용해 레코드를 접근 인덱스된 순차 화일 : 인덱스를 이용한 임의 접근과 순차 접근을 모두 지원 상대 화일 : 키와 화일 내 레코드의 상대적 위치(상대 레코드 번호) 사이에 정해진 관계를 이용해 레코드를 접근 해시 화일 : 키 값을 레코드 주소로 변환하여 레코드를 접근, 협의의 직접 화일 상대 화일 상대 레코드 번호 relative record number, RNN 화일이 시작되는 첫 번째 레코드를 기준으로 레코드들에 0, 1, 2, ... N-1을 지정, 상대 주소라..
[FP] 07. 인덱스된 순차 화일 인덱스된 순차 화일 ‘순차 데이터 화일’ + ‘인덱스 화일’로 구성 각 화일은 블록으로 구성 블록은 순차적으로 저장된 키 값과 자유 공간을 포함 순차 데이터 화일 키 값에 따라 레코드들이 순차적으로 정렬 레코드 전체에 대한 순차 접근을 지원 데이터 블록으로 구성 데이터 블록들은 연결 리스트로 논리적 순서를 유지 인덱스 화일 화일의 레코드들에 대한 키 값과 포인터를 저장 개별 레코드에 대한 직접 접근을 지원 인덱스 블록으로 구성 트리 구조를 형성 마스터 인덱스 인덱스 트리의 최상위 레벨 인덱스 블록 인덱스 엔트리의 구성 포인터는 해당 키 값을 최대 키 값으로 갖는 다음 레벨의 인덱스 블록이나 데이터 블록에 대한 주소 자유 공간 레코드의 추가 삽입을 위한 예비 공간 화일을 생성할 때, 각 블록에 분산 배치 ..
[FP] 06. 인덱스 구조 인덱스 화일의 레코드들에 대한 효율적 접근을 위한 조직 쌍으로 구성 키 값의 유형에 따른 인덱스 기본 인덱스 : 키 값이 기본 키인 인덱스 보조 인덱스 : 기본 인덱스 이외의 인덱스 화일 조직에 따른 인덱스 집중 인덱스 : 화일의 데이터 레코드들의 물리적 순서와 인덱스 엔트리 순서가 동일한 인덱스 비집중 인덱스 : 집중 인덱스가 아닌 인덱스 데이터 범위에 따른 인덱스 밀집 인덱스 : 데이터 레코드 하나에 하나의 인덱스 엔트리가 만들어지는 인덱스 (역 인덱스라고도 함) 희소 인덱스 : 데이터 레코드 그룹 또는 데이터 블록에 하나의 엔트리가 만들어지는 인덱스 이원 탐색 트리 (binary search tree) 이진 트리 유한한 노드를 가진 트리 공백이거나 루트와 두 개의 분리된 이진트리(왼쪽, 오른쪽 서브..
[FP] 05. 화일의 정렬/합병 정렬/합병의 개요 정렬 내부 정렬 : 데이터가 적어서 메인 메모리 내에 모두 저장시켜 정렬 가능할 때. 레코드 판독, 기록에 걸리는 시간이 문제가 되지 않음. (메모리는 빠르기 때문) 외부 정렬 : 데이터가 많아서 메인 메모리의 용량을 초과 -> 보조 저장장치에 저장된 화일을 정렬 레코드 판독, 기록에 걸리는 시간이 중요 정렬/합병 : 런(run) : 하나의 화일을 여러 개로 분할하여 내부 정렬 기법으로 정렬시킨 각 서브 화일 합병(merge) : 런들을 합병하여 원하는 하나의 정렬된 화일로 만든다. 화일 정렬/합병 단계 정렬 단계 : 정렬할 화일의 레코드들을 지정된 길이의 서브 화일로 분할 후 정렬해 런을 만들어 입력 화일로 분해하는 단계 합병 단계 : 정렬된 런들을 합병 -> 더 큰 런으로 만듦 ->..
[FP] 04. 순차 화일 기본 개념 순차 구조 화일 레코드들을 조직하는 가장 기본적인 방법 화일 생성시에 레코드들을 연속적으로 저장하기 때문에, 접근할 때도 순서대로 접근해야 한다. 입력 순차 화일 : 레코드가 입력되는 순서대로 저장 키 순차 화일 : 레코드의 특정 필드 값 순서에 따라 저장 스트림 화일 데이터가 하나의 연속된 바이트 스트림(byte stream)으로 구성 연속적인 판독 연산을 통해 레코드가 화일에 저장되어 있는 순서에 따라 데이터를 접근 순차 접근 스트림 화일 : 순차 접근만 허용 임의 접근 스트림 화일 : 임의 접근이 허용 화일 접근 모드 (access mode) 화일 개방시 수행하려는 연산을 명세 판독(read), 기록(write), 갱신(read/write), 첨가(append) 등 순차 접근 스트림 화일..
[FP] 03. 화일 입출력 제어 입출력 제어 환경 운영체제 : 다수 사용자를 위해 컴퓨터의 자원을 관리하는 S/W 운영체제의 기능 자원관리 프로세스 관리 메모리 관리 입출력 관리 보안 관리 화일 관리 : 화일 조직 방법을 제공 / 사용자의 I/O 명령문을 지정된 저급 I/O 명령어로 변환 장치 관리 : 물리적 저장장치에 대한 접근을 제공 화일 관리 + 장치 관리 : 입출력 제어 환경 제공 / 사용자와 보조 저장장치 간의 I/O를 제어하여 인터페이스 제공 => 입출력 제어 시스템 사용자의 논리적 관점에서의 I/O를 물리적 관점으로 사상하여 입출력 투명성 제공 입출력 제어 시스템의 기능 화일 디렉터리(화일 식별, 위치 정보)를 유지 메인 메모리와 보조 저장장치 사이의 데이터 이동 통로를 확립 CPU와 보조 저장장치 사이의 통신을 조정 (속..