New World

[데이터베이스시스템#9]데이터 저장과 파일 본문

Self-Study/Study

[데이터베이스시스템#9]데이터 저장과 파일

hyeovi 2022. 5. 17. 23:39
728x90
반응형

1. 물리적 저장장치

데이터 접근 속도, 용량을 기준으로 다양한 장치로 구성

 

휘발성 : 캐시, 메인 메모리

비휘발성 : 플래쉬 메모리, 자기 디스크, 광학 디스크 드라이브, 테이프 장치

 

캐시 : 고비용 저장장치로 빠른 접근 속도

자기 디스크 : DB 전체를 안정적으로 저장

테이프 장치 : 용량이 크고 저렴, 순차 접근 방식으로 접근 속도가 매우 느림

 

2. 파일

파일 : 데이터를 영구적으로 저장하기 위한 가장 기초적인 논리적 구조

블럭 : 파일을 고정적인 길이로 분할하여 균등한 크기의 데이터 묶음

레코드 : 블럭을 구성, 더 이상 분리될 수 없는 최소 데이터 저장 단위

 

고정 길이 레코드 : 고정적인 바이트 수를 갖는 레코드를 저장 (데이터 접근)

잔여 고정 길이 레코드 할당 : 블럭의 길이가 레코드 길이로 정확히 나눠지지 않아 잔여 공간을 비워두는 방법

 

고정 길이 레코드 할당

정의

- 블럭의 길이가 레코드 길이로 정확히 나눠지지 않아 한 레코드를 두 블럭에 나눠 저장

 

문제점

- 레코드 삭제 시, 해당 레코드가 저장된 위치에 빈공간 생성

- 장시간 레코드의 삽입 및 삭제 발생 시, 저장 공간에 많은 낭비가 발생

 

레코드 삭제 대처

- 마지막 레코드로 공백 대체

- 삭제 레코드 이후의 레코드를 이동(삭제된 레코드의 아래 레코드를 이어 붙이기)

- 가용 리스트 관리

 

가변 길이 레코드

- 블럭에 저장되는 레코드의 길이가 서로 다른(가변적) 레코드를 할당

- 한 블럭 내에 저장되는 레코드 유형이 둘 이상

- 길이가 고정되지 않은 컬럼의 개수가 하나 이상

- 레코드가 멀티셋(레코드의 컬럼값이 여러 개인 컬럼)을 허용한 컬럼

 

파일 구조화 방법

정의 : 파일 수준에서 레코드를 관리하는 기법

종류

- 힙 : 저장 순서 고려 없이 파일 내 임의의 위치에 배치

- 순차 : 레코드들이 탐색키 기준으로 정렬되어 저장, 파일에 삽입되는 시점에서 키 값이 부여

- 해시 : 해시 함수를 사용하여 블럭 주소를 계산

 

오버플로우 블럭 : 순차 파일 구조, 레코드의 정렬된 상태 유지를 위해 삽입된 신규 블럭

3. 저장장치 관리

저장장치 접근

- 논리적 관점에서의 저장 객체

- 여러 개의 물리적 단위인 블럭으로 저장

 

버퍼 관리자 : DBMS 상의 소프트웨어는 필요한 블럭이 있을 때 버퍼 관리자에게 해당 블럭 요청

- 버퍼 교체 전략 : 가용 공간을 확보하기 위해 기존에 적재된 블럭의 할당을 특정 기준에 의해 해지

- 고정 블럭 : 장애로 인해 메모리의 데이터가 손시로디어 작업이 중단될 경우, 디스크에 기록되는 것을 방지

- 블럭 강제 출력 : 시스템 로그와 같이 중요한 데이터는 디스크에 영구적으로 기록, 버퍼 공간 X 강제로 디스크 기록

 

반응형
Comments