DBMS 14

오라클 아키텍처 - DML 실행 프로세스

DML 실행 프로세스 개요DML 실행 프로세스는 Shared Pool에 데이터가 있는지 체크한 뒤 Buffer Chache와 Undo Segments를 체크하여 요청 관련 블록을 카피 변경 잠금하는 과정을 거친다. 이후 커밋이 이루어질 경우 Redo Log를 기록하고 디스크에 변경 사항을 반영하는 과정을 거친다. Shared Pool Check우선 서버는 라이브러리 캐시 내에 유사 SQL 문장이 있는지 검사한다. 이미 존재한다면 같은 쿼리를 파싱할 필요가 없기에 비용을 아낄 수 있다. 다음으로 데이터 딕셔너리 캐시를 확인한다. 관련 테이블 정보가 있다면 관련 테이블의 권한이나 정의를 가져올 비용을 아낄 수 있다. 두 캐시에 관련 데이터가 없을 경우 디스크에서 데이터를 읽어들여 캐시 영역에 쓴다. Buff..

DB&SQL 2024.05.14

오라클 아키텍처 - Buffer Cachey, Redo Log Buffer, Undo

Buffer Cache, Redo Log Buffer, Undo 개요SGA의 구성요소인 Shared Pool 에 이어서 주요 구성 요소인 Buffer Cache와 Redo Log Buffer, undo를 정리해본다. Buffer Cache버퍼 캐시는 SGA에서 가장 큰 메모리 영역 중 하나로 디스크에서 읽은 데이터 블록의 복사본을 저장한다. 이 영역은 모든 사용자가 접근 할 수 있는 공유 데이터를 제공하며 한 사용자가 데이터를 요청할 떄 이미 캐시에 존재한다면 디스크 접근 없이 빠르게 데이터를 제공한다. 만약 요청한 데이터의 일부만 캐시에 존재한다면 나머지 데이터만 디스크에서 읽어오는 방식으로 처리한다. 데이터베이스 버퍼 캐시 쓰기 과정은 "더티 블록(Dirty Blocks)"이라 불리는 수정된 불록들을..

DB&SQL 2024.05.13

오라클 데이터 베이스 아키텍처 - Shared Pool

Shared Pool 개요이번 글에서는 SGA(System Global Area)의 핵심 구성 요소중 하나인 Shared Pool에 대해서 자세히 정리해본다. Shared Pool은 모든 세션에 의해 공유되는 여러 하위 메모리 영역을 포함하고 있으며 이 영역들은 데이터 베이스 성능 튜닝에 중요한 역할을 한다. Shared Pool의 구성1. Data Dictionary Cache데이터베이스 객체의 정의와 권한 정보를 저장한다.데이터베이스의 테이블이나 컬럼이 존재하는지, 사용자에게 해당 객체에 대한 접근 권한이 있는지 확인하는데 사용된다.복잡한 데이터베이스 환경에서 수천 개의 세션에서 동시에 발생하는 유사한 쿼리 요청을 효율적으로 처리하기 위해 필수적이다.2. Result Cache반복적으로 실행되는 쿼리..

DB&SQL 2024.05.12

오라클 데이터 아키텍처 - PGA

개요오라클 데이터 아키텍처에서 다루었던 PGA 영역에 대해서 보다 깊이 있는 이해를 위하여 정리한다. PGA는 유저마다 독립적으로 할당되는 메모리 영역으로 다른 유저가 접근할 수 있는 개인적인 공간이다. PGA의 주요 구성 요소PGA는 여러 하위 메모리 영역으로 구성된다. 각 영역은 데이터 베이스와 유저 간의 세션 관리, SQL 쿼리 실행, 커서 관리 등 여러 기능을 수행한다. 주요 영역은 다음과 같이 정리할 수 있다. 1. 세션 메모리 영역(Session Memory Area) : 사용자가 데이터베이스에 접속하면 해당 사용자를 위한 세션이 생성된다.세션 정보, 로그인 정보, 세션 상태 등이 저장된다.불필요한 연결은 추가적인 메모리를 사용하므로 관리가 중요하다.2. 개인 SQL 영역(Private SQL..

DB&SQL 2024.05.11