DBMS는 SQL을 바로 파일에 쓰지 않는다. 문법과 권한을 확인하고, 실행
계획을 고른 뒤, 버퍼 풀과 인덱스를 거쳐 트랜잭션 로그로 복구
가능성을 남긴 다음 결과를 돌려준다.
클라이언트 요청SELECT name FROM member WHERE id = 42;응답 행 반환
시스템 카탈로그
테이블 정의와 통계
컬럼, 인덱스, 제약조건, 행 수 추정치가 계획 선택에
들어간다.권한 정보
사용자와 역할 확인
조회 가능한 객체인지 먼저 걸러 잘못된 접근을 막는다.동시성 상태
락과 격리 수준
같은 데이터를 읽고 쓰는 트랜잭션 사이의 순서를 조정한다.01문법과 의미 해석SQL 토큰을 파싱하고 테이블, 컬럼, 함수 이름이 맞는지
확인한다.
→
02실행 계획 선택통계와 인덱스를 보고 전체 스캔, 인덱스 탐색, 조인 순서를
고른다.
→
03페이지 접근버퍼 풀에서 페이지를 찾고, 없으면 디스크에서 읽어 올린다.
→
04결과와 로그 정리읽기 결과를 조립하고, 변경 작업이면 로그와 잠금 상태를
맞춘다.Buffer Pool메모리 페이지 캐시자주 쓰는 데이터 페이지를 메모리에 잡아 디스크 접근을
줄인다.Index탐색 경로 단축조건에 맞는 행 위치를 빠르게 찾지만 변경 비용도 함께
만든다.Data Pages실제 행 저장테이블 행은 페이지 단위로 읽히고 쓰이며 파일에 배치된다.WAL Log복구 가능한 기록데이터 파일보다 로그를 먼저 남겨 장애 뒤에도 일관성을
회복한다.Lock Table충돌 조정동시에 들어온 읽기와 쓰기의 충돌 범위를 추적한다.질의 처리기는 계획을 고른다같은 SQL도 통계, 인덱스, 조인 순서에 따라 비용이 크게
달라진다.저장 관리자는 페이지를 다룬다행 단위로 생각해도 실제 입출력은 버퍼와 페이지 단위로
움직인다.트랜잭션 관리자는 약속을 지킨다원자성, 격리성, 복구 가능성이 성능 비용과 함께 설계된다.