Fizikai tárolás szervezése

Slides:



Advertisements
Hasonló előadás
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Advertisements

Hardver eszközök II. rész
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
Adatbázis-kezelés.
RAID (Redundant Array of Independent/Inexpensive Disks) Független/Olcsó lemezek redundáns tömbje.
Külső memóriák.. 1.Hard Disk  Egy számitástechnikai adattároló berendezés. Az adatokat kettes számrendszerben tárolja.  Az adatokat mágnesezhető réteggel.
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
A DBMS fő feladatai: - adatstruktúra (adatbázisséma) definiálása,
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Indexelés Célok: gyors lekérdezés, gyors adatmódosítás,
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Adatbázis-kezelés.
KOVÁCS DÁVID. ALAPFOGALMAK Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az.
5. TÉTEL. Helyzetfelmérés: A feladat elvégzéséhez tudnunk kell, hogy mi a kiinduló állapot, és mit szeretnénk elérni, vagyis mi a cél. A nem rég indított.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Adatbázis rendszerek II.
A memória.
az MSAccess programmal
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Számítógép memória jellemzői
Merevlemezek tegnap, ma, holnap Számítógépes Alapismeretek – I. Beadandó Dolgozat Bóta Balázs (BOBSAAI.ELTE) ELTE-IK (2010)
Operációs Rendszerek II.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
RAID lemezek (Redundant Array of Independent or Inexpensive Disks)
Térkép. Mi az adat? Minden információ, amit tárolni kell. Minden információ, amit tárolni kell.  szám  szöveg  dátum  hang  kép, stb.
Adatbázisrendszerek világa
1 Informatikai Szakképzési Portál Adatbázis kezelés Alapfogalmak.
DDL – Adatdefiníciós nyelv
Adatszerkezetek 1. előadás
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel
Készítette: Tóth Ervin
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
Háttértárak és adathordozók
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Adatbázis kezelés.
Adatbázis-kezelés Probléma: az excel kezelhetetlen túl sok adat esetén
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Adatbázisok tervezése, megvalósítása és menedzselése
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
BFák Kiegyensúlyozott keresőfák Hatékonyság: O(lg(n)), de a nagy fokszám miatt igen alacsony szorzótényezővel Alkalmazás: Lemezen tárolt adatbázisoknál.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Háttértárak.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Merevlemezek tegnap, ma, holnap. Bevezetés Számítógépünk alapvető alkatrésze Hosszú távú adattárolás Régebben kis méret, lassú működés Manapság nagy méret,
Írja fel a tizes számrendszerbeli
Egy lekérdezés végrehajtása SELECT o1 FROM T1 WHERE o2 = … Hogyan jutnak el a megfelelő sorokból a mező értékei a klienshez?
Memória példák Feladat Egy számítógép rendszermemóriája egycsatornás, 64 bites adategységekkel rendelkező DDR1-DRAM-ra épül, melyben a burst.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Lekérdezések feldolgozása és optimalizálása. Haladó adatbázisokLekérdezések feldolgozása és optimalizálása2 Definíciók Lekérdezés feldolgozása –lekérdezés.
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Adatok tárolása. Tárolók Félvezető tárak RAM Operatív tár Cache tár Regiszterek CMOS RAM ROM BIOS Mágnestárak Mágneslemez Hajlékony lemez Merevlemez MágnesszalagMágneskártya.
Háttértárak.
Háttértárak.
nagy tárterület létrehozása teljesítménynövelés
Adatbázisok tervezése, megvalósítása és menedzselése
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Adatbázis-kezelés 2. Relációs adatbázisok.
Memória példák 2019.
Cache példák 2019 (IMSC).
Előadás másolata:

Fizikai tárolás szervezése

Fizikai tárolás szervezése Vázlat Hol és hogyan tároljuk az adatokat? fizikai szint logikai szint Haladó adatbázisok Fizikai tárolás szervezése

Adatbázis megalkotása: Magas szint Tervezzük meg a fogalmi sémát valamilyen adatmodellel, pl. ER, UML, stb. Egy hallgató milyen tárgyakat vesz fel: student takes course name cid 1:N 0:N Haladó adatbázisok Fizikai tárolás szervezése

Adatbázis megalkotása: Logikai szint Tervezzük meg a logikai sémát, pl. relációs, hálózatos, hierarchikus, objektum-relációs, XML stb. sémákat Adatdefiníciós nyelv (DDL) CREATE TABLE student (cid char(8) primary key,name varchar(32)) show example in psql \d \d student student cid name Haladó adatbázisok Fizikai tárolás szervezése

