본문 바로가기
전공공부/데이터베이스

60. 해싱(Hashing)

by tiit 2020. 2. 19.
반응형

- Hash Table이라는 기억공간을 할당하고, 해시 함수(Hash Function)를 이용하여 레코드 키에 대한 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이 여러 개일 때는 Colision은 발생해도 Overflow는 발생하지 않을 수 있음 

 

 

 

 

 

반응형

댓글