1 / 75

Google logo – 24 . august 2011

Google logo – 24 . august 2011. Sådan virker. Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet Ungdommens Naturvidenskabelige Forening Aarhus, 25. august 2011. (måske). Hvornår har du sidst brugt Google ?. Seneste time Idag Denne uge Denne måned Aldrig.

hung
Download Presentation

Google logo – 24 . august 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google logo – 24. august 2011

  2. Sådan virker GerthStøltingBrodal DatalogiskInstitut Aarhus Universitet UngdommensNaturvidenskabeligeForening Aarhus, 25. august 2011 (måske)

  3. Hvornår har du sidst brugt Google? • Seneste time • Idag • Denne uge • Denne måned • Aldrig

  4. Internetsøgemaskiner(April 2011) marketshare.hitslink.com

  5. Internettets Historie

  6. HistoriskePerspektiv • 1969 Første ARPANET forbindelser - startenpåinternettet • 1971 Første email, FTP • 1990 HTML sprogetdefineres • 1991-1993 få kender til HTML • 1993 Mosaic web-browser • 1993 Lycos • 1994 WebCrawler • 1995 Yahoo!, Altavista • 1998 Google • 2004 Facebook • 2005 YouTube • ....

  7. Internettet — WorldWideWeb • Meget stor mængde ustruktureret information. • Hvordan finder man relevant info? Søgemaskiner! • 1994 Lycos,. . . • 1996 Alta Vista: mange sider • 1999 Google: mange sideroggod ranking

  8. SøgemaskinernesBarndom Henzinger @ Google, 2000

  9. 2004

  10. 2009

  11. 2011

  12. ModerneSøgemaskiner Imponerende performance • Søger i 1010 sider • Svartider 0,1 sekund • 1000 brugereisekundet • Finder relevantesider

  13. Nye Krav til Søgemaskiner • Dynamiske websider: Nyheder, Twitter, Facebook, ... • Personlig ranking: Baseret på hidtige besøgte websider, gmail, social netværk, ...

  14. Starteti 1995 somforskningsprojektvedStanford Universitet af ph.d. studerende Larry Page og Sergey Brin • Privat firma grundlagt 1998 • Ansvarlig for hovedparten afalle internet-søgninger • Hovedsædei Silicon Valley google≈ googol = 10100

  15. Hvilken Google bygning er dette ? • Arkiv over periodiske kopier af internettet • Supercomputer • Laboratorium for højhastighedsnetværk • Distributionslager af firma løsninger

  16. Hvilken Google bygning er dette ? • Arkiv over periodisk kopier af internettet • Supercomputer • Laboratorium for højhastighedsnetværk • Distributionslager af firma løsninger

  17. (2004) • +8.000.000.000 web sider (+20 TB) • PageRank: +3.000.000.000 siderog +20.000.000.000 links • +2 Terabyte index, opdateres en gang ommåneden • +2.000.000 termer iindeks • +150.000.000 søgningeromdagen (2000 isekundet) • +200 filtyper: HTML, Microsoft Office, PDF, PostScript, WordPerfect, Lotus ... • +28 sprog

  18. (2004) • Cluster af +10.000 Intel servere med Linux • Single-processor • 256MB–1GB RAM • 2 IDE diske med 20-40Gb • Fejl-tolerance: Redundans • Hastighed: Load-balancing

  19. Google server, april 2009

  20. Datacentre (gæt 2007) • INTERNATIONAL • Toronto, Canada • Berlin, Germany • Frankfurt, Germany • Munich, Germany • Zurich, Switzerland • Groningen, Netherlands • Mons, Belgium • Eemshaven, Netherlands • Paris • London • Dublin, Ireland • Milan, Italy • Moscow, Russia • Sao Paolo, Brazil • Tokyo • Hong Kong • Beijing USA • Mountain View, Calif. • Pleasanton, Calif. • San Jose, Calif. • Los Angeles, Calif. • Palo Alto, Calif. • Seattle • Portland, Oregon • The Dalles, Oregon • Chicago • Atlanta, Ga. (x 2) • Reston, Virginia • Ashburn, Va. • Virginia Beach, Virginia • Houston, Texas • Miami, Fla. • Lenoir, North Carolina • Goose Creek, South Carolina • Pryor, Oklahoma • Council Bluffs, Iowa

  21. www-db.stanford.edu/pub/papers/google.pdf

  22. Opbygning af en Søgemaskine [Arasu et al., 2001]

  23. En søgemaskines dele Indsamlingaf data • Webcrawling (gennemløbaf internet) Indeksering data • Parsningafdokumenter • Leksikon: indeks (ordbog) over alleordmødt • Inverteretfil: for alleordileksikon, angivihvilkedokumenter de findes Søgningi data • Find alledokumenter med søgeordene • Rankdokumenterne

  24. Crawling

  25. Webcrawling=Grafgennemløb startside S = {startside} repeat fjern en side sfraS parse sog find alle links (s, v) foreach (s, v) ifv ikke besøgt før indsætviS S

  26. Statistik [Fra: Najork and Heydon, 2001]

  27. robots.txt @

  28. Robusthed • NormaliseringafURLer • Parsningafmalformet HTML • Mange filtyper • Forkert content-type fra server • Forkert HTTP response code fra server • Enorme filer • Uendelige URL-løkker (crawler traps) • ... Vær konservativ – opgiv at finde alt Crawling kan tage måneder

  29. Designovervejelser - Crawling • Startpunkt (initial S) • Crawl-strategi (valgafs) • Mærkningafbesøgtesider • Robusthed • Ressourceforbrug (egne og andres ressourcer) • Opdatering: Kontinuert vs. periodisk crawling S = {startside} repeat fjern en side sfraS parse sog find alle links (s, v) foreach (s, v) ifv ikke besøgt før indsætviS Output: DB med besøgte dokumenter DB med links idisse (kanterneiInternetgrafen) DB med DokumentID–URL mapning

  30. Crawling Strategi ? • Breddeførstsøgning • Dybdeførstsøgning • Tilfældignæstes • Prioriteretsøgning, fx • Sider som opdateres ofte (kræver metode til at estimatereopdateringsfrekvens) • Efter vigtighed (kræver metode til at estimere vigtighed, fxPageRank) S = {startside} repeat fjern en side sfraS parse sog find alle links (s, v) foreach (s, v) ifv ikke besøgt før indsætviS

  31. Hvilken crawling strategierbedst? • Breddeførstsøgning (“ringeivandet”) • Dybdeførstsøgning (“søgi en labyrint”) • Ved ikke S = {startside} repeat fjern en side sfraS parse sog find alle links (s, v) foreach (s, v) ifv ikke besøgt før indsætviS

  32. Hvilken crawling strategierbedst? • Breddeførstsøgning (“ringeivandet”) • Dybdeførstsøgning (“søgi en labyrint”) • Ved ikke S = {startside} repeat fjern en side sfraS parse sog find alle links (s, v) foreach (s, v) ifv ikke besøgt før indsætviS

  33. Crawling : BFS virker godt Fra et crawl af 328 millioner sider [Najork & Wiener, 2001]

  34. PageRank prioritet er endnu bedre(men mere beregningstung. . . ) Crawl af 225.000 sider på Stanford Universitet [Arasu et al., 2001]

  35. Resourceforbrug • Egneresourcer • Båndbredde (global request rate) • Lagerplads (brugkompakterepræsentationer) • Distribuér på flere maskiner (opdel fx rummet af ULR’er) • Andres resourcer (politeness) • Båndbredde (lokal request rate); tommelfingerregel: 30 sekundermellem request tilsamme site. • Robots Exclusion Protocol (www.robotstxt.org) • Givkontakt info i HTTP-request

  36. Erfaringerang. Effektivitet • Brug caching (DNS opslag, robots.txt filer, senest mødte URL’er) • Flaskehalseroftedisk I/O under tilgangtildatastrukturerne • CPU cycler er ikke flaskehals • En tunet crawler (påeenellerfåmaskiner) kancrawle200-400 sider/sek 35 mio sider/dag

  37. Indeksering

  38. Indekseringafdokumenter • Preprocessér en dokumentsamlingsådokumentermed et givet søgeord kan blive returneret hurtigt Input: dokumentsamling Output: søgestruktur

  39. Indeksering: Inverteretfil + leksikon • Inverteret fil = for hvert ord w en liste af dokumenter indeholdendew • Leksikon= ordbog over alle forekommende ord (nøgle = ord, værdi = pointer tillisteiinverteretfil + evt. ekstrainfo for ordet, fx længde af listen) For en milliard dokumenter: Inverteretfil: totaleantalord 100 mia Leksikon: antal forskellige ord 2 mio DISK RAM

  40. InverteretFil • Simpel (forekomst af ord i dokument): ord1: DocID, DocID, DocID ord2: DocID, DocID ord3: DocID, DocID, DocID, DocID, DocID, ... ... • Detaljeret (alle forekomster af ord i dokument): ord1: DocID, Position, Position, DocID, Position ... ... • Endnu mere detaljeret: Forekomstannoteret med info (heading, boldface, anker text,. . . )Kan bruges under ranking

  41. Bygningaf index foreachdokument D isamlingen Parse D ogidentificérord foreachord w Udskriv (DocID, w) if w ikkeileksikon indsæt w ileksikon Disk sortering (MapReduce) Inverteretfil (1, 2), (1, 37), ... , (1, 123) , (2, 34), (2, 37), ... , (2, 101) , (3, 486), ... (22, 1), (77, 1), . . . , (198, 1) , (1, 2), (22, 2), . . . , (345, 2) , (67, 3), . . .

More Related