컴퓨터공학/데이터베이스

[데이터베이스] 물리적 데이터

NIMHO 2022. 10. 13. 17:39
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

직접 저장장치

  • 탐구 시간(seek time)
    • 헤드가 원하는 트랙(실린더)까지 이동하는 데 걸리는 시간
  • 회전 지연시간(rotational delay)
    • 그 트랙에서 원하는 레코드(섹터 또는 블록 )가 헤드 밑에 회전하여 올 때까지 기다리는 시간
  • 탐구 시간이 회전 지연시간 보다 훨씬 길다.

 

데이터의 저장

  • 데이터 접근시간(data access time)
    • 탐구  시간 + 회전 지연시간 + 데이터 전송시간
    • 탐구 시간이 가장 많은 시간을 차지해서, 줄이면 빨라진다.
  • 데이터베이스의 중요한 성능 개선의 초점
    • 디스크 접근 횟수(I/O, 헤드 움직이는 - 탐구 시간)의 최소화
  • 디스크 접근시간은 주기억 장치보다 느리기 때문이다.
  • 한 실린더에 저장하면 빠름
    • 헤더를 1번만 움직이면 돼서 빠르다.
    • 원하는 데이터를 모르기 때문에 어렵다.

 

플래시 메모리

  • 하드디스크(HDD) - 비 휘발성 영구 저장장치
    • 기계적인 회전 디스크를 통해 입/출력 동작 수행한다.
    • 순차적인 접근은 매우 뛰어나다.
    • 임의적인 접근(random access)에는 취약하다.
  • 플래시 메모리
    • 전기적인 신호 사용한다. - 회전식 X
    • 임의 접근이 뛰어나다.
    • 소형 정보 기기들이 대중화됨에 따라 플래시 메모리 기반의 SSD(Solid State Disk)가 보편화되었다.

 

SSD

  • 비휘발성(영구 저장 O)이면서, 접근 속도, 저전력, 내구성이 우수
  • SSD의 단점
    • 덮어쓰기 연산을 수행할 수 없다.
    • 미리 블록 단위로 지우기 연산을 수행한 후 쓰기 연산을 수행해야 한다.
    • 쓰기 연산의 경우 매우 느리다.(읽기는 빠르다.)
    • Update-In-Place(덮어쓰기)가 불가능하다.
    • 쓰기 횟수가 제한적이다.(반영구적이지 못함)
  • SSD를 효율적으로 사용하기 위해서는 기존의 정보 검색 및 제어 기술들이 바로 적용되기 어렵다.

 

운영체제의 역할

  • 운영체제에서 파일 관리자디스크 관리자 (또는 입출력 서비스)를 이용함
  • 페이지(page)
    • 입출력의 단위
    • 즉 디스크와 주기업 장치 사이에 한 번의 디스크 접근으로 데이터가 전송되는 양

 

파일 조직 방법

  • 파일 조직(file organization)
    • 데이터베이스의 물리적 저장 방법
  • 파일 조직 방법
    • 순차 방법, 인덱스 방법, 해싱 방법 등으로 구분
728x90
  • 순차 방법
    • 엔트리 순차 파일
      • 레코드가 시스템에 삽입되는 순서로 만들어진다.
    • 키 순차 파일
      • 레코드들의 키 값의 크기 순으로 만들어진다.
    • 일괄 처리하는 응용에서 많이 사용된다.
  • *(중요) 인덱스 방법 (책 뒤에 있는 찾아보기 같은 것이다.)
    • 먼저 인덱스를 찾는다. → 원하는 레코드에 접근한다.
    • 인덱스 파일과 데이터 파일로 구성되어 있다.
    • 인덱스 파일은 <키값, 주소> 쌍으로 구성되어 있다.
    • 기본 인덱스(primary index)
      • 기본키 기반으로 DBMS에서 자동으로 만들어진다.
      • 인덱스된 순차 파일이라고도 한다.
      • 순서로 된 인덱스를 가지고 직접 접근한 후 키 값에 따라 정렬된 순차 데이터 파일을 순차적으로 접근하는 방식이다.
    • 보조 인덱스(secondary index)
      • 기본 인덱스 이외의 인덱스를 보조 인덱스라고 한다.
      • 흔히 한 릴레이션에 여러 개의 인덱스를 정의해야 할 필요성이 있다.
      • ex. 학과도 빈번히 탐색이 일어날 경우
    • 클러스터링 인덱스
      • 탐색키 값에 따라 정렬된 데이터 파일을 가진다.
      • 데이터 파일의 레코드들은 애트리뷰트의 증가하는 순서대로 정렬되어 있다.
      • 기본 인덱스와 형식이 유사하다.
    • 비클러스터링 인덱스
      • 데이터 파일의 레코드들이 탐색키 값과 무관하게 저장되어 있다.
      • 레코드를 검색할 때마다 매번 다른 디스크 블록을 접근한다.
      • 보조 인덱스와 유사하다.
    • 다단계 인덱스
      • 인덱스 자체가 큰 경우, 단일 단계 인덱스에 대해서 다시 인덱스를 정의한다.
      • 원래의 인덱스를 1단계 인덱스, 그 인덱스에 대한 추가 인덱스를 2단계 인덱스라 한다.
      • 가장 상위 단계의 모든 엔트리들이 한 블록에 들어갈 수 있을 때까지 이런 과정을 반복한다.
      • 가장 상위 단계 인덱스: 마스터(master) 인덱스라 한다.
  • 해싱 방법
    • 직접 파일

클러스터링 인덱스 & 비클러스터링 인덱스
다단계 인덱스

728x90