Mi is az a MAMA?
A norvég Opera Software a napokban egy saját fejlesztésű, speciális feladatokat ellátó kereső- és adatgyűjtő alkalmazást jelentett be. A program elnevezése Metadata Analysis and Mining Application, – rövidítve: MAMA –, ami magyarul annyit tesz: Metaadatgyűjtő és -analizáló alkalmazás.
A neten elterjedt népszerű keresők, mint a Google, a Yahoo Search, az Ask vagy a Microsoft-féle Live Search a honlapok tartalmában keresnek. Ezekkel ellentétben a MAMA-t a honlapok szerkezeti felépítése érdekli, és ezek alapján dolgozza fel őket. Tehát például azt figyeli, használnak-e az adott lapon JavaScriptet, s ha igen, akkor mennyit, és ezekben a fejlesztők milyen metódusokat részesítenek előnyben. Az ilyen és ehhez hasonló adatok az átlagfelhasználó számára inkább csak puszta érdekességet jelentenek, de a webböngészők és a honlapok fejlesztőinek értékes információkkal szolgálnak.
A kezdetek
Az internetes böngészőket, mint minden más szoftvert, alapos teszteknek kell alávetni a fejlesztés során, hogy minél több hibájukra fény derüljön – lehetőleg még a kiadás előtt. Egy böngésző működőképességének vizsgálata a honlapok helyes megjelenítésének az ellenőrzését is jelenti. Ennek során a tesztelők igyekeznek a lehető legszélesebb körben válogatni, hogy minél többféle szabvány helyes kezelését tudják megvizsgálni. Ez viszont többféleképpen is kivitelezhető. Az egyik lehetőség, hogy mesterségen generálunk oldalakat, melyek egy-egy ajánlás helyes kezelését veszik górcső alá. Ezzel – a generálás gyakorlati nehézségein túl – az a gond, mint minden más szintetikus teszttel: hasznos ugyan, de nem a valóságot adja vissza. A probléma kiküszöbölhető oly módon, hogy létező internetes honlapok megjelenítését vizsgáljuk. Ezzel viszont az a baj, hogy alkalomadtán nem is olyan egyszerű az adott funkció tesztelésére alkalmas honlapot találni.
Ennek a tesztelési nehézségnek az áthidalására született ez a belső Opera projekt, melynek célja, hogy a lehető legváltozatosabb honlapokat nagy számban elemezve kellően nagy és jól kereshető mintát adjon a tesztelők kezébe. A megvalósítás a puszta tesztelési célokon túl további lehetőségekkel is kecsegtet: például ezzel a módszerrel megállapítható a webes technológiák valós elterjedtsége, illetve időszakos vizsgálatokkal feltárhatóak azok térbeli és időbeli változásai is – s ez lehetővé teszi, hogy a böngésző fejlesztése során a leggyorsabban terjedő technikák támogatása kaphasson prioritást. A MAMA ezért egy gondosan összeállított URL-lista alapján megvizsgálja és feldolgozza a honlapokat, majd az eredményekből kereshető adatbázist, abból pedig különféle statisztikákat készít.
A fejlesztők külön blogbejegyzést szenteltek a MAMA bemutatására. Ebből megismerhetünk néhány technikai érdekességet is:
- a kiértékelő programot Perl nyelven írták
- az eredményeit egy MySQL adatbázisban tárolja (5.0.32-es verzió)
- az adatbázist tároló gép egy kétmagos, 3 GHz-es Pentium D processzorral és 2 GB RAM-mal ellátott PC, amin Debian 4.0 operációs rendszer fut
- az URL-ek elemzése során a MAMA Opera 9.10-ként azonosította magát
- az adatbázis jelenleg 22 táblában mintegy 100 millió bejegyzést tárol, melyek összesen 20–21 GB tárhelyet foglalnak el
- a program egyszerre 4–8 gépen futott, és az eredményeiket az adatbázisgépre töltötték fel
- a vizsgálat több részletben, 2007 végén és 2008 elején zajlott
A cikk még nem ért véget, kérlek, lapozz!