본문 바로가기
공부/Backend

1주차-SQL 레벨업 1장

by 유스베리이 2023. 9. 9.

DBMS 아키텍처

버퍼매니저 : 특별한 용도로 사용하는 메모리 영역(버퍼) 관리

디스크 용량 매니저 : 데이터의 저장 위치와 방법을 관리하고 읽고 쓰기를 제어

트랜잭션 매니저와 락 매니저: 트랜잭션의 정합성을 유지하면서 실행시키고, 데이터에 락을 걸어 다른 요청을 대기

 *트랜잭션: 데이터베이스에 접근하는 각각의 처리는 DBMS내부에의 단위

리커버리 매니저: 시스템 장애를 대비하여, 데이터를 정기적으로 백업, 문제 발생 시 복구하는 역할 수행

 

DBMS 와 기억장치

하드디스크

DBMS가 데이터를 저장하는 매체의 대부분이 하드디스크임

어떤 상황에서도 평균적인 수치를 가지는 매체

메모리

데이터베이스 내부 데이터를 모두 메모리에 올리는 것은 불가능

버퍼

성능 향상을 위해 데이터를 버퍼/캐시에 올림

자주 접근하는 데이터를 메모리에 올려두면 빠른 속도로 데이터 처리 가능

데이터 캐시

디스크에 있는 데이터의 일부를 메모리에 유지하기 위해 사용하는 메모리 영역

로그 버퍼

로그 버퍼 위에 변경 정보를 보낸 후 디스크에 변경을 수행

 

데이터에 접근하는 과정

파서

사용자로부터 입력받은 SQL 구문을 분석, 검사

SQL 구문을 변환해주어 DBMS 내부에서 일어나는 후속 처리 효율화

옵티마이저

데이터 접근법(실행 계획)을 최적화: DBMS의 핵심

인덱스 유무, 데이터 분산 또는 편향 정도, DBMS 내부 매개변수 등의 조건을 고려해

가장 낮은 비용을 가진 실행 계획 선택

카탈로그 매니저

옵티마이저가 실행 계획을 세울 때 중요한 정보를 제공

플랜 평가

SQL 구문에서 세운 실행 계획들 중 최적의 실행 결과를 선택하는 과정

성능이 좋지 않은 SQL 구문이 있을 때 실행 계획을 읽고 수정 방안 등 고려 가능

'공부 > Backend' 카테고리의 다른 글

SQL 레벨업 - 3장  (0) 2023.09.19
SQL 레벨업 - 2주차  (0) 2023.09.16
Spring 12.2-12.3  (0) 2023.05.09
Spring _5.4-6.1  (0) 2023.04.02
Regular Expression  (0) 2022.12.10