본문/내용
1. 정적 해싱 개념
정적 해싱은 데이터베이스 및 자료 구조에서 주로 사용되는 저장 및 검색 방법으로, 미리 정해진 해시 테이블 크기를 바탕으로 데이터를 저장하는 방식이다. 이 방식에서는 데이터가 추가되거나 삭제될 때 테이블 크기를 변경하지 않으며, 초기 설계 시 결정된 해시 함수와 크기를 그대로 유지한다. 정적 해싱의 가장 큰 특징은 검색 속도가 빠르다는 점인데 보통 평균적으로 O(1)의 시간 복잡도를 보인다. 이는 해시 함수가 키 값을 균등하게 분산시켜 충돌이 적기 때문이다. 예를 들어, 1,000개의 데이터를 저장할 때 해시 테이블 크기를 1,024로 정하면, 충돌률이 낮아져 검색 시간 최적화가 쉽게 이루어진다. 그러나 정적 해싱은 유연성이 떨어진다는 단점도 존재한다. 데이터 수가 예측과 다르게 급증하거나 감소할 경우, 테이블 크기를 재조정하는 리해싱이 필요하며, 이 과정은 전체 데이터를 다시 해시 테이블에 적재하는 작업이기 때문에 시간과 비용이 크게 늘어난다. 한편, 실제 통계 자료에 따르면, 2000년 기준 대형 기업 데이터센터에서는 정적 해싱 방식이 전체 자료의 35%에서 50% 차지했으며, 데이터 크기와 검색 속도에 대한 요구가 …