Computer Science/Database :: 데이터베이스

데이터베이스 9강 :: 물리적 저장 장치, 파일 구조, 저장 장치 접근

HJPlumtree 2022. 4. 7. 10:02

데이터베이스 9강을 보며 배운내용

 

 

물리적 저장 장치

휘발성

속도 빠르지만 끄면 없어진다

캐시, 메인 메모리

 

비휘발성 

속도는 느리지만 데이터 저장

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

 

 

데이터베이스 구성

데이터베이스는 파일로 쪼개지고, 파일은 블록으로 쪼개진다

데이터베이스 => 파일 => 블록

 

파일

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

 

블록

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

 

레코드

블록을 구성하는 요소

더 이상 분리될 수 없는 최소의 데이터 단위

 

 

고정 길이 레코드에 저장시

가용 리스트 관리 자주 사용한다

공백 레코드 포인트가 빈 공간을 가르키게 한다

연결 리스트 이용해서 빈 공간에 넣어주고, 다음 빈 공간을 가르킨다

 

 

파일 구조 종류

힙 파일 구조

순서 없이 마구 저장

 

순차 파일 구조(가장 많이 이용)

탐색키 기중 정려

이진 탐색으로 빠르다

 

해시 파일구조

해시 함수 이용 블록 주소로 저장하거나 찾는다

 

 

왜 순차 파일 구조 많이 사용하지?

  • 순서대로 저장되서 정렬 연산 X
  • 삽입되는 시점에 키 값이 생긴다
  • 이진 탐색 사용해서 빠르게 레코드 검색

 

단점은

레코드 삽입, 삭제에 많은 비용 소요

=> 오버플로우 블록으로 도움을 받을 수 있다

 

어떤 구조가 항상 좋지는 않고, 때에 따라 다르다

 

 

저장장치 접근

소프트웨어는 메모리에 먼저 접근하고 없으면, 메모리가 디스크에 접근한다

메모리와 디스크의 연결을 관리해주는 것이 버퍼 관리자

 

버퍼 관리자

  1. 메모리에 요청 받은 데이터가 있으면 바로 전해주고

  2. 없으면 디스크에서 메모리로 옮기고

  3. 꽉 차면 메모리에서 다른걸 내보내고, 디스크에서 받은 데이터를 넣는다

 

버퍼 관리자는 어떤 것을 디스크로 내보낼까?

이게 버퍼 관리자의 기능이다

=> 버퍼 교체 전략

가장 안쓸 것 같은 블록을 디스크에서 내보낸다

  • LRU(Least Recently Used): 최근에 가장 적게 참조된 블록 교체
  • MFU(Most Frequently Used): 특정 기간 가장 여러번 사용된 블록 교체
뭐를 내보낼지 정답은 

 

고정 블록

교체 안되게 할 블록 지정

 

블록 강제 출력

중요한 데이터를 디스크에 영구적으로 저장되어야 되니 강제로 내보낸다