High Speed Networks Laboratory 1/40
Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis: struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 2/40
Paradigmaváltás az adatbázisokban Mennyi zenét tárolsz a számítógépeden? Régen: rengeteg zene a számítógépen Hatalmas adatbázisban Viszonylag struktúrálva Most: Kevés zene a gépen, csak amire azonnal szükség van Túlnyomó részben: YouTube & Google Egy struktúrálatlan halmazból keressük ki 3/40
Paradigmaváltás az adatbázisokban Eddig Relációs adatbázis Elosztott adatbázis Lekérdezés: erősen megnövelte a kommunikációs költségek részarányát az adatbázis-kezelés költségein belül Ötlet: próbáljuk meg az adatokat a felhasználás közelében elhelyezni. Osztott adatbázisok. Az osztott adatbázis egy fizikailag megosztott, de logikailag egységes adatbázis. 4/40
Amerre mozdul a világ: Megtervezett adatbázis evolúció alkotta adatbázis Elosztott adatbázisok: A kommunikációs költségek csökkenése. Mindenki a számára ismerős adatokat gondozza. Egy-egy csomópont kiesése esetén a többi adatai továbbra is elérhetőek. Lehetséges a moduláris tervezés, a rugalmas konfigurálás. Rugalmasabb adatstruktúra kell Önszerveződő adatbázisok: A kapcsolódást nem egy központi egység határozza meg A csomópontok saját maguk döntik el, hova kapcsolódnak 5/40
Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis: struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 6/40
Mit az önszerveződő adatbázis? A szó tág értelmében Önszerveződő adatbázis = (struktúra,lekérdezés) Az adatbázis önszerevződő jellege meghatározza a kialakuló topológiát A topológia meghatározza, milyen a hatékony keresés Önszerveződő adatbázis példák: Internet Blogok Google Fordító Szocális hálózat P2P hálózat Folding@home 7/40
Önszerveződő hálózat: Az Internet Általános értelemben: Nagy bonyolult hálózatok Hálózat komplexitása Sok csomópont Sok kapcsolat Heterogén csomópont típusok és kapcsolattípusok Tisztán kivehető tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Az Internet fejlődési trendek Felhasználók számának drámai növekedése Kicsi mobil eszközök Szerteágazó szabványok, sok gyártó Heterogén eszközök Virtuális hálózatok fizikai hálózakon VPNs, virtual ISPs Milyen struktúra lakozik a komplexitás mögött? 8/40
Pillanatfelvételek A hálózatok dinamikusak Még jó, annyira gyorsan változnak az igények Jelenleg nincs lehetőség a dinamizmus vizsgálatára nagy léptékben Legtöbb adatbázis csak a pillanatnyi állapotot tárolja Ezért egy-egy elemzés csak egy pillanatfelvétel Előfordulnak statisztikai hibák Néha később módosított eredmények 9/40
Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis : struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 10/40
Számunkra jelenleg lényeges paraméterek 1. Hálózat méret: Csomópontok száma Ezres, milliós, esetleg milliárdos méretek esetén lehet statisztikai adatokkal jól jellemezni egy hálózatot 2. Klaszterezettség: Csoportosulás mértéke A szomszéd node-jaim kapcsolódnak-e egymáshoz? Ha 1 akkor mindig, ha 0 akkor soha! 3. Átmérő: Kis átmérő, rövid utak, kisvilág jelleg Egy rácsban igen nagy átmérők lehetnek, míg pl. a teljes gráf átmérője 1. 4. Hasonlósági paraméter (γ): Mennyire hasonló a szerepük? (skálafüggetlen szerkezet) Ha a szám magas, akkor az egyének nagyon hasonlítanak, ha alacsony akkor (~ 2) akkor erősen eltérő szerepek vannak 5. Fokszámeloszlás: a csúcsok mekkora hányadának k a fokszáma? Egyenletes? Binomiális? Valami más? 11/40
Méret és átmérő Mekkora egy önszerveződő adatbázis? Csomópontok száma: néhány tíz milliárdok Mekkora az adatbázis átmérője? 1929: Karinthy Frigyes Láncszemek Hat lépés távolság 1967: Milgram kísérlet (a másik) Levélküldés nagy távolságra (szociológiai, földrajzi), véletlenszerűen választott emberek Információk a célszemélyről Személyes ismeretség esetén azonnal a célhoz Egyébként olyanhoz aki valószínűleg személyesen ismeri+levél a Harvardra 12/40
Milgram kísérlete (további részletek) Néha 1-2 lépés elég volt néha kilenc kellett 296 levélből 232 nem ért célba A maradékból az átlagos távolság 5.5-nek adódott (ellentmondott a tapasztalatokkal, és várakozásokkal) Az utolsó személy igen sokszor ugyanaz Legtöbbször gyorsan földrajzi közelbe értek, ahol köröztek, amíg rést nem találtak a célszemély belső köreibe Problémák Kevés célbeérkező levél Emiatt hosszabb láncok kevésbé vannak jelen (alábecslés) Többször ismételték 2002-ben e-mail verzió 2008, Microsoft.NET Messenger Service: 6.6 Hatlépésnyi távolság 13/40
Átmérő Példa: Rubik-kocka állapotai 14/40
Átmérő 15/40
The Anatomy of the Facebook Social Graph Ugander, Karrer, Backstrom, Marlow arxiv: 1111.4503v1 [cs.si] 2011. májusi állapot elemzése Aktív felhasználók: 1. Bejelentkezett a vizsgálatot megelőző 28 napban 2. Van legalább 1 ismerőse 721 millió aktív felhasználó (a Föld lakossága akkor 6.9 milliárd) 68.7 milliárd kapcsolat átlagosan 190 ismerős 16/40
Felhasználók közti átlagos távolság 4.7 lépés távolság USÁ-n belül: 4.3 Független tanulmány: átmérő ~40 Az átmérő önmagában megtévesztő 17/40
Csoportosulás mértéke A weboldalak jellemzően szoktak egymásra mutatni Minél több közös oldalra mutatnak, annál nagyobb valószínűséggel egymásra is Melyik tűnik hihetőbbnek mint weboldalak hálózata? Miért? 18/40
Klaszterezettségi együttható Globális: háromszögek száma C = tripletek száma a háromszögek számának aránya ahhoz képest, hogy mennyi lehetne C=1 Lokális: a kék csúcsra vonatkozóan c kék =1 c kék =1/3 c kék =0 C i = 2 szomszédok közötti élek N i (N i 1), ahol N(i) = #{i szomszédai} 19/40
Egy adatbázisban 20/40
Kisvilág-tulajdonság 21/40
Fokszámeloszlás A csúcsok mekkora hányadának k a fokszáma n k = hány k fokszámú csúcs van P(k) = n k, n a csúcsok száma n hisztogram 22/40
Fokszámeloszlás Binomiális Hatványfüggvény P k = n k pk (1 p) n k Véletlen hálózat Nyerőgép P k ~ k γ γ: Hasonlósági paraméter Önszerveződő hálózatok 23/40
Skálafüggetlenség A fokszámeloszlás hatványfüggvényt követ 24/40
Skálafüggetlenség szemléletesen 1. A hálózatra rázoomolva önhasonló szerkezet Pont így van a természetben is 2. Nem heterogén szerepű csomópontok Néhány központ, sok kis node 25/40
Valós hálózatok 26/40
Hogyan kapcsolódnak új pontok az adatbázishoz? Önszerveződő adatbázisok Egy már meglévő adatbázis melyik pontjához fogunk kapcsolódni? P2P hálózatban melyik fájlt töltöd le? Egy nemzetségen belül melyik fajok szaporodnak el? Minél népszerűbb Népszerűség ~ minél több kapcsolata van eddig 27/40
Preferenciális kapcsolódás Preferenciális kapcsolódás A kapcsolódáshoz a jelölt esélye arányos a fokszámmal Nagyobb fokszámú csúcshoz nagyobb eséllyel kapcsolódik i csúcsra: p i = fokszám 2 élek száma A gazdag egyre gazdagabb lesz Növekedéssel együtt: skálafüggetlen hálózat 28/40
Szűkebb értelemben vett önszerveződő hálózatok Speciális értelemben 1.Nem véletlenszerű kapcsolatok, csoportosuló 2.Kis átmérő, rövid utak, kisvilág 3.Skálafüggetlen szerkezet: erősen változó szerepek a hálózatban 29/40
Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis : struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 30/40
Hogyan működnek a keresőmotorok? 31/40
Internetes keresőmotorok A keresőmotorok két fő funciója 1. Crawling és az oldalak térképének felépítése 2. Válasz a lekérdezésre 1. Crawling & Indexing A weben levő dokumentumok, fájlok, oldalak bejárása és indexelése Indexelés ~ tárgymutató egy könyv végén 2. Válaszadás a felhasználói lekérdezésre Releváns oldalak listája Sorrend 32/40
Honnan tud a keresőmotor egy oldalról? 1. Megmondjuk, hogy létezik Home page URL-je www.google.com/addurl search.yahoo.com/info/submit.html search.live.com/docs/submit.aspx XML oldaltérkép 2. Ha egy másik oldal mutat rá: keresőrobotok beindexelik Struktúra miatt működik A kapcsolatok mentén a keresőmotor bejárja = crawling Ha találnak egy új oldalt: részleteket tárolnak 33/40
Egy Google keresés 34/40
Adjunk választ! A keresőmotor egy válaszadó gép Háromféle keresés: "Do" Tranzakciós keresés valami végrehajtása: repülőjegy vásárlás, zenehallgatás "Know" Információs keresés egy zenekar neve, a város legjobb étterme "Go" Navigációs keresés Kifejezetten egy weblap keresése: menj a Facebook-ra, az NFL homepage-re Csak az a válasz érdekel, ami relevéns Hasznosság remélt sorrendjében A relevancia több, mint hogy tartalmazza a jó szavakat A keresőmotorok első napjaiban ennyi volt Nem is működött jól AltaVista Google 35/40
Search Engine Optimization Egy weboldal láthatóságának befolyásolása egy keresőmotor találati listájában Nem a keresőmotorok kijátszása Jó felhasználói élmény Az oldal szándékainak közvetítése, hogy a releváns kereséseknél ajánlhassák robots.txt: amit a keresőrobotok ne járjanak be Bejelentkezés után látható oldalak Személyes információt tartalmazó oldalak: vásárlás Oldalon belüli keresési eredmények Korai algoritmusok: Szerepelnek-e a megadott szavak Kulcsszó-sűrűség Keyword meta-tag Könnyű volt kijátszani 36/40
Mennyire fontos egy oldal? A legtöbb keresőmotornál: fontosság = népszerűség Minél népszerűbb egy oldal, annál fontosabb kell legyen az infó, ami rajta van Algoritmusokkal szűrik és rangsorolják az oldalakat relevancia és népszerűség alapján Ranking faktorok Tartalom: Az oldal szövege, címek, ismertetők. Teljesitmény: Milyen gyors? Jól működik? Megbizhatóság: Elég jó a tartalom ahhoz, hogy más oldalak ide mutassanak? Más oldalak megjelölik referenciaként? Felhasználói élmény: Hogy néz ki? Könnyű eligazodni? Magas a bounce rate? 37/40
SEO Success Factors 38/40
Search Engine Optimization Oda-vissza ható folyamat Algoritmus helyezést javító trükkök új algoritmus új trükkök Hogy pontosan hogy működik, azt a tapsztalat alapján sejteni lehet On-the-page SEO Ami az oldal szerzőjének befolyása alá tartozik Tartalom HTML Felépítés Off-the-page SEO Az olvasókon, látogatókon és a többi oldal szerzőjén múlik Linkek Megbízhatóság Közösségi média Személyes paraméterek 39/40
Search Engine Optimization White Hat technikák A felhasználónak szóljon az oldal, ne a keresőnek A weboldal struktúráját tagolttá kell tenni, megfelelő header használattal. A <title> taget megfelelően kell kitölteni. Az oldalon elhelyezett szövegeket is érdemes optimalizálni. Helyezzünk el olyan linkeket, amik egyéb aloldalakra mutatnak. Hosszú távú eredmény Black Hat technikák Hogyan tévesszük meg a keresőt Láthatatlan tartalom Más oldal megjelenítése, ha a kereső kéri = cloaking Gyors eredmény, de: ha a kereső rájön: büntetés 40/40