Best-Effort Top-k Query Processing Under Budgetary Constraints Jakub Čermák
Agenda Úvod, motivace, definice problému Sekvenční přístup Náhodný přístup Experimentální výsledky
Motivace Top-k dotaz dotaz na k nejlepších výsledků přesné výsledky jsou drahé (časově, I/O,...) Často stačí aproximace, ale chci ji rychle mobilní aplikace hledání nejbližší restaurace real-time analýza velkých objemů dat např. přístupové logy Současné algoritmy nezohledňují limit na cenu při cenovém omezení nejsou přesné utnu algoritmus během výpočtu Top-k dotazy zohleďnující cenu Efektivnější pro omezenou cenu, pečlivější plánování
Datový model n objektů, každý s m atributy množina m seznamů L 1,..., L m obsahující dvojice (id_objektu, skóre objektu) sestupně seřazené podle skóre, skóre v rozsahu <0,1> sekvenční přístup (SA) přečtení další dvojice ze seznamu, cena C s náhodný přístup (RA) nalezení skóre daného objektu v seznamu L i, cena C r ( > C s ) Cena = čas, počet I/O operací,... Celkové skóre objektu = součet jednotlivých
Pojmy Pro každý přečtěný objekt se udržují worstscore(o) = součet přečtených skóre bestscore(o) = worstscore(o) + součet high i pro seznamy, kde o se ještě neobjevilo high i = hodnota skóre na aktuální pozici v L i, tedy maximum, co by mohl objekt mít za (nenačtené) skóre top-k množina = k zatím nejlepších objektů množina kandidátů = zbytek mink = nejmenší worstscore z aktuální topk množiny objektů důsledek pro objekt o: bestscore o => už mě nezajímá mink
Pojmy (2) Cesta (execution trace) = sekvence kroků algoritmu, kde krok je SA nebo RA Výsledek = top-k množina po vykonání exekuční cesty Relativní přesnost = R exact R R Maximální cena (budget) B
Agenda Úvod, motivace, definice problému Sekvenční přístup Náhodný přístup Experimentální výsledky
Alg. se sekvenčním přístupem Omezení algoritmu na pouze sekvenční přístup k seznamům Algoritmus postupně po dávkách čte ze seznamů, potřeba rozhodnout, kolik z kterého seznamu číst 2 heuristické cíle 1. preferování seznamu s vyššími skóre vyšší skóre větší šance se dostat do top-k 2. preferování seznamu s rychlým poklesem skóre po určité době se seznamy vyrovnávají rychlejí se dostanu do nezajímavých částí, seznam pak můžu rychle zahodit (šetření ceny)
Heuristické cíle - příklad 3 seznamy, B=180 čárkovaná čára rovnoměrná distribuce čtení plná čára podle pravidel z minulého slajdu
Adaptivní schéma pro optimalizaci 2 cíle optimalizační problém s 2 funkcemi cíl 1: počítání průměrného skóre util as L i, x = 1 x score i(j) pos i +x j=pos i pos i je aktuální pozice v L i, score i (j) je předpokládané skóre obj. na pozici j cíl 2: počítání poklesu skóre util sr L i, x = high i score i pos i + x Dohromady s vyhlazovacím koef. α util L i, x = α util as L i, x + 1 α util sr L i, x
Práce algoritmu Alg. pracuje po dávkách, při každé dávce přečte b záznamů (b=velikost dávky), následně přepočítá α a alokace SA pro seznamy Problém: jaké zvolit α? Problém: kolik položek přečtu z každého seznamu? Budgeted Sorted Access Scheduling Formálně: opt. problém najít b 1,..., b m t.ž. m m i=1 b i = b při maximálním i=1 util(l i, b i ) NP-těžký problém, důkaz převodem z Batohu
Adaptivní určení vyhlaz. koef. 2 fáze plynule přecházející do sebe získávací fáze cíl 1, hledání nejlepších obj. redukční fáze cíl 2, redukce množ. kandidátů Dokud nemám plnou top-k, α = 1 Potom α = průměrná pravděpodobnost kandidátů na postup do top-k Nejdříve je velká, potom se snižuje
Spravedlivá (Fair) heuristika 1. řešení problému BSAS Alokuje čtení podle relativní hodnoty váhové util funkce seznamu vůči ostatním počet SA pro L i =b util L i,b m j=1 util(l j,b)
Klasifikační (ranking) heuristika 2. řešení problému BSAS Založen na klasifikaci objektů, bere do úvahy celkový cenový limit 1. Vygenerování 2 seznamů Seznam skóre S klasifikace obj. podle odhadu skóre, trojice {oid,lid,score} Rozdílový seznam D klasifikace obj. podle rozdílu skóre objektu a skóre následujícího objektu z původních seznamů L i ; {oid,lid,rozdíl} Skóre neznámých obj. jsou odhadována až do hloubky B fce rank S o, rank D (o)-pořadí 1. výskytu objektu v seznamu S resp. D
Klasifikační (ranking) heuristika 2 2. Alokace SA pro seznamy opakuj dokud se nespotřebuje budget najdi d i pro každý L i, t.ž. d i =objekt s max. rank S v L i k = min*α rank S d i + 1 α rank D (d i )+ i přidej jedno čtení z L k, neboli b k ++ tím se spotřebuje budget o C S
Agenda Úvod, motivace, definice problému Sekvenční přístup Náhodný přístup Experimentální výsledky
Alg. s náhodným přístupem Kombinuje SA a RA, RA zvyšuje efektivitu (při dostatečném limitu) 2 fáze, nejdříve jen SA (hledání dost kandidátů; odpovídá získávací fázi předch. alg.), pak jen RA na nejslibnější kandidáty striktně oddělené fáze (na rozdíl od získávací a redukční fáze v předch. alg.) Přepnutí fází: jakmile S + R > B, S=cena vykonaných SA, R=cena alokovaná pro RA R = 1 α S
RA fáze plánování přístupů zbývá R C R RA čtení pro každého kandidáta spočítám odhadované skóre expscore c = worstscore c + S l c l E(c) přečtené skóre odhad skóre v nepřečtených seznamech S l (c) je odhad skóre v nepřečteném seznamu L l (spočítaný pomocí pravděpodobností) Nakonec vybírám objekt pro RA takový, že má největší expscore
Agenda Úvod, motivace, definice problému Sekvenční přístup Náhodný přístup Experimentální výsledky
Offline verze algoritmu Vstup: dotaz, přesný top-k výsledek, časový limit B Výstup: najít cestu s cenou max. B, jejíž přesnost je nejlepší ze všech takových Pro ověření přesnosti/optimálnosti získaných výsledků
Sledované parametry Poměr optimální přesnosti precision alg precision opt, jak moc se blížíme k relativně optimálnímu výsledků Chyba skóre (SME, score mass error) malý průnik získaných a optimálních výsledků nemusí znamenat chybu, získané objekty mohou být také velmi relevantní indikuje jakost výsledků vůči optimu SME = k i=1 k i=1 score exact i score alg i score exact i score opt i
Testovací data IMDB databáze filmů TREC Terabyte databáze webů z.gov domény, hledání v textu pomocí vektorového modelu (TF*IDF) Syntetická data Zipfianovo rozdělení
Sekvenční přístup - TREC
Sekvenční přístup - IMDB
Náhodný přístup - TREC
Závěr Představený algoritmus je první pokus o řešení problému top-k dotazů při limitovaných zdrojích nebo celkové ceně. Získám pouze přibližné výsledky, ale rychle. Což je často důležitější než přesné výsledky Je pro daný problém přesnější než předchozí algoritmy, které s omezenými zdroji nepočítaly, bylo dosaženo přesnosti 65%-77% optimálního výsledku (při daných limitech na cenu)
Zdroje Best-Effort Top-k Query Processing Under Budgetary Constraints M. Schmueli-Scheuer, C. Li, Y. Mass, H. Roitman, R.Schenkel, G. Weikum ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering http://www.ics.uci.edu/%7echenli/pub/2009-icde-topk.pdf R. Fagin, A. Lotem, and M. Naor. Optimal aggregation algorithms for middleware. In PODS, pages 102 113, New York, NY, USA, 2001. ACM Press H. Bast, D. Majumdar, R. Schenkel, M. Theobald, and G. Weikum. Io-top-k: Index-access optimized top-k query processing. In VLDB, pages 475 486, 2006.