Adatbázis feltöltése INSERT INTO student VALUES (‘00112233’, ‘Paul’) Adatmanipulációs nyelv (DML) INSERT INTO student VALUES (‘00112233’, ‘Paul’) student cid name 00112233 Paul Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Tranzakció műveletek Tranzakció: olyan műveletek gyűjteménye, amelyek egy logikai műveletet végeznek el Tranzakció közben bekövetkező hiba inkonzisztens állapotban hagyhatja a rendszert, pl. bankszámlák közti átutaláskor BEGIN TRANSACTION transfer UPDATE bank-account SET balance = balance - 100 WHERE account=1 UPDATE bank-account SET balance = balance + 100 WHERE account=2 COMMIT TRANSACTION transfer Haladó adatbázisok Fizikai tárolás szervezése

Hol és Hogyan tároljuk ezeket az adatokat? Metaadatok: táblák, mezők, adattípusok, megszorítások stb. Adatok: rekordok Tranzakciónaplók, indexek stb. Haladó adatbázisok Fizikai tárolás szervezése

Hol: központi memóriában? Gyors! De: Túl kicsi Túl drága Felejtő Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolóegységek Elsődleges tárak Gyorsítótár Központi memória Másodlagos tárak Flash memória Mágneslemez Külső tárak Optikai lemez Mágnesszalag gyorsítótár központi memória flash memória mágneslemez optikai lemez mágnesszalag - the higher the faster and more expensive Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Mágneslemezek Tetszőleges elérés Olcsó Nem felejtő sáv szektor cilinder korong forgás kar tengely vezérlő író-olvasó fej Haladó adatbázisok Fizikai tárolás szervezése

Hogyan működnek a lemezek? Korong: mágneses tároló réteggel borított Sáv: a korongfelület logikai felosztása Szektor: sáv hardver általi felosztása Blokk: sáv OS általi felosztása Tipikus blokkméretek: 512 B, 2kB, 4kB Író/olvasó fej sáv szektor cilinder korong forgás kar tengely vezérlő író-olvasó fej Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Lemez I/O Lemez I/O := blokk I/O A hardvercím átalakítása cilinder, felület és szektor számmá Modern lemezek: Logikai Szektor Cím 0...n Elérési idő: az olvasási/írási kérelem és az adatátvitel kezdete között eltelt idő Keresési idő: a fej eléri a megfelelő sávot Átlagos keresési idő: 5-10 ms Forgási késés: befordul a megfelelő blokk a fej alá 5400 f/p, 15k f/p Átlagosan 4-11 ms Blokkátviteli idő sáv szektor cilinder korong forgás kar tengely vezérlő író-olvasó fej Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése I/O optimalizálása Adatbázisrendszer teljesítménye az I/O-hoz kötött Javítsunk a lemezelérési sebességen: Ütemező algoritmusok Fájlszervezés Vezessünk be lemez redundanciát Olcsó lemezek redundáns tömbje (RAID) Csökkentsük az I/O-k számát Lekérdezés optimalizálása, indexek elevator scheduling algorithm Keep logical close blocks physically close Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Egy rövid gyakorlat Vegyünk egy lemezt az alábbi jellemzőkkel: 10 korong 20k sáv felületenként 400 szektor/sáv (átlagosan) 512 B szektorméret forgási sebesség 10000 f/p átlagos keresési idő: 7 ms Mi a lemez mérete? Mi a lemezelérés ideje mindkét esetben? nagy 32kB olvasás 4 véletlenszerű olvasás, egyenként 8kB Hogyan ütemezzük az olvasásokat, hogy csökkentsük az elérési időt? a fej a 15k. sávon, olvasások sorrendje: 10k., 5k., 15k., 20k. feltéve: átlagos keresési idő = a fej 10k sávnyit mozdul example of random accesses example of scheduling head Haladó adatbázisok Fizikai tárolás szervezése

