observe_db

[DB] Chap. 16 Disk Storage, Basic File Structures, Hashing, and Modern Storage Architecture 본문

학교 공부/데이터베이스(3-2)

[DB] Chap. 16 Disk Storage, Basic File Structures, Hashing, and Modern Storage Architecture

쩡윤 2023. 11. 16. 21:17

11/14

 

DB는 보통 Magnetic disks에 저장된다.

-메모리(Main Memory)가 빠르고, Secondary가 느리다.

근데 메모리가 작으니, Secondary에서 disk I/O를 시도.

 

Primary: CPU, Main memory

Secondary: Magnetic, Flash, Solid-state

Teritory: USB 등

 

Cache memory: Static, DRAM //제약적

Mass Storage: Magnetic   //unlimitted

 

Performance의 유지.

 

too large to fit entirely in main memory

- 가끔 하는 놈들이 있는데, Memory DB라고 부름.

 

Secondary Storage Devices

HDD 구조는 다른곳 참조..

 

Format: Divides tracks과 Disk Block과 같은 크기

IO는 블록 단위로

Buffer: HW적으로 저장장치마다 존재하는 것 or DB에서의 memory

 

효과적인 데이터 접근 기술

- 데이터 버퍼

- 디스크의 데이터 조직

- 요청대로 데이터 읽기

- I/O 요청 스케쥴링

- log

- SSD/flash 메모리 리커버

 

SSD 저장소

-flash storage라고 부르기도

-Main component: controller

-상호연결된 flash memory 카드의 집합

-이동파트 X

- 데이터가 덜 파편화(fragmented)

-HDD보다 비쌈

-DRAM기반 SSD 가능

 

Magnetic Tape

-Sequential access

-Tape가 마운트와 스캔됨 필요한 블럭이 read/write 헤드 아래에 있을 때까지

- 중요 함수(Backup-복사본 저장/Archive)

 

Buffering of Blocks

Buffer Management and Replacement Strategies

-Buffer management information_

   Pincount

   Dirty bit(수정됨을 알려줌)

-Buffer replacement strategies 

   LRU

   Clock policy

   FIFO

    MRU

 

Placing File Records on Disk

Record: 관계된 데이터 값이나 아이템들의 집합

숫자/문자열/불린/Date/time

 

가변길이(variable-length record)

-하나 이상의 필드가 유동적인 길이

-하나 이상의 필드가 반복

-하나 이상의 필드가 선택적

-필드가 다른 타입의 레코드를 포함

Separator characters(marker)로 끝나는 부분 표시

 

Packed

삭제시 하나씩 올라감.

Unpacked

정보를 page header에서 가지고 있음.(1이면 사용중 0이면 비어있음)\

 

Spanned record

-4kb 싱글 레코드보다 큼

Unspanned

-cross block boundaries가 없음.

 

bfr = under(B/R)

B=4kb(블록 크기)

R=record 크기

==블록에 레코드가 몇개까지 들어갈까

 

Operations on Files

retrieval 연산(검색): 파일 데이터를 변화시키지 않음.

Update 연산: 삽입/삭제/수정

선택 조건에 의해 record들이 선택됨.

 

Open/Find/Read/FindNext/Delete/Insert/Close/Scan

 

Files of Unordered Records(Heap Files)

Heap (or pile) file: 들어온대로 파일을 위치시키는 record

즉 inserting은 굉장히 효과적

searching은 탐색(scan) 필요

deletion은 -블록 rewrite or deletion marker 사용

 

Hashing Techniques

규칙을 주는 함수. Hash function

-데이터를 해시테이블이라는 배열에 저장

-데이터 키 값을 적절한 해시함수를 이용하여 테이블 주소로 변환하여 데이터를 찾음

-키 값 비교를 통한 탐색보다 빠르게 탐색 가능

-레코드의 수가 증가해도 키 값을 통해 바로 해시테이블의 주소 탐색

 

정적/동적

충돌(hash 값이 같음)과 오버플로(여유 slot이 없어 저장공간이 없음)

 

계산이 쉽고, 충돌이 적은.

 

해시함수

제산함수(division): 많이 쓰임

중간 제곱 함수: 키 제곱 후 결의 중간에 있는 적절한 비트를 취함

접지(folding) 함수

 

오버플로 처리

개방주소법(선형 조사/이차 조사/ 임의 조사)

체인법

 

랜덤화 함수를 사용

레코드의 해시 field value에 적용

저장된 레코드의 디스크 블록의 주소.

 

탐색 조건은 hash field의 조건과 동일.

hash field는 일반적으로 key field

 

Hashing-internal 탐색 구조

record의 그룹이 one filed value만 제외하고 접근할 때에 사용

 

disk 파일에 대한 External hashing

-bucket으로 만들어진 목표 주소 공간

-Bucket: 하나의 디스크 block or 연속적 블록들

해시함수는 key를 관계된 bucket에 매핑

bucket덕에 collision문제가 덜 심각

 

Parallelizing Disk Access using RAID Technology

Redundant(중복) arrays of 독립된 디스크(RAID)

속도(디스크 속도&액세스 속도)와 안정성을 위해.

-원래는 Redundant array of 'inexpensive disk'였음.

 

Striping: 분산 배치

-bit레벨/블록 레벨

Block 분산 저장-병렬로 올리는게 가능.

속도는 상승, 안정성은 하락(하나 부서지면 큰일)

 

reliability(신뢰/안정성)의 상승

-Redundancy tech. : mirroring and shadowing

RAID Level 0

-중복없이 data striping

-2개 이상의 디스크에 교차해서 데이터 나눠서 저장.

 

RAID Level 1

-mirroring 사용(똑같은 디스크가 있다)

 

RAID Level 2

-메모리 스타일 중복을 위한 Hamming code

-에러 감지 및 교정

-실제론 많이 안씀.

 

RAID Level 3 

-Single Parity disk

-바이트 레벨 striping

 

RAID Level 4,5

-블록 레벨 striping

-모든 디스크에 걸쳐서 데이터 분포(5)

 

RAID Level 6

-P + Q 중복 schema

-두개가 한꺼번에 다운될 경우에 대응해서 보호.

-5에서 또다른 parity block 추가.

 

Modern Storage Architectures

Storage area networks(SAN)

-고속 네트워크의 노드로 구성된 온라인 스토리지 주변 장치

Network-attached stroage(NAS)

-파일 공유에 사용하는 서버

-높은 수준의 확장성, 신뢰성, 유연성, 성능

iSCSI

-고객이 SCSI 명령어를 SCSI 저장소 기기로 원격 채널을 통해 보냄.

Fibre Channel(광통신) Over IP (FCIP)

-광통신 통제 코드, IP 패킷으로 데이터 전송

-지리적으로 먼 광통신 채널 SAN들 사이에 전송

Fibre Channel over Ethernet(FCoE)

-iSCSI와 유사하나 IP가 없음(IP 빼고?)

Automanted storage tiering(계층)

-필요에 의존하여 다른 저장소 타입 사이에 자동적으로 데이터를 움직임.

Object-based storage

-블록으로 구성된 파일 대신 객체형태로 관리되는 데이터

-Object는 metadata와 global 식별자를 옮긴다.

-이상적이게 비정형 데이터의 확장가능한 storage에 적합.

 

DAS, NAS, SAN

-Host bus Adapter에 직접 연결된 DAS

-NAS: LAN을 통해 저장소와 접속

-SAN-광채널 스위치를 통하여 저장소 연결

<표>

Comments