<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ahhoj</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ahhoj"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Ahhoj"/>
	<updated>2026-05-17T06:20:03Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Adatb%C3%A1zisok_-_Fizikai_szervez%C3%A9s_gyakorlat&amp;diff=173047</id>
		<title>Adatbázisok - Fizikai szervezés gyakorlat</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatb%C3%A1zisok_-_Fizikai_szervez%C3%A9s_gyakorlat&amp;diff=173047"/>
		<updated>2013-11-17T14:20:10Z</updated>

		<summary type="html">&lt;p&gt;Ahhoj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az aktuális tematika és feladatsor elérhető a [https://www.db.bme.hu/targyak/adatbazisok/gyakorlatok/4-gyakorlat tárgyhonlapon].&lt;br /&gt;
&lt;br /&gt;
==Feladatok==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Egy 1000 rekordból álló állományt ritka index szervezéssel tárolunk. A rekordhossz 850 byte, egy blokk kapacitása (a fejrészt nem számítva) 4000 byte. A kulcs 50 byte-os, egy mutatóhoz 18 byte kell.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Hány rekord fér el egy blokkban?&#039;&#039;&#039;&lt;br /&gt;
** Blokkméret osztva rekordméret alsó egész része: &amp;lt;math&amp;gt; \lfloor 4000/850 \rfloor = 4 &amp;lt;/math&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Hány blokkot foglal el az index struktúra, és mennyit a teljes állomány?&#039;&#039;&#039;&lt;br /&gt;
** Egy blokkban 4 rekord fér el, ezért &amp;lt;math&amp;gt; \lceil 1000/4 \rceil = 250 &amp;lt;/math&amp;gt; blokk kell a rekordoknak. Ritka indexnél mindegyik rekordot tartalmazó blokkhoz kell egy pointer, és a blokk első rekordjának kulcsa, így 68 byte-os egységeket tárolunk, ebből egy blokkban elfér &amp;lt;math&amp;gt; \lfloor 4000/68 \rfloor = 58 &amp;lt;/math&amp;gt; darab, tehát mind a 250 blokkhoz tartozó kulcs-pointer párnak &amp;lt;math&amp;gt; \lceil 250/58 \rceil = 5 &amp;lt;/math&amp;gt; blokk kell. Így az indexstruktúra 5, a teljes állomány 255 blokkot foglal.&lt;br /&gt;
* &#039;&#039;&#039;Melyik szinten, melyik blokkokban és blokkok között követeljük meg a rendezettséget?&#039;&#039;&#039;&lt;br /&gt;
** Azt követeljük meg, hogy az indexállományban kulcs szerint növekvő sorrendben legyenek a kulcs-pointer párok (blokkon belül, és az egész állományban egyaránt). Valamint, mindegyik rekordot tartalmazó blokk csak olyan rekordokat tartalmazzon, amik a blokkra mutató pointerhez az indexben tartozó kulcs, és az indexben azt követő kulcs között van (pl. ha  egy egész szám a kulcs, és az index a 10, 33, 57, 91, 145 kulcsokat tartalmazza, akkor az 57-hez tartozó pointer által kijelölt blokkban minden rekord kulcsa 57-nél nagyobb egyenlő, és 91-nél kisebb legyen) Viszont a rekordokat blokkon belül nem fontos rendezetten tárolni, és a rekordok blokkjai sem kell, hogy sorrendben legyenek a háttértáron (elég, ha a rájuk mutató indexbejegyzések rendezve vannak).&lt;br /&gt;
* &#039;&#039;&#039;Mennyi ideig tart legfeljebb egy rekord tartalmának kiolvasása, ha feltételezzük, hogy az index struktúra már benne van az operatív tárban? (Egy blokkművelet ideje 5 ms).&#039;&#039;&#039;&lt;br /&gt;
** Az indexstruktúrából azonnal tudjuk, hogy melyik blokkot kell betöltenünk, tehát 5 ms.&lt;br /&gt;
* &#039;&#039;&#039;Mennyi ideig tart legfeljebb egy rekord tartalmának kiolvasása, ha az index struktúra nem fér el az operatív tárban?&#039;&#039;&#039;&lt;br /&gt;
** Először meg kell keresni a megfelelő indexbejegyzést. Bináris kereséssel legfeljebb &amp;lt;math&amp;gt; 1+\lfloor \log_2 k \rfloor &amp;lt;/math&amp;gt; blokk betöltésével (ahol k az index blokkjainak száma) megvan az indexállomány megfelelő blokkja, ezután már egy lépésben betölthető a rekord. Így összesen &amp;lt;math&amp;gt; 5 \text{ms}\cdot(1+1+\lfloor \log_2 5 \rfloor) = 20 \text{ms} &amp;lt;/math&amp;gt; alatt megvan a rekord.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Vödrös hash szervezéssel tárolunk egy állományt, melyben a rekordok száma 15000. Egy rekord hossza 120 byte, egy blokkba 4000 byte fér el, egy kulcs hossza 25 byte, a mutatóé 8 byte. A szervezést 10 vödörrel oldjuk meg. (Feltételezhetjük, hogy a hash függvény egyenletesen osztja el a kulcsokat.)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mekkora az átlagos vödörméret?&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;math&amp;gt; 15000 / 10 = 1500 &amp;lt;/math&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Mekkora diszkterület szükséges a teljes struktúra tárolásához (valódi méret, illetve felhasznált tárterület)?&#039;&#039;&#039;&lt;br /&gt;
** Egy blokkban a vödör következő blokkjára mutató pointeren kívül &amp;lt;math&amp;gt; \lfloor (4000-8)/120 \rfloor = 33 &amp;lt;/math&amp;gt; rekord fér el. Egy vödörbe 1500 rekord kerül, ehhez &amp;lt;math&amp;gt; \lceil 1500/33 \rceil = 46 &amp;lt;/math&amp;gt; blokk kell vödrönként, ez rekordtároláshoz összesen 460 blokk. A vödörben (az indexszel ellentétben) csak pointereket tárolunk, ez 80 byte, ami elfér egy blokkban. Tehát összesen kell 461 blokk, ami 1844000 byte felhasznált tárhely. Ami ebből ténylegesen hasznosítva van, az a 15000 rekord szorozva 120 byte-tal, plusz a 80 byte hash katalógus, ami 1800080 byte.&lt;br /&gt;
* &#039;&#039;&#039;Mennyi az átlagos rekordelérési idő, ha a blokkelérési idő 5 ms? (A keresés során a vödörkatalógust a memóriában tároljuk.)&#039;&#039;&#039;&lt;br /&gt;
** Miután kiszámítottuk a hash-t és a katalógusból kikerestül a vödör első blokkjának kezdőcímét, egy 46 blokkból álló vödrön kell lineáris keresést végeznünk, ez (elhanyagolva, hogy az utolsó blokk nincs teljesen tele) átlagosan (46 + 1) / 2 blokk olvasását, 117.5 ms-t igényel.&lt;br /&gt;
* &#039;&#039;&#039;Mekkora legyen a vödrök minimális száma, ha a keresés során átlagosan 5 blokkelérési idő alatt akarjuk megtalálni a keresett rekordot?&#039;&#039;&#039;&lt;br /&gt;
** Ekkor a vödörben lévő blokkok n számára &amp;lt;math&amp;gt; (n + 1) / 2 = 5 &amp;lt;/math&amp;gt; teljesül, tehát n = 9 blokk kerülhet legfeljebb egy vödörbe. Ebben a 9 blokkban legfeljebb &amp;lt;math&amp;gt; 9 \cdot 33 = 297 &amp;lt;/math&amp;gt; rekord fér el, és a vödrök k számára így &amp;lt;math&amp;gt; \lceil 15000/k \rceil \leq 297 &amp;lt;/math&amp;gt; teljesül, így &amp;lt;math&amp;gt; \lceil 15000/297 \rceil \leq k &amp;lt;/math&amp;gt;, vagyis &amp;lt;math&amp;gt; k \geq 51 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Egy 1000 rekordból álló állományt szeretnénk tárolni úgy, hogy két kulcs szerint is kereshető legyen. A rekordhossz 120 byte, egy blokk kapacitása (a fejrészt nem számítva) 1000 byte. A kulcs 50 byte-os, egy mutatóhoz 20 byte kell. Javasoljon tárolási eljárást a fenti problémára! Mekkora diszkterület szükséges a teljes struktúra tárolásához?&#039;&#039;&#039;&lt;br /&gt;
* A két kulcs szerinti kereshetőséghez kell két sűrű index, illetve mindkettő tetejére egy-egy ritka index. Az első sűrű index az első kulcs szerint lesz rendezve, a második a második szerint, így ha az első kulcs szerint akarunk keresni, az első ritka indexen és az első sűrű indexen keresztül tehetjük meg, a másiknál hasonlóan.&lt;br /&gt;
* Rekordból egy blokkban elfér &amp;lt;math&amp;gt; \lfloor 1000/120 \rfloor = 8 &amp;lt;/math&amp;gt;, ezért a rekordok tárolásához &amp;lt;math&amp;gt; \lceil 1000/8 \rceil=125 &amp;lt;/math&amp;gt; blokk kell. A sűrű index blokkjaiban egyenként &amp;lt;math&amp;gt; \lfloor 1000/70 \rfloor = 14 &amp;lt;/math&amp;gt; kulcs-mutató pár fér el, így egy sűrű indexhez &amp;lt;math&amp;gt; \lceil 1000/14 \rceil=72 &amp;lt;/math&amp;gt; blokk kell. A ritka index a sűrű index mindegyik blokkjához tartalmaz egy kulcs-mutató párt, így 72 bejegyzés van benne, ehhez kell &amp;lt;math&amp;gt; \lceil 72/14 \rceil=6 &amp;lt;/math&amp;gt; blokk. Mivel az állományt egyszer tároljuk, viszont van két sűrű, és két ritka indexünk, ezért összesen kell &amp;lt;math&amp;gt;125 + 2 \cdot 72 + 2 \cdot 6 = 281&amp;lt;/math&amp;gt; blokk, ami, ami 281000 byte tárhely.&lt;br /&gt;
&lt;br /&gt;
-- [[VargaNikolett|csacsiga]] - 2008.12.03.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Egy állományt kétféle szervezéssel tudunk tárolni: sűrű index, majd erre épített egyszintes ritkaindex vagy pedig hash algoritmussal. Az állományon néha intervallumkeresést is meg kell valósítani! Melyik szervezési módszert válasszuk? Adjon értelmes alsó becslést a szükséges blokkok számára az alábbi feltételek mellett:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;az állomány 3 000 000 rekordból áll&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy rekord hossza 300 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy blokk mérete 4000 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;a kulcshossz 45 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy mutató hossza 5 byte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Intervallumkeresést hash-sel nem lehet hatékonyan csinálni (mivel egy jó hash szétszórja a vödrökbe bármely intervallum elemeit), ezért ritka index kell.&lt;br /&gt;
* Rekordból egy blokkban elfér &amp;lt;math&amp;gt; \lfloor 4000/300 \rfloor = 13 &amp;lt;/math&amp;gt;, így a rekordoknak &amp;lt;math&amp;gt; \lceil 3000000/13 \rceil = 230770 &amp;lt;/math&amp;gt; blokk kell. A sűrű indexben 50 byteos kulcs-mutató párokat tárolunk, ebből elfér egy blokkban &amp;lt;math&amp;gt; \lfloor 4000/50 \rfloor = 80 &amp;lt;/math&amp;gt;, a sűrű indexnek &amp;lt;math&amp;gt; \lceil 3000000/80 \rceil=37500 &amp;lt;/math&amp;gt; blokk kell. A ritka index mindegyik sűrű indexbeli blokkhoz tartalmaz egy kulcs-mutató párt, ehhez &amp;lt;math&amp;gt; \lceil 37500/80 \rceil=469 &amp;lt;/math&amp;gt; blokk kell. Ez összesen &amp;lt;math&amp;gt;230770 + 37500 + 469 = 268739&amp;lt;/math&amp;gt; blokk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Egy 10 000 000 rekordból álló állományt szeretnénk&#039;&#039;&#039; B* &#039;&#039;&#039;fa szervezéssel tárolni. A rekordhossz 850 byte, egy blokk kapacitása (a fejrészt nem számítva) 4000 byte. A kulcs 50 byte-os, egy mutatóhoz 18 byte kell. Legalább hány blokkra van szükség? Mennyi az átlagos rekordelérési idő, ha a memóriában egy blokk fér el?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
850 byte / rekord és 4000 byte / blokk, &amp;lt;math&amp;gt; \lfloor 4000/850 \rfloor = 4 &amp;lt;/math&amp;gt; rekord / blokk &amp;amp;#8594; &amp;lt;math&amp;gt; \lceil 10000000/4 \rceil = 2500000 &amp;lt;/math&amp;gt; blokk kell az adatoknak.&lt;br /&gt;
&lt;br /&gt;
Egy indexstruktúra 50 + 18 = 68 byte, &amp;lt;math&amp;gt; \lfloor 4000/68 \rfloor = 58 &amp;lt;/math&amp;gt; index / blokk &amp;amp;#8594; &amp;lt;math&amp;gt; \lceil 10000000/58 \rceil = 172414 &amp;lt;/math&amp;gt;  blokk a sűrű indexeknek.&lt;br /&gt;
&lt;br /&gt;
172414 ritka index bejegyzés, ennyi levele van a B*-fának, ennek tárolásához &amp;lt;math&amp;gt; \lceil 172414/58 \rceil = 2973 &amp;lt;/math&amp;gt; blokk kell. A fa korábbi szintjeihez &amp;lt;math&amp;gt; \lceil 2973/58 \rceil = 52 &amp;lt;/math&amp;gt; és &amp;lt;math&amp;gt; \lceil 52/58 \rceil = 1 &amp;lt;/math&amp;gt; blokk kell. Ha a blokkok számára nem lenne szükség, a fa szintjeinek számát logaritmussal is megkaphatjuk: &amp;lt;math&amp;gt; \lceil \log_{58} 2973 \rceil + 1 = 3 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 2500000 + 172414 + 2973 + 52 + 1 = 2675440 &amp;lt;/math&amp;gt; blokk szükséges összesen a teljes struktúra tárolásához. Az átlagos blokkelérési idő a B*-fa bejárása a gyökértől egy levélig, a sűrű index olvasása és az adatblokk olvasása: &amp;lt;math&amp;gt; 3 + 1 + 1 = 5 &amp;lt;/math&amp;gt; blokkművelet.&lt;br /&gt;
&lt;br /&gt;
-- [[VargaNikolett|csacsiga]] - 2008.12.02.&lt;br /&gt;
-- [[OcsvariAdam|ocsi]] - 2009.11.11.&lt;br /&gt;
&lt;br /&gt;
A megoldás szerintem rossz. 59 index/blokk van, mival a B*-fában szokás k-1 kulcsot tárolni k mutatóhoz (könyv). 58*68=3944 bájt, így még a 18 bájtos mutatónak ott a hely. Innentől ugyanúgy kell számolni, csak 59-cel.&lt;br /&gt;
-- [[BartokFerenc|Fonok]] - 2012.01.10.&lt;br /&gt;
&lt;br /&gt;
Illetve mivel nincs szükség a több kulcs szerinti keresésre, így a sűrű index is elhagyható.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Gondolkodtató kérdések&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Elképzelhető-e sűrű index felhsználása hash szervezés esetén?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mik a hash szervezés előnyei, hátrányai a&#039;&#039;&#039; B* &#039;&#039;&#039;fával szemben?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Milyen adatszerkezetet tudsz elképzelni egy térkép-szoftver adatbázisának?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Milyen sorrendben kell beszúrnunk a rekordokat egy&#039;&#039;&#039; B* &#039;&#039;&#039;fába ahhoz, hogy a legtöbb helyet pazaroljuk?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Legfeljebb hány ritka index építhető közvetlenül egy heap-szervezésű állományra?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Milyen plusz feladataink vannak beszúráskor, illetve törléskor, ha sűrű indexek segítségével több&#039;&#039;&#039; B* &#039;&#039;&#039;fát építünk az adatbázisunkra?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Lehet értelme egy kulcs szerint indexelt&#039;&#039;&#039; (B*) &#039;&#039;&#039;adatbázis esetén is használni sűrű indexet? Mit nyerünk vele, és mennyit? Mitől függ, hogy mennyit nyerünk?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Milyen nehézségeink adódnak, ha a töredékblokkokat is fel szeretnénk használni a merevlemezen?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Miben különbözik egy kicsi és egy nagy bokkméretű llemezen tárolt adatbázis?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Miért nem beszéltünk arról, hogy blokkon belül hogyan tároljuk az a adatokat?&#039;&#039;&#039;&lt;br /&gt;
* *Helyezd el a következő kifejezéseket a táblázatban: &amp;quot;blokknyi&amp;quot; &amp;quot;egyetlen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| || &#039;&#039;&#039;hány rekordot jelöl egy bejegyzése&#039;&#039;&#039; || &#039;&#039;&#039;hány rekordot jelöl ki egy pointer-érték&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Sűrű index&#039;&#039;&#039; || || &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ISAM&#039;&#039;&#039; || || &lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;Hogyan változnának meg az adatbázisok, ha a jövőben a fizikai memóriában (véletlen hozzáférésű tár) helyezkedne el az adatbázisunk?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Gyakorló feladatok==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Milyen módszerekkel támogatható a több kulcs szerinti keresés?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Egy 25 000 rekordból álló állományt szetetnénk ritka index (ISAM) szervezéssel tárolni. A rekordhossz 850 byte, egy blokk kapacitása (a fejrészt nem számítva) 4000 byte. A kulcs 50 byte-os, egy mutatóhoz 18 byte kell.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Legalább hány blokkra van szükséga a teljes struktúra tárolásához?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mennyi ideig tart legfeljebb egy rekord tartalmának kilovasása, ha az operatív tárban rendelkelzésünkre álló szabad hely 6000 byte? (egy blokkművelet ideje 5msec)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Segít-e a rekordhozzáférési idő csökkentésében, ha 10-szer (100-szor) ennyi szabad memóriával gazdálkodunk? Hogyan célszerű a többletmemóriát felhasználni?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Egy 15525 rekordból álló állományt szeretnénk ritka index (ISAM) szervezéssel tárolni. A rekordhossz 850 byte, egy blokk kapacitása (a fejrészt nem számítva) 4000 byte. A kulcs 50 byte-os, egy mutatóhoz 18 byte kell.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Legalább hány blokkra van szükség?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mennyi ideig tart legfeljebb egy rekord tartalmának kilovasása, haz az operatív tárban rendelkezésünkre álló szabad hely 5000 byte? Segít-e a legnagyobb rekordhozzáférési idő csokkentésében, ha 10-szer (100-szor) ennyi szabad memóriával gazdálkodhatunk?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Egy állományt sűrű index, majd erre épített egyszintes rikta index segítségével szetnénk tárolni. Adjon értelmes alsó becslést a szükséges blokkok számára az alábbi feltételek mellett:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;az állomány 3x10^6 rekordból áll&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy rekord hossza 300 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy blokk mérete 1000 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;a kulcshossz 45 byte&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;egy mutató hossza 5 byte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Egy 270 000 rekordból álló állományt akarunk tárolni. Két lehetőség közül választhatunk: vagy sűrű indexre épített 1 szintes rikta indexet használunk, vagy 3 szintes ritka indexet. Melyik megoldást lehet kevesebb lap felhasználásával megvalósítani, ha még azt is el szetnénk érni, hogy sem az indexállományban, sem a főállományban ne legyenek 80%-nál telítettebb lapok? Tudjuk hogy egy lap mérete 1900 byte, egy rekord hossza 300 byte, a kulcs hossza 35 byte, a mutató hossza pedig 15 byte.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Egy adatabázisban egymilliárd rekordot akarunk tárolni. Egy rekord mérete 100 byte, a blokkémret 4000 byte. Egy blokkművelet 5msec hosszó. Két kulcs van, mindkettő 10 byte-os. A mutatók 32 bitesek. Az egyszerűség kedvéért feltételezzük, hogy egyszerre csak egy blokk fér el a memóriában.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Javasljon tárolási módszert, ha mindkét kulcs szerint akarunk majd keresni úgy, hogy a keresés maximum 40ms-t vegbyen igénybe. A módszernek támogatnia kell az intervallumkeresést is. Készítsen magarázó ábrát!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Egy konkrét keresés a rekordok várhatóan 8%-át adja eredményül. Adjon minél hatákonybb módszert a keresésre!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Vödrös hash alkalmazása esetén mit szükséges módosítani az adattároló struktúrán úgy, hogy az adatalérési idő megfeleződön?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8. Egy adatsruktúrában hash alapú tárolást építünk ki egy CD lemezeket tároló adatbázisban. Minden CD-ről eltároljuk, hogy képeket, zenéket, videót vagy adatot tárol. Mindezt egy karakter tipusú mezőben: K,Z,V,A. Milyen hash fv-t célszerű választani, ha ezen mezőre szeretnénk alapozni a hash tárolást? Mi a mező kardinalitása, mi lesz a doménje?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9. Egy adatbázisban szeretnénk 1 000 000 rekordot tárolni vödrös hash szervezéssel. 1 rekord mérete 110 byte, 1 blokk 3000 byte, 1 kulcs 25 byte, 1 mutató pedig 64 bit méretű. A rekordelérési idő max. 20 msec, a blokkelérés 5 msec. A vödörkatalügus befér a memóriába, a hash függvény egyenletesen szór.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mennyi az átlagos rekordelérési idő?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;A vödörkatalógus hány byte-ot foglal el a memóriában?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Mennyi többletmemóriára lenne szükség, hogy a rekordelérési idő a felére csökkenjen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-- [[KisGergelyG|G]] - 2008.11.08.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Ahhoj</name></author>
	</entry>
</feed>