Hol és Hogyan tároljuk ezeket az adatokat? Metaadatok: táblák, mezők, adattípusok, megszorítások stb. Adatok: rekordok Tranzakciónaplók, indexek stb. Fájlok gyűjteménye Fizikailag partícionálva lapokra Logikailag partícionálva rekordokra Example in postgres in iBook Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Tároló elérése Fájlok gyűjteménye Fizikailag lapokra partícionálva Tipikus adatbázis lapméretek: 2kB, 4kB, 8kB Csökkentsük a blokk I/O-k számát := csökkentsük a lap I/O-k számát Hogyan? Pufferkezelő Before we introduce buffer management, an exercise Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Rövid gyakorlat Hogyan válasszuk a lapméretet? lapméret < blokkméret lapméret = blokkméret lapméret > blokkméret Will have to do with different page and block sizes: what if page size < block size = block size > block size (1) multiple of block size (2) irregular Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Pufferkezelés (1/2) Puffer: egy lap másolatát tárolja Pufferkezelő: egy készletnyi puffert kezel A kért lap benne van a készletben: találat! A kért lap a lemezen van: Lefoglalunk egy lapkeretet Beolvassuk a lapot és rögzítjük Problémák? Lapkérés Lapkérés pufferkészlet lemez Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Pufferkezelés (2/2) Mi van, ha nincs üres lapkeret? Kiválasztjuk a feláldozandó lapot Minden laphoz van egy piszkos (dirty) jelző Ha a kiválasztott lap piszkos, visszaírjuk a lemezre Melyik lapot válasszuk? Cserélési szabályok (LRU, MRU) Lapkérés pufferkészlet Replacement policies similar to OS page replacement policies, eg: Least Recently Used pages Most Recently Used Could have a short exercise lemez Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Gyakorlat puffer 10 keret A tábla 15 lap B tábla 9 lap A x B hány olvasás? legrégebben használt (LRU) legújabban használt (MRU) Replacement policies Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Lemeztömbök Egyetlen lemez torlódást okoz Lemeztömbök egyetlen nagy lemez helyett sok kicsi párhuzamos lemez N blokkot olvasunk egy elérési idő alatt párhuzamos lekérdezések több lemezt elfoglaló táblák Olcsó lemezek redundáns tömbje (RAID) 7 szint megbízhatóság redundancia párhuzamosság Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID 0. szint Blokkszintű csíkozás Nincs redundancia Maximális sávszélesség automatikus terheléselosztás legjobb írási teljesítmény viszont nem megbízható 1 2 3 4 5 1.lemez 2. lemez 3. lemez 4. lemez Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID 1. szint Tükrözés Két megegyező példány tárolása két különböző lemezen Párhuzamos olvasások Szekvenciális írás átviteli sebesség hasonló egyetlen lemezéhez legdrágább megoldás 2 2 1 1 1. lemez 2. lemez 1. lemez tükrözése 3. lemez 4. lemez 3. lemez tükrözése Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID 2. és 3. szint bitcsíkozás hibafelismerés és -javítás RAID 2 hibajavító kód (ECC) kicsit olcsóbb, mint az 1. szint RAID 3 RAID 2 továbbfejlesztése blokkonként 1 paritásbittel hibafelismerés a lemezvezérlőben RAID 4 magába foglalja a RAID 3-at Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID 4. szint blokkszintű csíkozás paritásblokk az adatlemezek minden blokkjához P1 = B0 XOR B1 XOR B2 B2 = B0 XOR B1 XOR P1 egy frissítés: P1’ = B0’ XOR B0 XOR P1 B0 B1 B2 P1 1. lemez 2. lemez 3. lemez 4. lemez Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID 5. és 6. szint magába foglalja a RAID 4-et a paritáslemez nem torlódási pont a paritásblokkok szétosztva a lemezek között RAID 6 két lemezhibát eltűr P+Q redundanciaséma 2 bit redundáns adat minden 4 bit adathoz drágább írások BM B1 B0 PX’ B2 P1 PN BY’ PX BY 1. lemez 2. lemez 3. lemez 4. lemez Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése RAID Összefoglalás A 2. és 3. szintet nem használják magába foglalja a blokkszintű csíkozásos változat A 4. szintet magába foglalja az 5. szint A 6. szint nagyon gyakran felesleges megalkuvás a teljesítmény és a tárolás között a kívánt alkalmazástól függ Haladó adatbázisok Fizikai tárolás szervezése

