데이터베이스 6-1~6-3 보조기억장치, 버퍼관리, 레코드 배치

milkbottle·2022년 11월 28일
0

DB

목록 보기
4/13

물리적 데이터베이스 설계

  • 5장에서 개념적 설계, 논리적 설계를 배웠다면 6장에서 물리적 설계 서술
  • 인덱스트랜잭션을 고려

보조 기억 장치

  • DBMS의 데이터들 또한 보조 기억 장치에 존재
  • 블록으로 나눠서 저장하며 그 크기는 전형적으로 4KB(최소 512바이트이상)

자기 디스크

  • 대표적으로 HDD가 있으며 플래터가 겹겹이 쌓여있음
  • 각 플래터는 트랙섹터로 구분됨
  • 탐구 시간(Arm Seek Time): 이 플래터의 섹터를 찾아서 읽는 시간
  • 회전 지연시간: 암이 전체적으로 회전할 순 없으므로 플래터를 회전하는 시간
  • 전송 시간: 암이 섹터의 데이터를 읽고나서 처리하는 시간

    제일 오래걸리는 것은 탐구 시간이므로 이 속도를 줄이는 것이 관건

버퍼관리와 운영체제

  • 디스크(보조기억장치) 입출력은 속도가 느린 작업이라 주기억장치로 운용
  • 주기억장치에 버퍼라는 공간을 만들어 디스크 블록을 저장
  • 버퍼 관리를 위해 흔히 사용되는 LRU 알고리즘은 항상 성능이 우수하지 않음

디스크 상에서 화일의 레코드 배치

  • 릴레이션의 애트리뷰트는 고정 길이(integer 그외) 또는 가변 길이(varchar)의 필드로 표현
  • 화일 > 블록 > 레코드 > 필드의 계층으로 구성
  • 한 화일에 속하는 블록들이 디스크안에서 반드시 인접하지는 않음
  • 하지만 블록이 인접한 경우 탐구 시간과 회전 지연 시간이 적어져서 입출력 속도가 빠름

    이 속도를 더 빠르게 하기위해 디스크 조각 모음 하듯이 블록 근처로 배치

BLOB

  • 이미지, 동영상등 큰 데이터를 저장하는데 사용
  • 오라클에서 8TB~128TB 사이즈로 운용

채우기 인수

  • 블록에 레코드를 채우는 공간의 비율
  • 새로운 레코드를 삽입할 때 기존의 레코드를 이동하는 번거로움을 줄임

고정 길이 레코드

  • 레코드 i에 접근하기 위해서 n×(i-1)+1의 위치에서 읽음
  • 레코드 삭제시 3가지 방법 존재
  • 방법1: 하나를 지우고 뒤에 있던 레코드들을 모두 이동
  • 방법2: 하나를 지우고 맨뒤의 데이터 하나만 삭제한 공간으로 이동
  • 방법3(지연 관리 방법): 삭제한 공간을 free list에 등록해 삽입 시 재사용

화일 내의 클러스터링

  • 화일 내에서 함께 검색될 레코드들을 디스크 상에서 인접하게 위치

    블록 0: 김상원은 사수가 박영권이므로 같이 검색될 확률이 높음
    블록 1: 김창섭은 사수가 조민희이고, 조민희는 사수가 이성래이므로 같이 검색될 확률이 높음

화일 간의 클러스터링

  • 논리적으로 연관되어 함께 검색될 레코드들을 디스크 상에서 인접하게 위치

0개의 댓글

관련 채용 정보