1. a 2. cvičenie
- Github úložisko: https://github.com/PeterGursky/pdb
- Záznam 1. cvičenia na YouTube
- Záznam 2. cvičenia na YouTube
S využitím B+tree a úvodných zdrojákov vytvorte klastrovaný a neklastrovaný index, ktorý poskytuje rozsahový dopyt.
- Generator.java vygeneruje súbor obsahujúci náhodné dáta rozdelené do 4kB stránok. Každá stránka obsahuje záznamy pevnej dĺžky so štruktúrou, ktorá je v dokumentácii.
- Do B+tree doprogramujte rozsahový dopyt pre uzavretý interval.
- Použite triedy PersonStringKey a PersonEntry pre parametrizáciu B+tree a vytvorte triedu ClusteredBPTree založenú na B+tree poskytujúci rozsahový dopyt (ako testovacie dáta použite vygenerovaný subor).
- Vytvorte analogicky triedu SurnameAndOffsetEntry pre parametrizaciu B+tree a vytvorte triedu UnclusteredBPTree založenú na B+tree poskytujúci rozsahový dopyt (ako testovacie dáta použite vygenerovaný subor).
- Porovnajte efektivitu klastrovaneho a neklastrovaneho indexu – čas a počet prístupov na disk pri rozsahovom dopyte.
Domáca úloha
- Vytvorte triedy SalaryKey a SalaryOffsetEntry pre parametrizáciu B+tree a vytvorte triedu UnclusteredBPTreeSalary umožňujúcu rozsahový dopyt vracajúci záznamy typu PersonEntry podobne ako to bolo v prípade poslednej úlohy na neklastrovaný strom. Tento dopyt otestujte. Poznámka: pri toľkých záznamoch sa rovnaké platy budú určite opakovať, ale tento B+strom zvládne aj nie unique vyhľadávacie kľúče.
3.cvičenie
- Stiahnite si súbor pd_kapsa.zip a rozbaľte ho.
- Importujte si skript pd_kapsa.sql do MySQL, ktorý Vám vyrobí databázu pd_kapsa.
- Štruktúru databázy si môžete pozrieť v MySQL Workbench projekte diagram-kapsa.mwb.
- Prečítajte si zadanie v súbore zadanie_cvicenie_3.pdf a pokúste sa vyriešiť vo vašej skupine.
- Zadanie pre pozorovateľa: pozorovatel.pdf