세그먼트 헤더 찾기
궁금증 DB 버퍼 블록을 읽는 과정을 공부하면서 DBA를 해시 함수의 키 값으로 사용하여 읽으려는 데이터 블록이 캐싱되어 있는 위치를 찾아간다는 것을 알게 되었다. 그런데 DBA는 세그먼트 헤더에 있는 익스텐트 맵을 통해서 얻는 것으로 아는데, 익스텐트 맵을 얻기 위해서 세그먼트 헤더의 위치는 어떻게 찾으며, 세그먼트 헤더를 읽기 위한 디스크 I/O가 1번은 필수적으로 일어나야만 하는지에 대한 궁금증이 생겼다. 그 궁금증을 풀어나간 과정은 다음과 같다. 테이블 스캔 시 DBA 정보를 세그먼트 헤더에 저장되어 있는 익스텐트 맵을 통해 알 수 있다고 아는데 세그먼트 헤더는 어디에 저장되어 있는 걸까? 데이터베이스에서 세그먼트 헤더는 세그먼트에 대한 중요한 메타데이터를 저장하는 구조로, 주로 해당 세그먼트의 ..
2024.02.03