1. 텍스트를 위한 파일
1) 개념 : 텍스트 필드로만 구성된 레코드를 접근할 수 있는 화일
2) 특징
- 텍스트 필드는 하나의 필드 안에 여러 개의 탐색 값(단어, keyword)가 포함
- keyword : '데이터베이스', '시스템', '질의어' 라는 단어를 어떤 방법으로 탐색할 것
2. 역 리스트 화일
1) 특징
- 역 리스트 화일 구조 : 인덱스 화일 + 포스팅 화일 + 데이터 화일로 구성
- 인덱스 화일 : 키워드 + 관련 레코드 수 + 포스팅에 대한 포인터
- 포스팅 화일 : 키워드를 포함한 데이터 레코드에 대한 포인터 리스트, 발생빈도, 키워드의 중요도, 발생 위치 추가
- 데이터 화일 : 문서 화일
2) 예시
- 키워드는 가나다 순으로 정렬
3) 장단점
ⓐ 장점 : 구현이 용이, 속도가 빠름
ⓑ 단점 : 많은 기억 공간 요구, 인덱스 갱신 재구성 시 비용이 크게 증가
4) 탐색 방법
> 불리언 질의
- 탐색 키워드들간의 논리 연산자('&','|','!')를 이용
> 랭킹 질의
- 탐색 질의어와 데이터 레코드간의 근접도를 평가하기 위해 유사도 휴리스틱을 사용하여
일정한 개수의 근접 데이터 레코드들을 결과로 가져옴
- 초기 검색 엔진에 사용, 최근에는 불리언 질의와 병행 지원
3. 시그니처 화일
1) 개념
- 개략적 필터 방식에 기반
- 전체 화일의 내용을 순차적으로 검색하지 않고, 화일의 내용을 부호화 하여 소량의 공간에서 질의 검색하는 방법
- 중첩 코딩 : 시그니처 화일 생성 방법
* 개략적 필터라고 하는 이유는 ?
- 서로 다른 키워드에 대한 해싱 결과가 동일한 시그니처를 생성할 가능성 있음
- 블록 시그니처 만들 때 여러 개의 시그니처를 'or'연산을 하면서 다른 키워드와 일치 가능성 있음
2) 질의 연산 종류
- exact match : 질의문에 블록 시그니처의 모든 키워드가 주어질 때
- partial match : 질의문에 블록 시그니처의 키워드 일부만 주어질 때
3) 시그니처 코딩 방법
> 중첩 코딩 방법
- 각 문서를 동일한 수의 상이한 키워드를 포함하는 "논리 블록" 나눔
- 각 기워드를 F개의 비트로 구성된 "단어 시그니처"를 작성
- 단어 시그니처들을 or연산으로 하나의 "블록 시그니처"를 작성
4) 검색
5) 활용
① 시그니처 화일이 적합한 경우
- pc에서 사용되는 중규모의 DB
- 검색 질의 빈도가 낮은 DB
- 병렬 처리되는 DB
② 장점
- 전문검색보다 2배정도 빠름
- 역화일 기법에 비해 적은 10~15%의 추가 공간 필요
- 추가적인 삽입만을 허용하므로 삽입 연산이 간단
③ 단점
- 대규모 DB에서는 레코드 수에 비례하여 속도가 저하
- 시그니처 구성에 사용되지 않은 키워드가 매치되는 것
6) 탐색 방법
ⓐ 순차 시그니처 화일
ⓑ 압축
- 시그니처의 행렬이 희소할 경우, 압축을 통해 저장 공간 감소시킴
- 시그니처 화일의 검색 시간 단축
- 연속된 숫자의 길이를 코드화하여 나타낸다.
'Major > Database' 카테고리의 다른 글
[파일 처리] 10 다차원 공간 화일 (0) | 2022.06.04 |
---|---|
[파일 처리] 09 다중 키 화일 (0) | 2022.06.04 |
[파일 처리] 08 직접 화일 (0) | 2022.06.01 |
[파일 처리] 07 인덱스 된 순차 화일 (0) | 2022.06.01 |
[파일 처리] 06 인덱스 구조 (기말고사 부분) (0) | 2022.06.01 |