Ongeveer auto’s in Nederland Query: zoek op kenteken Aannames ◦ Een tuple (record) kost ongeveer 400 bytes ◦ Een disk block bevat 8 kbyte, dus 20 records per block ◦ Een disk IO kost 5 msec Maximale zoektijd (volledige table scan) ◦ / 20 = disk IO ◦ 2500 sec = 41:40 minuten Gewenste zoektijd: < 1 sec
Main memory ◦ Typical size : 4 – 256 GB ◦ Access time: 100 nsec ◦ Volatile Harddisk ◦ Typical size : 0.5 – 4 TB ◦ Access time: 5 msec (without clustering) ◦ Non-volatile Unit of traffic: block (2 – 32 kbyte)
Indexering stelt ons in staat om snel te zoeken op de waarde van een attribuut Indexering ondersteunt ook ingewikkelde vormen van query processing Indexering ondersteunt primary key en uniqueness constraints
Twee fundamentele technieken 1. Zoekboom 2. Hash index Beide principes toepasbaar voor zowel main memory als harddisk
Voeg toe: Hoeveel knopen passen in de boom bij hoogte 10? Hoeveel knopen passen in de boom bij hoogte N? Hoeveel kost een zoekactie in een boom van grootte M doorgaans? Voeg toe:
Veld: 4 byte integer Pointer: 8 bytes Block size: 8 kbyte Vulling: 341 – 683 2 nivo’s: minimaal 3 nivo’s: minimaal 4 nivo’s: minimaal
Reserveer 0..N buckets Hashfunctie f Domein: alle mogelijke attribuutwaarden Bereik: 0..N Netjes verdeeld