[Database] DBA급 개발자로 - #6 Hash Table
2022. 9. 4. 17:07
Database/DBA급 개발자로
이전 포스팅에서 DBMS가 디스크의 데이터를 메모리의 버퍼 풀에 어떻게 로드해서 사용하는지와 버퍼 풀에 로드된 페이지를 제거하는 여러 정책에 대해 살펴봤습니다. 이번 포스팅에서는 버퍼 풀에 로드된 페이지를 효과적으로 읽고 쓰기 위해서 사용하는 자료구조인 Hash table에 대해 살펴보겠습니다. Hash Table 해시 테이블은 배열을 활용해 정렬되지 않은 key와 value를 저장하는 자료구조입니다. Key에 해시함수를 적용한 결괏값을 사용해서 해당 key와 value를 저장할 배열의 offset을 구할 수 있습니다. DBMS에서 사용되는 해시 테이블에 대해 알아보겠습니다. Static Hash Table 저장하고자 하는 데이터 수를 N이라 할 때, 길이 N의 배열을 사용하는 해시 테이블입니다. 대표적..