물리적 저장장치

2023. 5. 15. 16:28데이터베이스/데이터베이스 시스템

728x90
반응형

구성

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

레지스터

캐시

메인 메모리

자기 디스크, 플래시 메모리

광학 디스크, 자기 테이프

 

물리적 저장 장치별 특징

휘발성

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

메인 메모리: 실제 프로그램과 데이터 적재 공간

 

비휘발성

플래쉬 메모리 : 메인 메모리와 유사하나 비휘발성

자기디스크: 데이터베이스 전체를 안정적으로 저장

광학디스크드라이브: cd ,dvd, blue-ray

테이프장치: 용량이 크고 저렴하나 순차 접근방식으로 접근해 매우 느림

 

파일

데이터베이스 구성요소

파일 데이터를 영구적으로 저장하기 위해 사용되는 가장 기초적인 논리적 구조

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

- 일반 적으로 메모리와 디스크 간에 데이터 전송 단위로 결정

레코드 블록을 구성하는 요소

- 더 이상 분리 될수 없는 최소 데이터 저장 단위

 

구조화

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

 

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

순차 파일 구조: 레코드들이 탐색키 기준으로 정렬되어 저장

-레코드가 검색키 순서대로 정렬

-레코드가 파일에 삼입되는 시점에서 키 값이 부여

-장점 : 검색키에 대한 정렬 연산이 불필요, 키 값들이 순서로 레코드를 판독하는 연산에 효율적

현재 레코드에서 정렬된 키 순서로 다음 레코드를 찾을 때 부가적인 접근이 불필요

이진 탐색을 사용하면 더 빠르게 레코드를 검색

-단점:레코드 삽입, 삭제에 많은 비용 소모

 

오버플로우 블록

순차파일 구조에서 레코드의 정렬된 상태를 유지를 위해 삽입된 신규 블록

 

해시파일 구조 : 해시 함수를 사용하여 블록 주소를 계산

 

저장장치 관리

접근

파일은 논리적 관점에서의 저장 객체

실제 저장될 때에는 여러 개으 물리적 단위인 블록으로 저장

-블럭은 메모리와 디스크 간 데이터의 전송 단위

-일반적으로 2kb~32kb사용

-블럭 전송을 최소화 할수록 입출력 소요 시간이 단축

 

버퍼관리자

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

-요청된 블록이 버퍼에 있다면, 버퍼 관리자는 블록이 위치한 메모리 주소를 프로그램에 전달

-요청된 블록이 없는 경우, 버퍼관리자는 버퍼내의 새로운 공간을 할당하고 해당 블록 적재

-더 이상 적재할 공간이 없다면, 버퍼에 있는 기존 블록을 선택하여 할당을 해지하고 해당 블록을 적재

 

버퍼교체전략

-가용 공간을 확보하기 위해 기존에 적재된 블록의 할당을 특정 기준에 의하여 해지

-미래에 가장 적게 사용될 블록을 선택하여 디스크로 나타내는 것이 이상적인 버퍼 교체 전략

-버퍼교체 전략 기법

LRU(Least Recently Used) = 최근에 가장 적게 참조된 블록을 교체

MFU(Most Frequently Used) = 특정 기간동안 가장 여러번 사용된 블록을 선택하여 블록을 교체

 

버퍼관리자의 기능

고정블럭

장애로 인하여 메모리의 데이터가 손실되어 작업이 중단될 경우, 중단된 작업의 결과물이 디스크에 기록되는 것을 방지

디스크 블록이 교체되는 것을 qm

블록 강제 출력

시스템 로그와 같이 중요한 데이터는 디스크에 영구적으로 기록되어야 함

버퍼 공간이 필요 없어도 강제로 디스크에 기록

 

 

728x90

'데이터베이스 > 데이터베이스 시스템' 카테고리의 다른 글

데이터베이스시스템_문제  (0) 2023.05.15
정규화  (0) 2023.05.08
SQL3  (0) 2023.05.04
SQL2  (0) 2023.04.28
SQL  (0) 2023.04.05