Drupal ako nízkonákladová platforma pre business web aplikácie
Zaverecna uloha KPI
1. Argumentácia výberu témy
Tému o distribuovanom indexovaní metrických priestorov som si vybral kvôli tomu, že sa jej
tieto dva semestre venujem pri písaní bakalárskej práce. Táto téma sa zaoberá podobnostným
vyhľadávaním a jeho implementáciou na veľké množstvá dát. Keďže žijeme v dobe, kedy je
práca s informáciami veľmi dôležitá, tak ako sme sa naučili aj v tomto kurze, tak mi príde
takáto téma veľmi atraktívna, čo je hlavný dôvod prečo som si ju vybral.
2. Distribuované indexovanie metrických priestorov
V súčasnej dobe, kde všetko čo počujeme, vidíme, čítame a meriame môže byť zazname-
nané digitálne. Preto je vyhľadávanie dát jednou z najdôležitejších schopností, ktoré sú po-
trebné pre prežitie v tomto svete. Pri takom množstve digitálnych dát, aké je denne vypustené
na svet je dôležité sa v nich jednak zorientovať, ale hlavne ich vedieť efektívne a rýchlo vy-
hľadať.
Tu sa dostávame k veľmi efektívnej vyhľadávacej metóde, podobnostnému vyhľadá va-
niu, ktoré podľa [1] môžeme definovať ako problém predspracovať zadanú doménu tak, aby
požiadavky na nájdenie blízkych objektov boli vyhod notené efektívne. Podobnostné vyhľadá-
vanie je výhodnejšie vďaka jeho možnosti vyhľadávania priamo na dátach, a nie len na atribú-
toch dát, ktoré vyhľadávame. Týmto sa zaoberá skupina z Fakulty informatiky Masarykovej
univerzity pod vedením profesora Zezuly. Tento tým pracuje na projekte Multi-Feature-
Indexing Network (MUFIN), ktorého snahou je vyvinúť univerzálne technologické riešenie
problému vyhľadávania v rozsiahlych databázach. Jedným z výsledkom ich snahy je softwa-
rový modul Metric Similar Search Implementation Framework (MESSIF)[2], ktorý bol na-
vrhnutý pre podporu budovania prototypu metrického indexovania na metrickom priestore,
a Metric Index (M-Index), čo je inovatívna indexová štruktúra, ktorého jadrom je všeobecné
zobrazenie z dátového priestoru do číselného odboru.[3] Tento modul umožňuje jednoduché
opakované použitie kódu, a zjednodušuje experimentálne ohodnocovanie, čím zaručuje po-
rovnávanie spravodlivejším a tým pádom sú výsledky hodnotnejšie.
Je však potrebné vztvoriť spoľahlivejšie distribuované prostredie ako Peer-to-Peer výpo-
čtové prostredie, ktoré práve využíva modul MESSIF. Také, kde vlastnosti môžu byť zaruče-
né a výkon naladený podľa potreby. Podľa týchto požiadaviek je ideálnou voľbou priestorová
infraštruktúra. Paralelné zdroje, výpočtový aj úložný zdroj, možno vyžiadať na požiadanie
podľa potreby a ako náhle sú zadané, sú priradené k aplikácii.
Táto práca je zameraná na indexovanie metrických priestorov[4]. Metrický priestor je
matematická štruktúra, pomocou ktorej je možné formálnym spôsobom definovať pojem
vzdialenosti. Tento matematický model je veľmi všestranný a flexibilný, a preto je možné ho
efektívne využiť v indexovacom a vyhľadávacom mechanizme akým je M-Index.
3. Kvôli tomuto bolo potrebné sa zoznámiť s distribuovanou dátovou štruktúrou M-Index.
A keďže M-Index bol implementovaný v programovacom jazyku Java, bolo najvhodnejšie
zvoliť software používajúci práve tento programovací jazyk. Konkrétne bola vybraná vývojo-
vá platforma Apache Hadoop, ktorý umožňuje vytvárať aplikácie manipulujúce s veľkým
množstvom dát, ktorá ponúka napr. metódu MapReduce, čo je programovací model, práve pre
manipuláciu s takýmto množstvom dát pomocou paralelného spracovania.
Základný princíp MapReduce v rozdelení spracovania na mapovaciu (map) a redukova-
ciu (reduce) fázu, na ktorých vstupe a výstupe sú usporiadané dvojice (kľúč, hodnota), kto-
rých typ volí programátor. Ten musí taktiež špecifikovať mapovaciu a redukčnú funkciu, kde
každá definuje zobrazenie z jednej množiny dvojíc (kľúč, hodnota) do druhej. MapReduce
programy sú inherentne paralelné. O distribúciu úloh a dát sa stará systém bez zásahu užívate-
ľa.
Mojim cieľom bolo sprevádzkovať upravenú verziu Hadoop MapReduce, ktorá podpor u-
je agregáciu online, čo umožňuje užívateľom vidieť predčasné výstupy z úloh, zatiaľ čo sú
počítané. Štruktúru s názvom Hadoop Online Prototype (HOP)[5]. Táto štruktúra rozširuje
metódu MapReduce o dávkové spracovanie, znižuje počet dokončení a taktiež zlepšuje využi-
tie systému pre dávkové úlohy. Taktiež podporuje nepretržité dotazy, čo môže byť využité na
napísanie programov za pomoci techniky MapReduce určených na sledovanie udalostí
Najdôležitejšie kroky pre dosiahnutie vyššie uvedeného cieľu sú rozobraté v nasleduj ú-
cich kapitolách: v prvej kapitole je bližšie popísaný M-Index a jednotlivé časti sekvenčného
postupu, ktoré boli používané pri tvorbe dátovej štruktúry doteraz. V druhej kapitole je po-
drobnejšie vysvetlená funkcionalita Hadoop MapReduce a vzťah s Hadoop Online Protype.
V ďalšej kapitole je okomentovaný hlavný výstup práce: zdrojový kód z jednotlivých tried
v jazyku Java, nastavenie a spôsob práce s výsledným programom. Výsledky testovania na
reálnych dátach sú obsiahnuté v posledných častiach textu.
[1] ZEZULA P., AMATO G., DOHNAL V. and BATKO M. Similarity Search: The Metric
Space Approach. vol. 32 of Advances in Database Systems. Springer, 2006. Dostupné na:
<http://www.nmis.isti.cnr.it/amato/similarity-search-book/>
[2] BATKO M., NOVAK D. and ZEZULA P. „MESSIF: Metric similiarity search imple-
mentation framework,“ in First International DELOS Conference. Pisa, Italy, Revised
4. Selected Papers. vol. 4877 of Lecture Notes in Computer Science. pp. 1-10. Springer,
2007.Dostupné na:
<http://www.fi.muni.cz/~xnovak8/papers/batkonovakzezula07messif.pdf>
[3] NOVAK D., BATKO M. and ZEZULA P. „Metric Index: An efficient and scalable solu-
tion for precise and approximate similiarity search,“ Information Systems. vol. 36. pp.
721-733. June 2011. Dostupné na:
<http://sisap.org/2009/presentations/mindex.pdf>
[4] BATKO M., DOHNAL V. and ZEZULA P. "M-Grid: similarity searching in
grid." Proceedings of the international workshop on Information retrieval in peer-to-peer
networks. ACM, 2006. Dostupné na:
<http://www.cs.cas.cz/semweb/download.php?file=cikm2006wo rkshop&type=pdf>
[5] Condie, T., Conway, N., Alvaro, P., Hellerstein, J. M., Elmeleegy, K., & Sears, R.,
"MapReduce online." Proceedings of the 7th USENIX conference on Networked systems
design and implementation. 2010. Dostupné na:
http://db.cs.berkeley.edu/papers/nsdi10- hop.pdf
Zdroje sú relevantné, pretože:
1. Autori sú dôveryhodný
2. Odbornosť textov
3. Vysvetľujú pojmy potrebné k práci
4. Slúžia ako výučbové materiály
5. Kľúčové slová
M-index, podobnostné vyhľadávanie, Java, MapReduce, Hadoop