fizična podatkovna baza
DESCRIPTION
Fizična podatkovna baza. Nekaj izhodiščna vprašanj (odgovore dobite v poglavju FPB). Kam s podatki? Kako in kdaj izbrati kateri pomnilnik/medij? Kako delujejo pomnilniki, katere podatke hranijo? Kako zagotoviti večjo zanesljivost in boljše performanse medijev? - PowerPoint PPT PresentationTRANSCRIPT
Fizična podatkovna Fizična podatkovna bazabaza
22
Kam s podatki? Kam s podatki? Kako in kdaj izbrati kateri pomnilnik/medij?Kako in kdaj izbrati kateri pomnilnik/medij? Kako delujejo pomnilniki, katere podatke hranijo?Kako delujejo pomnilniki, katere podatke hranijo? Kako zagotoviti večjo zanesljivost in boljše performanse medijev?Kako zagotoviti večjo zanesljivost in boljše performanse medijev? Kako doseči optimum funkcije f = f(koristnost,cena)Kako doseči optimum funkcije f = f(koristnost,cena) Kako poteka postopek dostopa do datoteke?Kako poteka postopek dostopa do datoteke? Kako zagotoviti neodvisnost oblike hranjenja podatkov od fizičnega Kako zagotoviti neodvisnost oblike hranjenja podatkov od fizičnega
medija?medija? Kako preslikati logične koncepte v fizično predstavitev?Kako preslikati logične koncepte v fizično predstavitev? Kako organizirati podatke v datotekah?Kako organizirati podatke v datotekah? Kako pospešiti izvedbo operacij nad podatki (indeksi)?Kako pospešiti izvedbo operacij nad podatki (indeksi)?
Poleg znanja o PB, pri FPB dostikrat pomaga tudi znanje o Poleg znanja o PB, pri FPB dostikrat pomaga tudi znanje o operacijskih operacijskih sistemihsistemih, pa tudi nekaj , pa tudi nekaj osnov programiranjaosnov programiranja!!
Nekaj izhodiščna vprašanjNekaj izhodiščna vprašanj(odgovore dobite v poglavju FPB)(odgovore dobite v poglavju FPB)
33
Hierarhija Hierarhija pomnilnikovpomnilnikov
cache
Glavni pomnilnik (RAM)
Magnetni disk
Magnetni trak
hit
rost
do
sto
pa
, ce
na
/byt
e
ns
ms
s
KB
MB
GB
TB/PB
kap
ac
iteta
, trajno
st zapis
a
primarni pomnilnik•najdražji•pomnjenje ni trajno (volatile)
tercialni pomnilnik(‘off-line storage’)•najcenejši•trajno pomnjenje•sekvenčni dostop
sekundarni pomnilnik (‘on-line storage’)•trajno pomnjenje (non volatile)•direktni dostop
44
Kriteriji za izbiro pomnilnika Kriteriji za izbiro pomnilnika (medija) za hranjenje FPB(medija) za hranjenje FPB
sposobnost sposobnost hranjenjahranjenja razmeroma velik razmeroma velikihih količin podatkov količin podatkov trajno pomnjenjetrajno pomnjenje hitrohitrostst vpisovanj vpisovanjaa, spreminjanj, spreminjanjaa in dostop in dostopaa do podatkov do podatkov nizka cena na enoto shranjenih podatkovnizka cena na enoto shranjenih podatkov
za on-line dostop (sprotno delo) trdi diskza off-line dostop (back-up) magnetni trak
Izbira Izbira (best choice)(best choice)
55
Ali moramo prilagajati obliko shranjevanja podatkov fizičnemu mediju?
NE – za to skrbita OS in SUPB.
Podatki se shranjujejo v obliki datotek, obstajata dva nivoja: 1. nivo logičnih datotek in pristopnih poti 2. nivo fizičnih datotek.
za shranjevanje in dostop do fizičnih datotek skrbi OS za preslikavo logičnih datotek v fizične skrbi SUPB
66
Kako lahko Kako lahko prispeva k prispeva k učinkovitosti dostopa do učinkovitosti dostopa do
podatkov?podatkov?1.1. maksimalno izrabi RAMmaksimalno izrabi RAM (če bomo potrebovali veliko (če bomo potrebovali veliko
podatkov, najprej jih prenesemo v RAM)podatkov, najprej jih prenesemo v RAM) 2.2. minimizira število dostopov do diskaminimizira število dostopov do diska (bolje je na enkrat (bolje je na enkrat
prebrati 1MB, kakor 1000 krat brati po 1KB)prebrati 1MB, kakor 1000 krat brati po 1KB) 3.3. pazljivo organizira podatke na diskupazljivo organizira podatke na disku (poišč(poiščee način, ki način, ki
omogoča manj/več neposredno dostopanje do želenih podatkov omogoča manj/več neposredno dostopanje do želenih podatkov izogiba izogiba se zaporednemu iskanju po velikih datotekah)se zaporednemu iskanju po velikih datotekah)
4.4. optimizira sistem ioptimizira sistem inn izrabi prednosti 1. – 3. izrabi prednosti 1. – 3. (kodo in (kodo in podatkovne strukture definira tako, da izrabi prednosti dobrega podatkovne strukture definira tako, da izrabi prednosti dobrega upravljanja s pomnilnikom, diskom in datotečno organizacijo)upravljanja s pomnilnikom, diskom in datotečno organizacijo)
77
Magnetni diskMagnetni disk
Opravila pri branju/zapisovanju podatkov (4)
88
Performanse diskaPerformanse diska Dostopni čas = iskalni časDostopni čas = iskalni čas (4-10ms)(4-10ms) + rotacijska + rotacijska
zakasnitevzakasnitev (4-11ms – odvisno od rpm: 5400 – 15000)(4-11ms – odvisno od rpm: 5400 – 15000)
– povprečni dostopni čas (10-40 ms)povprečni dostopni čas (10-40 ms)
Hitrost prenosa podatkov (Data transfer rate)Hitrost prenosa podatkov (Data transfer rate)– 4-8MB/s, odvisno tudi od kontrolerja (SCSI4-8MB/s, odvisno tudi od kontrolerja (SCSI-3:-3: 40MB/s 40MB/s, ATA-5:66 MB/s, , ATA-5:66 MB/s,
SATA=150MB/s SATA2=300MB/sSATA=150MB/s SATA2=300MB/s))
Mean time to failure (MTTF)Mean time to failure (MTTF) – koliko časa (v povprečju) pričakujemo, da ne bo težav; 3-5 let; koliko časa (v povprečju) pričakujemo, da ne bo težav; 3-5 let;
““teoretičniteoretični MTTF” 30,000 do 1,200,000 ur; s starostjo diska MTTF MTTF” 30,000 do 1,200,000 ur; s starostjo diska MTTF upadaupada
99
RAID – Redundant Arrays of RAID – Redundant Arrays of Independent Independent (inexpensive)(inexpensive) Disks Disks
Tehnika organizacije trdih diskovTehnika organizacije trdih diskov Upravlja z večjim številom trdih diskov in hkrati zagotavljal Upravlja z večjim številom trdih diskov in hkrati zagotavljal
pogled, kakor da gre za en sam disk, ki ima zelo veliko pogled, kakor da gre za en sam disk, ki ima zelo veliko kapaciteto, hitrost in zanesljivostkapaciteto, hitrost in zanesljivost
Kako? Kako? – Visoko kapaciteto in hitrost dosežemo z sočasno paralelno Visoko kapaciteto in hitrost dosežemo z sočasno paralelno
uporabo več diskov hkratiuporabo več diskov hkrati– Visoko zanesljivost dosežemo z redundantnim hranjenjem Visoko zanesljivost dosežemo z redundantnim hranjenjem
podatkov (če en disk ‘pade’, se podatki restavrirajo iz podatkov (če en disk ‘pade’, se podatki restavrirajo iz redundantnega diska) – primer redundantnega diska) – primer Mirroring Mirroring ((shadowingshadowing)):: Vsak disk podvojimo; logični disk je sestavljen iz dveh fizičnih Vsak disk podvojimo; logični disk je sestavljen iz dveh fizičnih
diskovdiskov Vsaka operacija zapisovanja se izvede na obeh diskihVsaka operacija zapisovanja se izvede na obeh diskih Branje se izvede le z enega diskaBranje se izvede le z enega diska Če en disk odpove, lahko nadaljujemo delo z drugimČe en disk odpove, lahko nadaljujemo delo z drugim Podatki so nedostopni le, če pride do odpovedi obeh diskov Podatki so nedostopni le, če pride do odpovedi obeh diskov
hkrati hkrati verjetnost je minimalna verjetnost je minimalna
1010
Sektor Sektor Dodelitvena Dodelitvena enotaenota
najmanjša količina najmanjša količina podatkov, ki jo lahko podatkov, ki jo lahko preberemo / zapišemo preberemo / zapišemo na diskna disk
značilna velikost 4 kbytesznačilna velikost 4 kbytes
najmanjši najmanjši del del diskovnega pomnilnika, diskovnega pomnilnika, ki ki se ga lahko dodeli se ga lahko dodeli posamezni fizični posamezni fizični datotekidatoteki
• 1 d.e. = 1/2/4/8/... sektorjev• sektorji, ki sestavljajo dodelitveno
enoto, se nahajajo na istem cilindru možen je zaporeden dostop brez premikanja bralno-pisalne glave
• Manjše d.e. več prenosa z diska• Večje d.e. več izgubljenega
prostora na disku (d.e. so le delno zapolnjene)
• Značilna velikost d.e.: 4 – 16 KB
1111
Naslavljanje sektorjevNaslavljanje sektorjev fizični naslov sektorjafizični naslov sektorja
Fizični naslov sektorja = (c, p, o)Fizični naslov sektorja = (c, p, o)c = številka c = številka cilindrcilindra; a; p = p = površinpovršinaa; o =; o = odmikodmik od začetka slediod začetka sledi
aliali logične številke sektorjevlogične številke sektorjev (zvezno področje (zvezno področje [[0 0 .... nls-1 nls-1])])
ls = ls = pp*n*ncc*no + *no + cc * no + o * no + ols = logična številka sektorjals = logična številka sektorja;;p = številka površine; p = številka površine; np = število vseh površin; np = število vseh površin; p = 0 .. np-1p = 0 .. np-1c= številka cilindra; c= številka cilindra; nc = število vseh cilindrovnc = število vseh cilindrov; ; c = 0 .. nc-1c = 0 .. nc-1o= številka odmikao= številka odmika; ; no = število sektorjev na sledno = število sektorjev na sled;; o = 0 .. no-1o = 0 .. no-1
nls = število vseh sektorjevnls = število vseh sektorjevnls = nc * np * nonls = nc * np * no
/* število cilindrov * število površin * število odmikov *//* število cilindrov * število površin * število odmikov */
1212
Vsebina diskaVsebina diska1.1. podatki o diskpodatki o disku u (št. cilindrov, (št. cilindrov, površin, sektorjevpovršin, sektorjev//sled, velikost sled, velikost
sektorjev in velikost dodelitvenih enotsektorjev in velikost dodelitvenih enot; zapisano v ; zapisano v v prvem v prvem sektorju z naslovom (0,0,0)sektorju z naslovom (0,0,0)))
2.2. dodelitvena tabeladodelitvena tabela (podatki(podatki oo legi fizilegi fiziččnih datotek v nih datotek v diskovnem pomdiskovnem pomnnilnikuilniku))
3.3. seznam fiziseznam fiziččnih datotek (direktorij / imenik)nih datotek (direktorij / imenik)
4.4. fizifiziččne datotekene datoteke
1313
Dodelitvena tabela = Dodelitvena tabela = vektorvektor
1 vrstica – 1 dodelitvena enota1 vrstica – 1 dodelitvena enota iindeks ndeks vrstice =vrstice = št št. . dd. e.. e. vvsaka vrstica dodelitvene tabele saka vrstica dodelitvene tabele
opisuje trenutno stanje pripadajoče opisuje trenutno stanje pripadajoče dodelitvene enotedodelitvene enote::
'prosta''prosta' nn - - enota je dodeljena fizi enota je dodeljena fiziččni ni
datoteki, v okviru katere ji datoteki, v okviru katere ji logilogiččno sledi dno sledi d. e. . e. nn
'konec' 'konec' : d: d.e..e. je zadnja v je zadnja v logilogiččnem zaporedju fizinem zaporedju fiziččni ni datoteki dodeljenih enot datoteki dodeljenih enot
'neuporabna''neuporabna' - vsaj - vsaj 1od1od sektorjev v dsektorjev v d.e. je slab (.e. je slab (bad)bad)
primer dodelitvene. tabeleprimer dodelitvene. tabele
št. d.e.št. d.e. stanjestanje
00 prostaprosta
11 55
22 prostaprosta
33 koneckonec
44 neuporabnaneuporabna
55 77
66 prostaprosta
77 koneckonec
1414
Datotečni seznam (root file Datotečni seznam (root file directory)directory)
nahajajo se nahajajo se podatki o fizipodatki o fiziččnih datotekahnih datotekah polegpoleg osnovnega seznama, lahko obstaja tudi vrsta drevesno osnovnega seznama, lahko obstaja tudi vrsta drevesno
organiziranih podseznamovorganiziranih podseznamov oopis datotekepis datoteke sestavljajo podatki: sestavljajo podatki:
– ime datotekeime datoteke, , – datotedatoteččni atributi (datoteka, direktorij, samo za branje, skrita), lastnik ni atributi (datoteka, direktorij, samo za branje, skrita), lastnik
datoteke, datum in datoteke, datum in ččas kreiranja as kreiranja // a ažžuriranja datoteke, velikost uriranja datoteke, velikost datotekedatoteke,, ….. // kateri atributi so zajeti je odvisno od OS….. // kateri atributi so zajeti je odvisno od OS
– številka logištevilka logiččno prve dodelitvene enote.no prve dodelitvene enote.
imeime atributiatributi …… velikostvelikost št. prve d.e.št. prve d.e.
test1.exetest1.exe AA 28502850 11
vaja.txtvaja.txt ARAR 220220 33
Primer datotečnega seznama:
1515
Magnetni trakMagnetni trak ne obstaja možnost direktnega dostopa => visoki dostopni časi (nekaj ne obstaja možnost direktnega dostopa => visoki dostopni časi (nekaj
10s); omogoča zelo hiter sekvenčni dostop10s); omogoča zelo hiter sekvenčni dostop hrani zelo velike količine podatkov hrani zelo velike količine podatkov (od nekaj GB do TB/trak)(od nekaj GB do TB/trak) nizka hitrost prenosa podatkov (nizka hitrost prenosa podatkov (transfer ratetransfer rate) ) (od 1 do nekaj deset (od 1 do nekaj deset MB/sMB/s)) najcenejši medij za hranjenje podatkov najcenejši medij za hranjenje podatkov (vendar naprave so drage!!!)(vendar naprave so drage!!!) uporaba: backup, hranjenje redko uporabljanih podatkov, off-line medij za uporaba: backup, hranjenje redko uporabljanih podatkov, off-line medij za
prenos podatkov z enega sistema na drugiprenos podatkov z enega sistema na drugi TračniTračni jukeboxes jukeboxes – uporabljajo jih za hranjenje ogromnih količin – uporabljajo jih za hranjenje ogromnih količin
podatkov (TB /PB)podatkov (TB /PB) Odpornost na različne okoljske pogoje (?)Odpornost na različne okoljske pogoje (?)
trak
Bralno/pisalna glava
DelovanjDelovanje - e - podobno podobno kasetnikkasetnikuu
1616
Primer 1: Unylogix - Primer 1: Unylogix - SAIT - UNSA-SAIT - UNSA-13001300
Format: Super Advanced Intelligent Tape (S-AIT)Storage
Kapaciteta:
500 GB uncompressed storage capacity / 1.3 TB compressed capacity per tape
Data Transfer Rate:
30 MB/sec uncompressed/78 MB/sec compressed
1717
Arhitektura generičnega jukebox-a z Arhitektura generičnega jukebox-a z enim robotom in 4 tračnimi enotamienim robotom in 4 tračnimi enotami
1818
Primer 2: Unylogix T950 Primer 2: Unylogix T950 jukeboxjukebox
Kapaciteta: do 8 PB (S-Kapaciteta: do 8 PB (S-AIT)AIT)
Od 100 do 6150 trakov Od 100 do 6150 trakov (cartridges)(cartridges)
1919
Primer 3: StorageTek L5500 tabe Primer 3: StorageTek L5500 tabe librarylibrary
Število trakov 1500 – 5500 / library
Kapaciteta 1680 TB – 26400TB
Prepustnost (through per hour): 5.5 TB/hr 103.7 TB/hr
2020
Zapisovanje na magnetni trakZapisovanje na magnetni trak Podatki - najpogosteje shranjeni v 9-bitnih tokovih imenovanih Podatki - najpogosteje shranjeni v 9-bitnih tokovih imenovanih (sled)(sled)
Vsaka sled je zaporedje bitovVsaka sled je zaporedje bitov Gostota zapisovanja = število bitov / inč (bpi) Gostota zapisovanja = število bitov / inč (bpi) // značilno 800 – 1600 bpi, // značilno 800 – 1600 bpi,
lahko tudi 30000bpilahko tudi 30000bpi
Tudi pri trakovih se uporablja RAIT tehnologija (striping)Tudi pri trakovih se uporablja RAIT tehnologija (striping)
…
½”
011011010
011011010
011011010
011011010
… …… …
…
paritetni bit
8 bit = 1 byte
2121
Magnetni trak - organizacijaMagnetni trak - organizacija
…
2400’
Logični zapis
BOT marker
Blok - glava(opisuje bloke podatkov)
Bloki podatkov Presledek med bloki (za pospeševanje / upočasnjevanje traku)
EOT marker
2222
Podatkovni bloki in zapisiPodatkovni bloki in zapisi Vsak podatkovni blok predstavlja zaporedje nepretrganih Vsak podatkovni blok predstavlja zaporedje nepretrganih
zapisov.zapisov. Zapis = enota podatkov, s katero operira aplikacija.Zapis = enota podatkov, s katero operira aplikacija. Enota za magnetni trak bere celotne bloke zapisov na enkrat.Enota za magnetni trak bere celotne bloke zapisov na enkrat. Za razliko od diskov, magnetni trak se začne obračati in se Za razliko od diskov, magnetni trak se začne obračati in se
tudi ustavi.tudi ustavi. Ko se magnetni trak ustavi, se bralno/pisalna glava nahaja Ko se magnetni trak ustavi, se bralno/pisalna glava nahaja
nad presledkom med dvema podatkovnima blokoma.nad presledkom med dvema podatkovnima blokoma.
2323
Dostop do fizične datotekeDostop do fizične datoteke
StališStališčeče SUPB SUPB: : – fizifiziččna datoteka na datoteka je je sestavljena iz sestavljena iz urejene mnourejene množžice enako ice enako
velikih fizivelikih fiziččnih blokovnih blokov– vsakemu bloku pripvsakemu bloku pripaada enolida enoliččna oznaka - številka na oznaka - številka
fizifiziččnega blokanega bloka– vvelikost felikost fiiziziččnih blokov je odvisna od predvidene uporabe nih blokov je odvisna od predvidene uporabe
datotekedatoteke– žželelja: ja: ččimim hitrejši dostop do celotnega blokahitrejši dostop do celotnega bloka
ččee sizeof(blok) > sizeof(sektor) sizeof(blok) > sizeof(sektor) vsi sektorji na istem cilindru vsi sektorji na istem cilindrumajhni bloki majhni bloki vsebovani v eni dodelitveni enoti vsebovani v eni dodelitveni enotivelikost bloka vpliva tudi na čas, potreben za velikost bloka vpliva tudi na čas, potreben za
branje/zapisovanjebranje/zapisovanje
Fizično datoteko obravnava SUPB drugače kot OS!!!!
2424
Datotečni vmesnikDatotečni vmesnikFiziFiziččni blok je dostopen SUPB-ju ni blok je dostopen SUPB-ju ((za branjeza branje//aažžuriranjeuriranje) še) šele takrat, ko se le takrat, ko se nahaja v notranjem pomnilniku. nahaja v notranjem pomnilniku.
• VVsaki datoteki saki datoteki je v je v notranjem pomnilniku dodeljeno notranjem pomnilniku dodeljeno (vsaj eno) (vsaj eno) polje v velikostpolje v velikostii fizifiziččnega blokanega bloka t.i.t.i. datotedatoteččni vmesnik ni vmesnik (file buffer)(file buffer)
• OS opravlja OS opravlja prepisovanje med fiziprepisovanje med fiziččnimi bloki in sektorji na diskunimi bloki in sektorji na disku
• Za vsako operacijo branja ali pisanja v datoteko Za vsako operacijo branja ali pisanja v datoteko mora SUPB posredovati mora SUPB posredovati operacijskemu sistemu:operacijskemu sistemu:
• vrsto operacije + ime diskovnega pomnilnikavrsto operacije + ime diskovnega pomnilnika + + ime datotekeime datoteke + + zaporedno številko fizičnega bloka v datoteki.zaporedno številko fizičnega bloka v datoteki.
Sekundarni pomnilnik
(disk)
buffer Program
Prenos podaktov po blokih
Začasno hranjenje bloka fizičnih podatkov v glavnem pomnilniku (RAM)
Prenos podatkov po zapisih
2525
Posebnost kreiranja Posebnost kreiranja datotekedatoteke
KlasiKlasiččni nani naččinindatoteka se formira hkrati s pisanjem podatkov in pri tem zasede natanko datoteka se formira hkrati s pisanjem podatkov in pri tem zasede natanko toliko dodelitvenih enot, kolikor jih je potrebnih za izpisane podatketoliko dodelitvenih enot, kolikor jih je potrebnih za izpisane podatke
SUPBSUPBdatotekadatoteka se se kreira vnaprejkreira vnaprej z izpisom doloz izpisom določčenega števila praznih enega števila praznih fizifiziččnih blokovnih blokov ((nnee vsebujejo podatkov, so pa ustrezno inicializirani vsebujejo podatkov, so pa ustrezno inicializirani))kasneje kasneje se se fizifiziččna datotekana datoteka lahko lahko razširi z novimi dodelitvenimi enotami ( to razširi z novimi dodelitvenimi enotami ( to se izvede z dodajanjem dodelitvenih enot na konec datoteke).se izvede z dodajanjem dodelitvenih enot na konec datoteke).