본문 바로가기

정보처리산업기사/데이터베이스

[데이터베이스]해싱(Hashing)-hoyhi-tistory

- Hash Table 이라는 기억공간을 할당하고, 해시 함수를 이용하여 레코드 키에 대한 Hash Table 내의 Home Address를

  계산한 후 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식

- DAM(직접접근방법) : 파일을 구성할 때 해싱이 사용되며, 접근 속도는 빠르지만 기억공간이 많이 요구

- 여러가지 검색 방식 중 검색 속도가 가장 빠름

- 삽입, 삭제 작업의 빈도가 많을 때 유리한 방식

- 키-주소 변환 방법이라고도 한다

해시 테이블(Hash Table)

- 레코드를 1개 이상 보관할 수 있는 Home Bucket들로 구성한 기억공간으로, 보조기억장치에 구성할 수도 있고 주기억장치에 구성할 수도 있음

- 버킷(Bucket) : 하나의 주소를 갖는 파일의 한 구역을 의미, 버킷의 크기는 같은 주소에 포함될 수 있는 레코드 수 의미

- 슬롯(Slot) : 1개의 레코드를 저장할 수 있는 공간으로 n개의 슬롯이 모여 하나의 버킷을 형성

- Collision(충돌 현상) : 서로 다른 2개 이상의 레코드가 같은 주소를 갖는 현상

- Synonym : 같은 Home Address를 갖는 레코드들의 집합

- Overflow

1) 계산된 Home Address의 Bucket 내에 저장할 기억 공간이 없는 상태

2) Bucket을 구성하는 Slot이 여러 개 일때는 Collision은 발생해도 Overflow는 발생하지 않을 수 있음