[Database] Logical Storage Structure

Logical Storage Structure

데이터베이스에 담긴 데이터가 어떻게 담겨있는지 논리적 구조에 대해 알아보자.

Table of Contents

About Logical Storage Structure

DB속 데이터는 data file 에 저장된다. 그리고 데이터 파일들은 Table Space 라는 논리적 저장공간에 담겨있다.

Oracle DB에서의 논리적 단위는 아래와 같이 네가지로 나뉜다.

Tablespace > Segment > Extent > Data Block

logical-structure
Segment-Extent-Data_blocks

↑ return to TOC

Data Block

Data Block은 Page 또는 Oracle Block 이라고도 불린다.

데이터는 실질적으로 data block(이하 블록)에 저장되어 있다. 즉, DBMS가 데이터를 읽고 쓰는(I/O) 단위는 블록 단위이다.

Oracle DB에서 블록의 크기는 보통 8KB 크기를 가진다. 이는, 단순히 하나의 컬럼처럼 작은 양의 데이터를 불러오려해도 8KB 크기의 블록을 모두 읽어와야한다는 것을 의미한다.

Data Block & OS Block

data-block os-block

↑ return to TOC

Extent

Extent 는 데이터블록이 모여 만든 저장공간 으로 보면 된다.

Tablespace 내부의 Extent를 관리하는 방법은 두 가지가 존재한다.
사용자가 어떠한 방법을 선택했느냐에 따라 Oracle DB 는 Extent 를 달리 관리한다.

Size Limit

Extent의 사이즈는 무한정으로 설정할수 없다. 한 개의 Object가 지닐 수 있는 Extent의 사이즈는 한계가 정해져 있으며, 이는 두 가지 타입으로 나뉜다.

  1. Soft Limit
  2. Hard Limit

↑ return to TOC

Segment

↑ return to TOC