Mit tartalmaznak logikailag a lapok? Fájlok: Fizikailag lapokra partícionálva Logikailag rekordokra partícionálva Minden fájl rekordok sorozata Minden rekord mezők sorozata student cid name 00112233 Paul 00112233 Paul hallgató rekord: 8 + 4 = 12 bájt Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Fájlszervezés Kupac (heap) fájlok: rendezetlen rekordok Rendezett fájlok: rendezett rekordok Hasított fájlok: a rekordok edényekbe (bucket) partícionálva Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Kupac fájlok Legegyszerűbb fájlszerkezet Hatékony beszúrás Lassú keresés és törlés Egyenlőségi keresés: átlagosan a lapok felét kell beolvasni Intervallum keresés: minden lapot be kell olvasni fájl fejléc Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Rendezett fájlok A rekordok a rendező mező szerint rendezettek Ha a rendező mező ugyanaz, mint a kulcs: rendező kulcsmező Lassú beszúrás és törlés Gyors logaritmikus keresés 1. lap 2. lap fájl eleje beszúrás 1. lap 2. lap fájl eleje Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Hasított fájlok A h hasítómezőn értemezett függvény edényekre osztja a rekordokat 80% foglaltság Hatékony egyenlőségi keresés, beszúrás és törlés Nem támogatja az intervallumos keresést null hasítómező h … Túlcsordulási lap Haladó adatbázisok Fizikai tárolás szervezése

Költség-összehasonlítás Keresési idő Egyenlőségi keresés Intervallumos keresés Beszúrás Törlés Költség-összehasonlítás B lap D egy lap olvasási/írási ideje kupac fájlok rendezett fájlok hasított fájlok feltéve, hogy 80%-os a telítettség, nincs túlcsordulási lap Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Lapszervezés Hallgató rekord mérete: 12 bájt Tipikus lapméret: 2 kB Rekordazonosítók: <Lapazonosító, eltolás> Hogyan osszuk el a rekordokat lapokra: Átnyúlás nélküli szervezés Blokkolási tényező = Átnyúlásos szervezés q1: what if large records (over a single page)? Q2: what if large records, BLOBs (over multiple pages)? i. lap i+1. lap i. lap i+1. lap átnyúlás nélküli átnyúlásos Haladó adatbázisok Fizikai tárolás szervezése

Mi van, ha törlünk egy rekordot? A rekordok típusától függően: Fix hosszú rekordok Változó hosszú rekordok Which is the easiest one and why? Haladó adatbázisok Fizikai tárolás szervezése

Fix hosszú rekord fájlok Rekord törlésekor: Laptömörítési séma Bittérkép 1. hely 2. hely N. hely Lapfejléc ... N Szabad hely ... N-1 N ... M. hely N. hely 2. hely 1. hely Bittérkép 1 2 M Problem with packed scheme, RID do not change But you can’t store a sorted file on bitmap 1 Tömörítés Haladó adatbázisok Fizikai tárolás szervezése

Változó hosszú rekord fájlok Mikor van változó hosszú rekord fájlunk? egy fájl több tábla rekordjait tartalmazza create table t (field1 int, field2 text[]) Problémák: A törlés után maradó lyukak mérete változó Elég nagy helyet kell keresni rekord beszúrásakor Az előző megoldások használhatóak: maximális rekordméret sok helyet pazarol Réses (slot) lapszerkezet Résjegyzék (Slot directory) Minden rés kezdőcíme, rekordmérete Rekord ID: lapszám, résszám N ... 38 2 1 16 32 So in this case record IDs are still valid when record’s moved Slots are not removed, but scanned Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Rekordszervezés Fix hosszú rekordformátumok Mezők tárolása folytonosan Változó hosszú rekordformátumok Eltolások tömbje NULL értékek, ha kezdő eltolás = vég eltolás f1 f2 f3 f4 Kezdőcím (B) L1 L2 L3 L4 f3 címe = B+L1+L2 Where are the number of fields and data types stored? Record that grows moves subsequent fields f1 f2 f3 f4 Kezdőcím (B) Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Összefoglalás (1/2) Minek a fizikai tárolás szervezése? értsük meg az alacsony szintű részleteket, amelyek hatással vannak az adatelérésre tegyük hatékonyabbá az adatelérést Elsődleges tárak, másodlagos tárak a memória gyors a lemez lassú, de nem felejtő Az adatokat fájlban tároljuk fizikailag lapokra partícionálva logikailag rekordokra partícionálva I/O optimalizálása ütemező algoritmusok RAID lapcserélési stratégiák Haladó adatbázisok Fizikai tárolás szervezése

Fizikai tárolás szervezése Összefoglalás (2/2) Fájlszervezés mennyire hatékonyak az egyes fájltípusok Lapszervezés stratégiák a rekordtörlésre Rekordszervezés Haladó adatbázisok Fizikai tárolás szervezése