1/98
Adatbázis 2 Vizsga
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Mit nevezünk felejtő és nem felejtő tárolónak?
Felejtő (volatile): Kikapcsoláskor elveszíti tartalmát, gyors, random elérés (pl. RAM). Nem felejtő (non-volatile): Megőrzi az adatot áram nélkül is, lassabb (pl. HDD, SSD).
Mi az a RAID?
Redundant Arrays of Independent Disks. Több lemez használata egy helyett a teljesítmény (IO) javítása és/vagy a hibatűrés (megbízhatóság) növelése érdekében.
Mit nevezünk puffernek?
Az ABKR által használt elkülönített memóriaterület az adatok ideiglenes tárolására. Célja a lassú lemezműveletek minimalizálása és az elérés gyorsítása.
Mi az a lapcsere (lapozás, paging)?
Amikor egy új blokkot kell beolvasni a lemezről, de a pufferkészlet tele van. A rendszer kiválaszt egy meglévő lapot (pl. LRU algoritmussal), amit eldob vagy kiír, hogy helyet csináljon.
Mit nevezünk piszkos puffernek?
Olyan memóriablokk a pufferben, amelynek tartalmát módosították, de a módosítás még nem íródott ki a lemezre. ("Dirty flag" jelzi).
Milyen fájlszervezési módok vannak?
Kupac (Heap), Rendezett (Sorted), Hasított (Hashed), Fa-struktúra alapú.
Mit jelent a kupac fájlszervezés?
Rendezetlen blokkok kollekciója. Beszúrás gyors (bárhova), keresés lassú (mindent át kell nézni).
Mit jelent a rendezett fájlszervezés?
A rekordok egy mező szerint rendezve vannak. Keresés gyors (bináris), módosítás lassú (adatmozgatás).
Mi az a memóriahozzáférés igazítás (word-aligment)?
Adatok igazítása a CPU szóméretéhez (pl. 4/8 bájt) a gyorsabb elérés érdekében (pl. padding-gel).
Milyen céljaink vannak a fájlszervezés kiválasztásánál?
Gyors lekérdezés, 2. Gyors adatmódosítás, 3. Kis tárolási terület.
Mit nevezünk egyenletességi feltételnek a lekérdezések esetén?
A feltételezést, hogy a keresési feltételnek eleget tévő rekordok száma nagyjából egyforma, függetlenül a keresett értéktől.
Milyen algoritmussal kereshetünk rendezett állományban?
Bináris kereséssel (logaritmikus idő).
Milyen hasításokat különböztetünk meg a kosarak száma szerint?
Statikus (fix kosárszám) és Dinamikus (változó kosárszám).
Mit nevezünk statikus hasításnak?
Olyan hasítást, ahol a kosarak száma előre adott és nem változik.
Mit nevezünk dinamikus hasításnak?
Olyan hasítást, ahol a kosarak száma változhat (nőhet/csökkenhet) az adatmennyiségtől függően.
Milyen dinamikus hasításokat ismerünk?
Kiterjeszthető hasítás (Extendible hashing) és Lineáris hasítás (Linear hashing).
Milyen szempontok alapján kell hasító függvényt választanunk?
Legyen gyors és legyen alacsony az ütközések aránya (egyenletes eloszlás).
Mikor jó egy hasító függvény és ilyenkor milyen hosszúak a blokkláncok?
Ha egyenletesen osztja el a rekordokat. A láncok hossza kb. B/K (Blokkok/Kosarak).
Ha túl nagynak választjuk K-t hasításkor, akkor ez milyen problémát okozhat?
Tárhelypazarlást, mert sok kosár üres vagy majdnem üres marad.
Milyen keresésre nem jó a hasító indexelés?
Intervallum keresésre (tartomány lekérdezés), mert nem őrzi meg a sorrendet.
Lineáris hasító index esetén mikor nyitunk meg új kosarat?
Amikor a rekordok száma átlép egy megadott arányt (küszöbértéket) a kosarak számához képest.
Mire használhatjuk a hasító táblákat az adatbázisban?
Indexstruktúraként, belső metaadatokhoz (laptábla), és temporális struktúraként (hash join).
Mit nevezünk elsődleges indexnek?
Olyan index, ahol a fájl rendezett a keresési kulcs alapján (csak egy lehet).
Mit nevezünk másodlagos indexnek?
Olyan index, ahol a főfájl nem rendezett a keresési kulcs szerint (több is lehet).
Mit nevezünk sűrű indexnek?
Minden keresési kulcshoz (rekordhoz) tartozik indexbejegyzés.
Mit nevezünk ritka indexnek?
Csak a blokkokhoz (pl. az első rekordjukhoz) tartozik indexbejegyzés.
Mit hívunk fedőértéknek?
Ritka index keresésnél a legnagyobb olyan indexértéket, amely <= a keresett értéknél.
Mit nevezünk többszintű indexnek?
Amikor az indexfájlt is indexeljük, mert nem fér a memóriába.
Mit jelent a B+ fában a „B”?
Kiegyensúlyozott (Balanced) fa (minden út a gyökértől a levélig egyforma).
Hány kulcsot és mutatót tartalmaz egy B+ fa csúcs?
Legfeljebb n kulcsot és n+1 mutatót.
Hogyan érdemes tárolni az ismétlődő értékeket a B+ fában?
Egyedi azonosító hozzáfűzésével a kulcshoz.
Milyen költséget veszünk figyelembe a fizikai operátorok esetén?
Lemez I/O költséget (műveleti költség és output méret).
Milyen relációs algebrai műveleteket vezethetünk vissza rendezésre?
Pi distinct, unió, metszet, különbség
A rendezés milyen két fajtáját különböztetjük meg?
Belső (memóriában elfér) és Külső (lemezre írást igényel).
Mennyi a belső rendezés IO költsége?
2 * B_R (Egyszeri beolvasás + egyszeri kiírás).
Külső összefésülő rendezésnél mit csinál a rendezési (sort) lépés?
Blokkokat olvas be a memóriába (amennyi befér), rendezi őket, majd kiírja őket futamokként (fájlokként) a lemezre.
Külső összefésülő rendezésnél mit csinál az összevonási (merge) lépés?
A rendezett futamokat olvassa be és fésüli össze egyetlen rendezett kimenetté.
Külső összefésülő rendezéskor mikor kell több menetben végezni az összevonási lépést?
Ha a futamok száma nagyobb, mint a rendelkezésre álló memóriapufferek száma (N > M).
A vetítés milyen három lépés megvalósításából áll?
Felesleges mezők törlése, 2. Rendezés (az összes megmaradt oszlop szerint), 3. Duplikált rekordok törlése.
Az összekapcsolásoknak milyen megvalósításait használjuk (5 algoritmus)?
Simple Nested-loop, Block Nested-loop, Index Nested-loop, Sort-merge join, Hash join.
Az összekapcsolásoknál melyik táblát választjuk külső táblának általában?
A kisebb relációt (hogy minél több blokkja elférjen a memóriában).
Milyen esetekben érdemes a sort-merge összekapcsolást használni?
Ha a táblák már rendezettek, ha a kimenetet rendezni kell, vagy egyenlőség alapú/természetes összekapcsolásnál.
Milyen típusú összekapcsolásokra nem használható a hash-join?
Nem egyenlőség alapú (pl.
Mi a lekérdezések optimalizálásának a célja és miket használunk fel ehhez?
Cél: gyorsítás. Eszközök: tábla paraméterek/statisztikák, indexek, heurisztikák.
Mi az a relációs algebrai kifejezésfa?
A lekérdezés logikai tervének gráfos ábrázolása (levelek: relációk, csúcsok: műveletek).
Milyen költségmodellt használunk relációs algebrai optimalizálás esetében?
A részkifejezések (keletkező köztes relációk) becsült méretét.
Milyen módszert használ a szabály alapú (relációs) optimalizáció?
Ekvivalens átalakításokat alkalmaz a kifejezésfán a műveleti tulajdonságok alapján.
Miért mondjuk, hogy az eljárás heurisztikus relációs algebrai optimalizálás esetén?
Mert nem a valódi méretekkel számol, hanem általános szabályokkal (becslésekkel).
Miért nem egyértelmű az eredmény relációs algebrai optimalizálás esetén?
Mert az átalakítások sorrendje nem kötött (nem determinisztikus).
A relációs algebrai kifejezésfában melyek az unáris csúcsok?
Az egy operandummal rendelkező műveletek: Kiválasztás (sigma), Vetítés (pi), Átnevezés (rho).
A relációs algebrai kifejezésfában melyek a bináris csúcsok?
A két gyerekkel (operandussal) rendelkező műveletek: Különbség, Unió, Szorzat, Összekapcsolás.
A relációs algebrai kifejezésfában mik a levélcsúcsok?
A relációk (táblák) vagy konstans relációk.
Mik azok a relációs algebrai ekvivalencia szabályok?
Állítások, amelyek kimondják, hogy két különböző kifejezés ekvivalens (ugyanazt az eredményt adják).
Miért érdemes hamarabb szelektálni relációs algebrai optimalizálás esetén?
Hogy a köztes eredmények (részkifejezések) kisebb méretűek legyenek.
Miért érdemes természetes összekapcsolásokat képezni szorzások helyett?
Mert a join hatékonyabban számolható, mint a Descartes-szorzat utáni szűrés.
Miért érdemes az unáris műveletek összevonni relációs algebrai optimalizálás esetén?
Mert így csökken a végrehajtandó műveletek száma.
Miért érdemes a közös részkifejezéseket megkeresni relációs algebrai optimalizálás esetén?
Mert így elég őket egyszer kiszámolni.
Hogyan néz ki a bal-mély összekapcsolási fa?
A jobb oldali ágon mindig alap reláció van, a bal oldali ág mélyül (az eredményeket kapcsolja tovább).
Hogyan néz ki a bozótszerű összekapcsolási fa?
Mindkét ág tartalmazhat összetett műveleteket (eredmény relációk összekapcsolását).
Milyen típusú összekapcsolási fákat érdemes vizsgálni?
Általában a bal-mély fákat (left-deep trees).
Mit nevezünk az adatbázisban tranzakciónak?
Logikai egységet alkotó olvasás/írás utasítássorozat, melynek van kezdete és vége.
Mi az ACID betűszó egyes betűinek a jelentése?
Atomicity, Consistency, Isolation, Durability.
Mit jelent a tranzakció ACID-ból az A-hoz tartozó tulajdonsága?
Atomicity: Mindent vagy semmit elv (teljesen lefut vagy sehogy).
Mit jelent a tranzakció ACID-ból az C-hez tartozó tulajdonsága?
Consistency: A tranzakció megőrzi az adatbázis konzisztenciáját (megszorításokat).
Mit jelent a tranzakció ACID-ból az I-hez tartozó tulajdonsága?
Isolation: A tranzakciók elszigetelten futnak, mintha egyedül lennének (nem zavarják egymást).
Mit jelent a tranzakció ACID-ból az D-hez tartozó tulajdonsága?
Durability (Tartósság): A befejezett tranzakciók hatása nem veszhet el (még hiba esetén sem).
A tranzakciók melyik tulajdonságát biztosítja a naplózás?
Atomicity (Atomosság) és Durability (Tartósság).
A tranzakciók melyik tulajdonságát biztosítja a konkurenciakezelés?
Isolation (Izoláció/Elkülönítés).
Milyen típusú hibák fordulhatnak elő?
Tranzakcióhiba, rendszerhiba, médiahiba
Mit tekinthetünk adatbáziselemnek?
Relációt, rekordot vagy blokkot (naplózásnál általában blokk).
A tranzakció és az adatbázis kölcsönhatásának milyen három fontos helyszíne van?
Lemezblokkok területe, Pufferkezelő memóriaterülete, Tranzakció lokális memóriája.
Mit jelent az INPUT(X) művelet?
Adatbáziselem (blokk) bemásolása a lemezről a pufferkészletbe.
Mit jelent az OUTPUT(X) művelet?
Adatbáziselem (puffer) kiírása a memóriából a lemezre.
Mit jelent a READ(X,t) művelet?
Adatbáziselem másolása a pufferből a tranzakció lokális változójába (t).
Mit jelent a WRITE(X,t) művelet?
A lokális változó (t) értékének beírása az adatbáziselem pufferben lévő másolatába.
Miből áll a napló?
Naplóbejegyzések sorozatából.
Milyen naplózási megközelítéseket ismerünk?
UNDO (Semmiségi), REDO (Helyrehozó), UNDO/REDO.
Mi az UNDO naplózás hátránya?
Gyakori lemezírás (COMMIT előtt mindent ki kell írni az adatbázisba).
Mi a REDO naplózás hátránya?
Nagy pufferigény (a módosításokat a COMMIT-ig a memóriában kell tartani).
Mit jelent a WAL elv?
Write-Ahead Logging: Előbb naplózunk, utána módosítunk a lemezen.
Milyen naplózást használ az Oracle?
Az UNDO és REDO naplózás speciális keverékét.
Mi a különbség az ARCHIVELOG és NOARCHIVELOG működés között?
ARCHIVELOG: készül másolat a betelt naplókról (teljes visszaállíthatóság). NOARCHIVELOG: a naplók felülíródnak (nincs teljes visszaállítás).
Mik azok a rollback szegmensek az Oracle adatbázisban?
Olyan területek, amelyek a módosított adatok régi értékeit tárolják (visszagörgetéshez).
Mit jelent a naplózás naplózása?
A rollback szegmensekbe történő írásokról (mivel az is adatbázis-módosítás) szintén készül bejegyzés a redo logba.
Milyen két típusa van az adatbázis mentésének?
Teljes mentés (Full dump) és Növekményes mentés (Incremental dump).
Mit hívunk ütemezésnek?
Egy vagy több tranzakció műveleteinek időrendi sorozatát.
Mit hívunk soros ütemezésnek?
Amikor a tranzakciók egymás után hajtódnak végre, a műveleteik nem keverednek.
Mi a soros ütemezés hátránya?
Lassú, mert a tranzakciók egymásra várnak, és nem lehet kihasználni a párhuzamosítást (pl. többmagos CPU).
Mikor konfliktus-ekvivalens két ütemezés?
Ha szomszédos, nem konfliktusos műveletek cseréjével az egyik átalakítható a másikká.
Milyen két megközelítése van az ütemezések sorbarendezhetőségének az elérésére?
Passzív módszer (utólag ellenőriz) és Aktív módszer (megakadályozza a bajt).
Az aktív módszer milyen eszközöket használhat a sorbarendezhetőség elérésére?
Zárak, Időbélyegek, Érvényesítés.
Mi az a holtpont?
Amikor tranzakciók egymásra várnak (körkörös várakozás), így egyik sem tud továbbhaladni. (Nincs a PDF-ben)
Milyen két megközelítése van a holtpont kezelésének?
Megelőzés (Prevention) és Felismerés/Feloldás (Detection/Recovery). (Nincs a PDF-ben)
Mit jelent az éhezés a tranzakciók esetén?
Amikor egy tranzakció hosszú ideig nem jut erőforráshoz (pl. mindig őt állítják le holtpontnál). (Nincs a PDF-ben)
Milyen típusú zárakat használunk többmódú zárolás esetén?
Osztott (Shared - S) olvasáshoz, és Kizárólagos (Exclusive - X) íráshoz. (Nincs a PDF-ben)
Milyen elemeit zárolhatjuk az adatbázisnak többféle szemcsézettségű zárral?
Adatbázis, Tábla, Lap (Blokk), Rekord. (Nincs a PDF-ben)
Mi az a nem ismételhető olvasás?
Amikor egy tranzakció kétszer olvassa ugyanazt az adatot, és közben az értéke megváltozik (másik tranzakció írta).
Mik azok a fantom sorok?
Tartomány lekérdezésnél megjelenő új sorok, amelyeket egy másik tranzakció szúrt be időközben. (Nincs a PDF-ben)
Milyen optimista módjai vannak a sorbarendezhetőség elérésének?
Az Érvényesítés (Validation) módszere.