DBs are stored physicaly as files of records stored on magnetic disks.
storage hierarchy
- primary storage : ์ฃผ๊ธฐ์ต์ฅ์น
- operated on directly by the CPU
- Secondary storage : ๋ณด์กฐ๊ธฐ์ต์ฅ์น, ์จ๋ผ์ธ
- Tertiary storage : ์คํ๋ผ์ธ ์์นด์ด๋ธ (์จ๋ผ์ธ์ผ๋ก ๋ก๋ ํ์)
Memory Hierarchies and storage devices
์์ ์ ์ฅ์ : ๋น ๋ฆ, ์์, ๋น์
ํ์ ์ ์ฅ์ : ๋๋ฆผ, ํผ, ์
Storage of DBs
- ๋ฌผ๋ฆฌ์ DB ์ค๊ณ
- files of records : locate them efficiently
Primary FIle organizations
- heap file(unordered file) : ์ฒจ๊ฐ ์์๋๋ก ์ ์ฅ (์ฝ์ ์ฌ์)
- sorted file (sequential file) : ํค๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌ
- hashed file : ํด์ ํจ์๋ก ์ ์ฅ์์น ๊ฒฐ์
Secondary File organizations
- auxiliary access structure (๋ณด์กฐ ์ ๊ทผ ๊ตฌ์กฐ)
- ๋ณด์กฐ ํ๋์ ํจ์จ์ ์ธ ์ ๊ทผ. ์ฃผ ํ์ผ์์ ์ฌ์ฉ๋.
<secondary storage devices>
hardware description of disk
- fixed angle : ๊ณ ์ ๊ฐ, ๊ฐํธํ์ฌ ์์ฃผ ์ฌ์ฉ๋จ
- uniform recording density : ์ผ์ ํ density๋ก ๋ถ๋ฆฌ, ๊ฐ์ ๊ฐ๋์ง๋ง ๊ฐฏ์๊ฐ ๋ค๋ฆ
์๊ธฐ๋์คํธ (magnetic disk) : ์ง์ ์ ๊ทผ ์ ์ฅ ์ฅ์น (DASD : direct access storage device)
- ํธ๋ ์ ๋งํผ์ ์ค๋ฆฐ๋๊ฐ ์กด์ฌ.
- blocks / pages : ๋์คํฌ ํฌ๋งท ์ค OS์ ์ํด ์ค์ ๋ ํธ๋์ ๋์ผํฌ๊ธฐ ๋ถํ
- ๋ธ๋ก์ interblock gaps(๋ธ๋ก ๊ฐ๊ฒฉ) ๋ก ๊ตฌ๋ถ๋จ
๋์คํฌ ์ฃผ์๋ฒ : addressing
- random access addressable device
- transfer unit between main memory and disk
- ์ค๋ฆฐ๋ ์ฃผ์๋ฒ : ๊ฐ ํธ๋์ ๊ธฐ์ต์ฉ๋์ ์ผ์ ํ๊ณ ๊ธฐ๋ก ๋ฐ๋๊ฐ ๋ค๋ฆ
- ์นํฐ ๋ฐฉ๋ฒ : ์นํฐ๋ฒํธ๋ฅผ ์ฃผ๊ณ ์นํฐ ์์ ์ฆ๊ฐ์ ๋ฐ๋ผ ์ฐ์๋ ์นํฐ(ํด๋ฌ์คํฐ)๋ฅผ ๋จ์๋ก ์ ์ถ๋ ฅ
buffer
cluster : ๋ค์์ ์ฐ์ ์นํฐ
extent : ์ฐ์๋ ํด๋ฌ์คํฐ, ํ ๊ตฌ์ญ. ๋ถ์ฐ๋์ ๋น๋ก
Disk controller : SCSI, SATA, SAS
data transfer operation
- ์ฐ์ฐ ์๊ฐ = seek time + (head ํ๋์๊ฐ = ๊ฑฐ์ 0์ด๋ผ์ ๊ณ ๋ ค์ํจ) + rd + btt
ํ์ ์ง์ฐ (rd) ⇒ ์ต๋:๋ฐฉ๊ธ ์ง๋ฌ์๋, ์ต์: ๋ฐ๋ก ๋ค์์ผ๋
Bulk transfer : ๋๋ ์ ์ก = btr
- ์ฐ์๋ ๋ธ๋ญ ์ ์ก ์ ์ถ๊ฐ์ ์ธ btt๋ง ์์.
Making Data access more efficient on disk : ํจ์จ์ฑ ํฅ์
- ๋ฐ์ดํฐ์ ๋ฒํผ๋ง
- ๋์คํฌ์ ์๋ ๋ฐ์ดํฐ์ ์ ์ ํ ๊ตฌ์ฑ
- ์์ฒญ์ ์์์ ๋ฐ์ดํฐ ์ฝ๊ธฐ
- I/O์์ฒญ์ ์ ์ ํ ์ค์ผ์ค๋ง
- ๋ก๊ทธ ๋์คํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ธฐ๋ฅผ ์ผ์์ค์ง
- ๋ณต๊ตฌ๋ฅผ ์ํ SSD๋ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ
Solid State Device (SSD) storage
- use flash memories as an intermediate layer between main memory and HDDs
HDD : ๋ฐ์ดํฐ ์ฐ์์ฑ์ด ์ค์, ์ ๋ฐ์ดํธ ์ ๋ฎ์ด์ฐ๊ธฐ ๋จ
SSD : ์ด๋ค ์ฃผ์์ด๋ ์ ๊ทผ์๊ฐ์ด ๋์ผ, ์ฝ๊ณ ์ฐ๋ ํ์๊ฐ ์ ํด์ ธ์์ผ๋ฏ๋ก ์๋ช ์ ์ํด ๊ณจ๊ณ ๋ฃจ ์ ๋ฐ์ดํธ ํ์. ๋ฎ์ด์ฐ๊ธฐ ์๊ณ ์๋ก์ด ์ฅ์์ writing
Magnetic Tape Storage devices
- disks : random access
- magnetic tape : sequential access, blocking
๊ฐ๋ก : tracks, ์ธ๋ก : frames
- IBG = inter block gap = inter record gap, IBG๋ณด๋ค record์๊ฐ์ด ์์์ง์๋ก ๋นํจ์จ์ .
CD-ROM : ๋ฐ์ฌ์จ์ ๋ฐ๋ผ ๊ฒฐ์ .
- ๋จ์ผ ๋์ ํ ํธ๋, ์ ์ฅ๋ฐ๋ ์ผ์ , ๊ท ์ผ ์ ํ ์๋
DVD : cd๋ณด๋ค ๋ ํฐ ์ฉ๋ ์ ์ฅ (๋ธ๋ฃจ๋ ์ด)
< Buffering of blocks > : ๋ฏธ๋ฆฌ ์ฌ์ฉํ ๋ธ๋ญ๋ค์ ์ ๋ ๋ฏธ๋ฆฌ ๋ฒํผ๋ฅผ ํ ๋นํ๋ฉด ๋นจ๋ฆฌ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋ฒํผ๋ฅผ ๊ฐ๋ค๋๊ณ ๊ทธ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ ๋ค๋ฅธ ๋ฒํผ๋ ์คํ๊ฐ๋ฅ(๋ณ๋ ฌ ์ํ)
- double buffering
Buffer Management
- buffer manager : a sw component of a DBMS
- buffer pool
- pin count
- dirty bit
Buffer replacements strategies : ๋ฒํผ ๊ต์ฒด ์ ๋ต
- Least recently used : LRU
- clock policy
- first in first out : FIFO
- most recently used : MRU
<Placing file records on disk>
records and record types
file, fixed length records, viriable length record
record blocking and spanned vs unspanned
์ ์ฅ ๋ฐฉ์ : ๋ ์ฝ๋๋ฅผ ์ชผ๊ฐ์ ๋นํ์์ด / ๋น์ ์ฅ ๋ฐฉ์ : ๋ ์ฝ๋ ๋ณด์กด, ๊ณต๊ฐ๋ญ๋น ์์
๊ณ ์ ๊ธธ์ด blocking factor : bfr = B/R ์ดํ์ ์ต๋์ ์
๊ฐ๋ณ๊ธธ์ด bfr : ๋ธ๋ก์ ์๋ ๋ ์ฝ๋ ์์ ํ๊ท
- ํ์ํ ๋ธ๋ก ์ b = ๋ ์ฝ๋ ์ / bfr
allocating file blocks on disk : ๋ธ๋ก ํ ๋น
- contiguous allocation
- linked allocation
- clusters
- indexed allocation
file headers / file descriptor
- ๋ชฉํ : ์ต์์ ์ ์ก์๊ฐ์ ์ํ ๋ธ๋ก ๋ฐฐ์น
<Operations on files> : ํ์ผ ์ฐ์ฐ
- Retrieval : ๊ฒ์
- Update : ๊ฐฑ์
- Open/close
- record at a time (ํ๋ฒ์ ํ ๋ ์ฝ๋์ฉ๋ง ์ฐ์ฐ๋๋๊ฒ) : reset,find,read,findnext,delete,modify,insert
- set at a time (ํ๋ฒ์ ์ฌ๋ฌ๊ฐ) : findall, find n, findOrdered, Reorganize
- Scan : find + findNext + read
<Files of unordered records (Heap files)>
heap or pile file : ์ฝ์ ๋ ์์๋๋ก ์ ์ฅ. ์ ํํ์(๋ธ๋ญ์/2)
- ์ฝ์ : ๋ฒํผ์ ๋ธ๋ญ ๋ณต์ฌ, ์ฝ์ , ๋์คํฌ์ ๋ค์ ์ฐ๊ธฐ
- ์ญ์ : deletion marker ์ฌ์ฉ
To read all records in order → external sorting method (์๋ผ์ ๋ถ๋ถ์ ๋ ฌ ํ merge)
Relative or direct file
- disk ์ค๋ฆฐ๋๋ ๋น์ทํ ์ฐ์ฐ
<Files of ordered records (sorted files)>
Ordered or sequentail files : ์์ฐจํ์ผ
- ์ด์งํ์ : log2 (๋ธ๋ญ ์)
- ์ ํํ์ : ๋ธ๋ญ์/2 (์๊ฐ ํจ์ฌ ํฐ ์๊ฐ)
Searchign in ordered files
- ํจ์จ์ , ์์ฐจ๊ธฐ์ค ์๋๊ฑธ๋ก ๊ฒ์ํ๋ฉด ์๋ฏธ์์
Insertion and deletion in ์์ฐจํ์ผ
- ordering field ๊ฐ ๊ธฐ๋ฐ์ผ๋ก ์ฝ์
- ๊ณต๊ฐ๋ถ์กฑ ์ ์ค๊ฐ์ค๊ฐ์ ์ฌ๋ถ๊ณต๊ฐ(reserved space)์ ์ฝ์ ํ๊ฑฐ๋ ์ ๊ณต๊ฐ์ ์์๋ณด๊ด
- ์ญ์ ์ deletion marker, periodic reorganizaiton
Using a Transaction File
- unordered file : overflow of transaction file
์์ ๋ด์ฉ์ ๋ณด๊ดํจ. ์ฝ์ ์ ํจ์จ์ ์ด์ง๋ง ๊ฒ์์ ๋ณต์ก
- ๋น์ ๋ ฌ ํ๋ ์์ : ๋ ์ฝ๋ ๋ณ๊ฒฝํ ๋ฎ์ด์ฐ๊ธฐ
- ์ ๋ ฌ ํ๋ ์์ : old ๋ ์ฝ๋๋ฅผ ์ง์ฐ๊ณ new ๋ ์ฝ๋๋ฅผ ์ฝ์
Reorganization
- sort the records in the overflow file
- merge them with the master file
< Average Access Times for a file of b Blocks under basic file organizations >
<Hashing Techniques>
ํค๊ฐ ํจ์๋ก ์ฃผ์๋ฅผ ๊ตฌํจ.
search for the record within the block can be carried out in a main memory buffer
neeed only a single block access
Internal Hashing
Collision → open addressing, chaining, multiple hashing
Collision Resolutions
- open addressing : ์ ๋ ฅํ ๋ค์์ฃผ์์ ์ ์ฅ
- chaining : ๋ณ๋์ ๋ธ๋ญํ ๋น ํ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ฐ๊ฒฐ
- multiple hashing : applies a second hash function
- ์ ์ฅ์ ์ ๊ฒํ ์๋ก ์ถฉ๋ํ๋ฅ ์ด ๋ฎ์์ง๋ฏ๋ก ์ฌ์ ๊ณต๊ฐ์ ๋จ๊ธฐ๊ธฐ
External Hashing for Disk files
- hashing foir disk files is called external hashing
- buckets
- key → a relative bucket number
- use a variation of chaining in each bucket
์๋๋ฒํท๋ฒํธ๋ฅผ ์ด์ฉํ์ฌ ๋์คํฌ์์ ์ค์ ์ฃผ์ ์ฐพ๊ธฐ
operations on ์ธ๋ถ ํด์ฑ
- ๊ฒ์ : ๋น์ ๋ ฌ ํ์ผ์๋ ๋น์ผ ์ฐ์ฐ. overflow ๋ผ์ธ์ ๋ฐ๋ผ์ ๊ฐ
- ์ญ์ : ๋ฒํท์์ ์ง์ฐ๊ณ ์ค๋ฒํ๋ก์ฐ ๋ผ์ธ ๋ค์๊ฐ์ ์ฑ์๋ฃ๊ธฐ
- ์์ : ๊ฒ์ ํ ํด์ํ๋๊ฐ ์๋๋ฉด ๊ทธ๋ฅ ๋ฎ์ด์ฐ๊ณ , ํด์ํ๋์ผ๋๋ ์ญ์ ํ ์ฝ์
Static hashing : a fixed number of buckets
reorganize : change the number of blocks and ์๋ก์ด ํด์ํจ์๋ฅผ ์ฌ์ฉ → ๋ถ๋ด์ด ํฐ ์ฐ์ฐ
Hashing Techniques that allow dynamic file expansion
- extendible hashing
- linear hashing
- dynamic hashing
์ก์ธ์ค ๊ตฌ์กฐ๋ ๋ ์ฝ๋์ ํด์ ๊ฐ์ ์ด์ง ํํ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
Extendible hashing
- ์ด์ง์ ์ฃผ์ ์ฌ์ฉ
- d=global depth of the directory, d` = local depth (≤ d)
d = d` and overflow : ๋๋ธ๋ง
d > d` for all the buckets : ํด๋ธ๋ง
๋ ์ฝ๋์ ๋ชจ์กฐํค(pseudo key) : key๊ฐ์ ์ด์ง ์ ๋ณด๋ก ๋ฐ๊ฟ์ค๋ ์ฌ์ฉ
๐ก ํ์ฅํ ํด์ฑ์ ์ฅ๋จ์
- ์ฅ์ : ์ฑ๋ฅ์ ํ๊ฐ ์๊ณ , ๋ฏธ๋ฆฌ ๊ณต๊ฐํ ๋นํ ํ์ ์๊ณ , ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ด ์ ์
- ๋จ์ : ์ ์ ํด์ฑ์์๋ ํ๋ธ๋ญ ์ ๊ทผํ๋ฉด ๋์ง๋ง ํ์ฅํ์ 2๋ธ๋ญ์ ์ ๊ทผํด์ผํจ (h(K)→ ๋๋ ํ ๋ฆฌ→ ๋ฒํท)
Dynamic hashing
Linear hashing
- overflow : split into two buckets. ์ค๋ฒํ๋ก๋ ๋ฒํท์ ๋ ์ฝ๋๋ ๋ค๋ฅธ ํด์ ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ฒํท ์ฌ์ด์ ๋ถ๋ฐฐ.
- ์ค์ ๋ฉ๋ชจ๋ฆฌ๊ฐ 2๋ฐฐ๊ฐ ๋๋๊ฒ์ ์๋
< Parallelizing Disk access using RAID >
- RAID : redundant arrays of inexpensive/independent disks
- ์์ ์ฌ๋ฌ๊ฐ์ ๋์คํฌ๋ฅผ ์ด์ด์ ํฐ ํ๋์ ์ ์ฅ์์ฒ๋ผ ์ฌ์ฉ.
- Data striping : ๋์คํฌ ์ฑ๋ฅ์ ๊ฐ์ . (์ฌ๋ฌ ๋์คํฌ์ ๋ถํ ์ ์ฅ)
- bit level
- block level
Improving Reliability with RAID : ์ ๋ขฐ๋ ๋์ด๊ธฐ
- ๋์คํฌ๊ฐ ๋ง์์๋ก ๊ณ ์ฅ์จ์ด ๋๋ค.
- MTBF (Mean time between failures) of a disk = 22.8 years
- MTBF of 100 disk drives = 83.8 day
- ์๋ฃจ์ : ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์ํค๋ฉด ๋จ. ๊ทผ๋ฐ ์ถ๊ฐ์ ์ฐ์ฐ์ด ํ์ํ๊ณ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.
Improving Performance with RAID
- the technique of data striping achieves ๋ ๋์ ์ ์ก ์๋(์ ์ก์จ, tr)
RAID organizations and levels
- the two factors of granularitiy of data interleaving(striping)
- ์ปดํจํฐ๊ฐ ์ค๋ณต์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ ํจํด
RAID level 0~6
'๐ ์ ๊ณต ๊ณต๋ถ > DB๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] Transaction processing (0) | 2022.12.30 |
---|---|
[DB] Indexing structures for files / ๋ฌผ๋ฆฌ์ DB์ค๊ณ (0) | 2022.12.30 |
[DB] SQL programmingโจ๏ธ (2) (0) | 2022.12.30 |
[DB] SQL Programmingโจ๏ธ (1) (0) | 2022.12.30 |
[DB] SQL ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์๋ฐฐ ์์ (0) | 2022.10.20 |