일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스케줄러
- Agile
- 애자일
- 정보검색
- 오픈소스웹소프트웨어
- 컴파일러
- css
- 프로세스
- DB
- 자연어처리
- 객체지향설계
- NLP
- 언어모델
- Linear Algebra
- 웹소프트웨어
- React
- 데이터분석
- 클래스
- 파싱
- 가상메모리
- 836
- 컴파일
- OS
- 파싱테이블
- 운영체제
- C언어
- 랩실일기
- 벡터
- 소프트웨어공학
- 데이터베이스
- Today
- Total
observe_db
[DB] Chap. 16 Disk Storage, Basic File Structures, Hashing, and Modern Storage Architecture 본문
[DB] Chap. 16 Disk Storage, Basic File Structures, Hashing, and Modern Storage Architecture
쩡윤 2023. 11. 16. 21:1711/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-광채널 스위치를 통하여 저장소 연결
<표>