Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGergely Orosz Megváltozta több, mint 9 éve
1
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás
2
Előadás témája XML adatbázisok tervezésének automatizálása Legmegfelelőbb teljesítményjavító struktúrák kiválasztása Három tanácsadó bemutatása XML indexekhez XMLTable materializált nézetekhez Az előző kettőt egybe integrálóhoz
3
XML adatbázisok Háromféle megközelítés Natív XML adatbázis XML adat relációs adatbázisban (XMLType típusú tábla) XML oszloptípus Nálunk Relációs adatbázis egy táblájában, natívan, XML típusú oszlopban tárolt XML adat A legtöbb kereskedelmi adatbázis-kezelő rendszer támogatja
4
Lekérdezések végrehajtásának optimalizálása Közvetlen elérés biztosítása (indexek) Adatok egy részének csoportosítása (nézetek, partícionálás) Lekérdezés átírása kisebb adathalmazra
5
Fizikai tervezés általánosan Hogyan állapítsuk meg a lehetséges struktúrákat, melyek hasznosak a lekérdezés halmazon? Hogyan terjesszük ki a jelölteket általánosabb javaslatokra? Hogyan számítsuk ki a becsült költségét a fizikai tervnek? Hogyan válasszuk ki a lehetséges konfigurációk közül a legjobbat?
6
Alapfogalmak XPath XML csomópontok kiválasztása XQuery Lekérdezés XML dokumentumokban SQL/XML SQL kiterjesztése XML lekérdezésére
7
Alapfogalmak XML index Elemek kinyerésének gyorsítása Materializált nézet Hasonlít a táblákhoz: saját adatszegmenssel rendelkezik Valamint a nézetekhez: lekérdezés eredményét tárolja
8
Alapfogalmak XMLTable nézet XMLTable az SQL/XML egyik legfontosabb függvénye Kiértékeli az XQuery kifejezést, majd visszatér egy táblával A táblából nézetet készítünk Parciális index Az adathalmaz egy részén értelmezett index
9
Alapfogalmak Virtuális index Nincs külön szegmense Végrehajtási tervek készítésénél hasznos Hátizsák probléma Ismerjük a kapacitását, illetve az elemek méretét és értékét Melyikből mennyit kell belerakni, hogy maximális legyen az érték, de elférjenek Speciális esete: 0/1 hátizsák probléma (minden elem maximum egyszer szerepel)
10
XML indexek ajánlása A cél egy olyan tervezési tanácsadó létrehozása, amely a legjobb parciális indexeket ajánlja, figyelembe véve a költségeket Két új lekérdezés optimalizáló mód Index felsoroló Index kiértékelő
11
XML indexek ajánlásának lépései 1. Index jelöltek felsorolása Implementáció függő 2. Ezek általánosítása Lekérdezés specifikus indexek általánosítása
12
XML indexek ajánlásának lépései 3. Költségek becslése Előnyök és többlet költségek 4. Optimális konfiguráció megkeresése 0/1 hátizsák problémával ekvivalens Tudjuk minden index-jelöltre a költséget (mérete) és a hasznot Heurisztikus mohó algoritmussal oldjuk meg A lekérdezések, XML minták és általánosított jelöltek kapcsolatát irányított, körmentes gráffal (DAG) reprezentáljuk
13
XMLTable nézetek ajánlása Célunk egy olyan tanácsadó készítése, amely XQuery lekérdezésekhez XMLTable materializált nézeteket ajánl
14
XMLTable nézetek ajánlásának lépései 1. XQuery részekre bontása FOR, LET, WHERE, RETURN részekre 2. Lehetséges XMLTable nézetek felsorolása 3. SQL/XML lekérdezés generálása A már létrehozott nézeteket használja fel
15
XMLTable nézetek ajánlásának lépései 4. A lekérdezésre legjobban illeszkedő nézetek kiválasztása Költség alapján 5. Az eredeti lekérdezés átírása A javasolt nézetek használatával
16
Optimalizálási tanácsok A materializált nézetek mérete túl nagyra nőhet Elveszíti előnyét Parciális indexek mérete kisebb Nem minden esetben segít
17
Optimalizálási tanácsok 1. Előre navigálás Előre megnézzük az XML adat lekérdezésben használt elemeit Könnyen elérhető formában tároljuk 2. Táblák összekapcsolása XQuery lekérdezés gyorsítása Előre navigálunk a szükséges adatokhoz Relációs táblában eltároljuk Ezeket összekapcsoljuk
18
Optimalizálási tanácsok 3. Összesítés Előre csoportosítjuk és/vagy összesítjük a nézet adatait Mindhárom megközelítés jelentősen csökkenti a végrehajtási időt
19
Indexek és nézetek ajánlása egyszerre Célunk olyan tanácsadó létrehozása, amely figyelembe véve az indexeket és nézeteket, a legjobb konfigurációt ajánlja Háromféle jelöltet kapunk XML index XMLTable materializált nézet XMLTable materializált nézet indexekkel
20
Indexek és nézetek ajánlásának lépései 1. Jelöltek haszon/méret arány szerinti rendezése 2. Minden iterációban megnézzük, új lefedést ad-e a jelölt Ha igen és van elég tárhely, hozzáadjuk az ajánlottakhoz Különben, ha átfedés van a már lefedett lekérdezések és a jelölt lefedése között, heurisztikus szabályok alapján eldöntjük hozzáadjuk vagy ne
21
Hatékonyság Indexek keresése Heurisztikus mohó algoritmussal a leggyorsabb Indexek általánosítása Fentről lefelé keresés hatékonyabb a heurisztikus mohó algoritmusnál
22
Hatékonyság Összefésült (általános) XMLTable nézet ajánlása Összefésüléssel 16%-os méret csökkenés, de jelentősen csökkent a sebesség is Előny/méret arányban jobban megéri XMLTable nézet ajánlása relációs indexekkel 1,5 – 32,5 százalékos gyorsulás az index nélküli nézetekhez képest
23
Hatékonyság Index és nézet ajánlása Változó eredményeket kaphatunk Néha a csak Index Tanácsadót és néha a csak Nézet Tanácsadót használók teljesítménye jobb Az Integrált Tanácsadó teljesítménye kiegyensúlyozott, ezért javasolt
24
Implementált algoritmus Legelőnyösebb indexjelöltek részhalmazának keresése Heurisztikus A lekérdezésekre megadott indexjelöltek halmazából indul ki
25
Algoritmus lépései 1. Jelöltek haszon/méret arány szerinti rendezése 2. Minden iterációban vesszük a legnagyobb értékűt és eldöntjük, hozzáadjuk-e az ajánlott konfigurációhoz Ha van még rendelkezésre álló tárhely
26
Algoritmus megjegyzései
27
Köszönjük a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.