Byl bych rad, kdyby se vic rozebraly veci kolem prohledavani. Protoze vim jenom neco, ptam se tech, kteri vedi vic.
Gatherer (smatrac v obsahu serveru) stahuje data a uklada je na disky podle urcitych pravidel (napr. nemusi stahovat zdaleka vsechen text). Kazda webovska stranka je v gathereru nejak prezentovana (provazne indexovane male soubory s ruznymi informacemi).
Pokud se takhle stahne 500 milionu stranek (dejme tomu, ze na kazdou padne po ostrouhani zbytecnych informaci a rozdeleni do nekolika malych souboru v prumeru 5 KB), pak gatherer na ulozeni potrebuje 2,500 GB, tedy 2,5 TB. Po stazeni dat z Inetu nastava stavba indexu brokeru. Jaka je jeho vysledna velikost pri pouziti ruznych postupu, nevim. Ale vim, ze muze byt i priblizne stejna, jako rozsah nasmatranych dat (i pri pouziti hashingu).
Moje prvni otazka zni - pro Page Rank se pripravuje pole uz v gathereru (coz bych docela predpokladal) a pak se z gathereru nasledne vytahuji data pro Page Rank (coby mezifaze), nebo se vsechno pusti az na sestaveny index brokeru, nebo jinak?
Druha otazka - jak dlouho muze trvat prevedeni onech nejakych 2,5 TB nasmatranych dat do indexu, bezicim na spouste diskovych poli? Podotykam, ze vim, ze doba stavby indexu treba ze 4 GB muze trvat nekolik hodin na stredne rychlem pocitaci se SCSI.
Zpracovavani dat je vyhodne delat co nejvic davkove - tedy vzdy pro co nejvic dat najednou. Z toho duvodu pouzivaji mne zname vyhledavace postup, ze nejdriv vse stahnou, pak vse zpracuji.
K prvni otazce: Podle me je vhodne generovat databaze s linkovou strukturou uz za behu crawleru (gathereru), protoze crawler ji ke svemu behu beztak potrebuje. A PageRank bych pocital az nakonec, stejne jako reverzni databaze.
A k druhe: Stavba indexu (pokud myslite to, cemu rikam reverzni databaze, tedy prirazeni jednotlivym slovum seznam dokumentu) je take vec pomerne jednoducha a muzete pouzit stejny postup vypoctu jako ja v clanku: 4GB se prectou z disku za 4 minuty, pak totez musite zapsat, a nejspis bude vypocet tak na 2 pruchody, vynasobite tremi aby se nereklo... dohromady to podle me bude asi pulhodina. (diskove pole jsem neresil, vyse uvedene se tyka spis mensiho indexu, napr. ceskeho).
Pokud mate na mysli stavbu indexu s obri RAM (tedy s mensim naporem na vypocty na disku), pak budiz. Bez takove RAM je vsechno ponekud jinak (muj priklad se 4 GB dat se tykal cca 128 MB RAM, coz jsem zapomnel uvest).
Je tady nekdo, kdo by neco rekl k rozdelovani nasmatranych dat do indexu s velkym poctem diskovym poli?
Muj vypocet nejake obri velikosti RAM nevyzadoval, pro prakticke vyuziti tak 256MB a vic.
Pouzitim diskovych poli se podle me nic nezmeni. Pod unixy si jednotlive pocitace namapujete jako NFS a pristupujete k nim jako k jedinemu. Rozlozit databazi na vic souboru jste musel i v prikladu s 4GB (protoze FS mivaji omezeni na 2GB na soubor), takze kdyz nektere z rozlozenym souboru budou symlinky na uplne jiny stroj, algoritmus to ani nepozna.