Está en la página 1de 49

Recuperacin de Informacin en Internet:

Estructura de Google g
Martn Llamas Nistal
Nuevos Servicios Telemticos Curso 2007 2008 2007-2008

Contenidos Introduccin Caractersticas de Google Arquitectura de Google Exploracin de la web: Crawling Crawling Bsquedas Datos estadsticos y de implementacin Conclusiones

NST - Estructura de Google

Qu es un motor de bsqueda?
Motor de Bsqueda: Un sistema de almacenamiento de oo squed : U s s e ce e o datos (base de datos) diseada para indexar direcciones web (url, ftp, etc.). Ejemplos: Google, Altavista, Excite, etc. Servicio de Directorio: igual que el motor de bsqueda, pero la indexacin se hace de forma manual. Ejemplo: Yahoo

NST - Estructura de Google

Evolucin histrica* (I)


Tamao de los Motores de Bsqueda Web (en millones de pginas indexadas) ( ill d i i d d )

NST - Estructura de Google

* Fuente: searchenginewatch.com (Dic 2001)

Evolucin histrica* (II)


Tamao de los Motores de Bsqueda Web (en millones de pginas indexadas)

* Fuente: searchenginewatch.com (Dic 2001)


NST - Estructura de Google 5

Tamao de los buscadores Web

* Fuente: searchenginewatch.com (Dic 2001)


NST - Estructura de Google 6

Contenidos
Introduccin

Caractersticas de Google
Arquitectura de Google p g Exploracin de la web: Crawling Bsquedas Datos estadsticos y de implementacin Conclusiones

NST - Estructura de Google

Caractersticas de Google Utiliza la informacin hipertextual de los documentos Web para calcular la relevancia de d i d cada pgina, utilizando lo que se denomina tili d l d i PageRank Utiliza los enlaces (links) y el texto de los mismos para mejorar los resultados de la bsqueda

NST - Estructura de Google

PageRank. Clculo

r (i ) = d

jB ( i )

r ( j ) / N ( j ) + (1 d ) / m

r(i) es el PageRank de la pgina i N(i) es el nmero de enlaces (salientes) de la pgina i B(i) es el nmero de pginas que apuntan a la pgina i m es el nmero total de nodos en el grafo d es el factor de decaimiento (entre 0 y 1) lf d d i i (

NST - Estructura de Google

PageRank
Recordamos que: eco d os Fcilmente calculable con algoritmos iterativos Caractersticas del navegante aleatorio: navegante El PageRank es la probabilidad de que este navegante p g partiendo de una de acabe en una determinada pgina web p entrada El factor d se puede ver como la probabilidad de que el navegante se aburra El PR para una pgina ser alto: Si existen muchas pginas apuntndola O aunque la apunten pocas pginas, stas tienen PR alto.
NST - Estructura de Google 10

Texto de los enlaces


La mayora de los buscadores asocian el texto de un enlace y (anchor text) con la pgina en la que aparece Google asocia el texto del enlace con la pgina a la que apunta t Ventajas/inconvenientes: El texto de los enlaces, con frecuencia, proporciona enlaces frecuencia descripciones sobre el contenido de las pginas ( g , Pueden existir enlaces a documentos (imgenes, programas, direcciones de e-mail, etc.) que no pueden ser indexados por motores de bsqueda textuales Permite d l P i devolver documentos en las bsquedas que no d l b d han sido rastreados Pueden devolver pginas inexistentes
NST - Estructura de Google 11

Caractersticas adicionales
Mantiene informacin de la posicin de los trminos que aparecen dentro de los documentos indexados, lo que permite bsquedas por proximidad (aunque luego no la hace) Mantiene informacin de la apariencia visual de los documentos (p.e: a las palabras marcadas en negrita o con un tamao de letra mayor se les concede mayor peso al calcular la relevancia) El cdigo HTML plano de los documentos est di l d l d t t disponible en los almacenes de Google
NST - Estructura de Google 12

Contenidos
Introduccin Caractersticas de Google

Arquitectura d Google A i de G l
Exploracin de la web: Crawling p g Bsquedas Datos estadsticos y de implementacin Conclusiones

NST - Estructura de Google

13

Arquitectura

URL Server

Crawler

Store Server

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

14

Arquitectura: Crawlers distribuidos

U URL Server Se e

Crawler

Store Server

Crawlers distribuidos

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index PageRank Sorter

Lexicon

Searcher

Permiten realizar el crawling o rastreo de los servidores web, con el fin de indexar la informacin que contienen
15

NST - Estructura de Google

Arquitectura: Servidor de URLs

URL Server

Crawler

Store Server

Anchors

Servidor de URLs
Repository R it
Indexer

URL Resolver

Barrels
Links Doc. Index Sorter

Lexicon

Enva a los crawlers una lista con los URLs que deben ser rastreados
16

PageRank

Searcher

NST - Estructura de Google

Arquitectura: Servidor de Almacenamiento

URL Server

Crawler

Store Server

Anchors

Servidor de almacenamiento
Comprime y almacena las pginas descargadas por los l crawlers l
17

Repository R it
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

Arquitectura: Almacn

URL Server

Crawler

Store Server

Anchors

Almacn
Repository
Indexer

URL Resolver

Barrels
Links Doc. Index Sorter

Lexicon

Lugar fsico en el que se almacenan los documentos comprimidos por el servidor de almacenamiento A cada pgina web se le asigna un nmero denominado docID
18

PageRank

Searcher

NST - Estructura de Google

Arquitectura: Indexador

URL Server

Crawler

Store Server

Indexador
Lee y descomprime los documentos existentes en el almacn: 1. 1 Realiza el parsing Cada parsing. documento se convierte en un conjunto de hits (palabra, posicin, tamao de fuente capitalizacin) fuente, 2. Extrae informacin importante de los links de cada documento. Esta informacin info macin se almacena en un n fichero de anclas
19

Anchors

Repository R it
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

Arquitectura: Indice de documentos

URL Server

Crawler

Store Server

ndice de documentos
Base de datos de almacenamiento de los docIDs

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

20

Arquitectura: Barrels

URL Server

Crawler

Store Server

Barrels
Conjunto de mini almacenes mini-almacenes en los que se guardan los hits generados por el indexador

Anchors

Repository R it
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

21

Arquitectura: Diccionario

URL Server

Crawler

Store Server

Diccionario
Almacena trminos junto con sus identificadores. Es utilizado por el indexador para i d d construir los hits

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

22

Arquitectura: Anclas

URL Server

Crawler

Store Server

Anclas
Almacena la informacin generada por el indexador: Desde y a donde apuntan l enlaces, y t los l su texto.

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

23

Arquitectura: Resolvedor de URLs

URL Server

Crawler

Store Server

Resolvedor de URLs
Lee los ficheros de enlaces y convierte los URLs relativos en absolutos. Adems les asigna un docID y lo i d ID l almacena

Anchors

Repository R it
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

24

Arquitectura: Enlaces

URL Server

Crawler

Store Server

Enlaces
Base de datos en los que se almacenan pares (enlace, (enlace docID)

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

Esta informacin ser utilizada para calcular el p PageRank de cada documento en las bsquedas
25

PageRank

Searcher

NST - Estructura de Google

Arquitectura: Clasificador

URL Server

Crawler

Store Server

Clasificador
Genera un ndice invertido de los hits existentes en los barrels. barrels 1. Asigna a cada trmino existente un identificador wordID. 2. Convierte el ndice de docIDs en uno de wordIDs
26

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

Arquitectura: PageRank

URL Server

Crawler

Store Server

PageRank
Encargado de calcular el PageRank de cada documento que cumple las restricciones impuestas en una bsqueda. Este clculo se realiza basndose en la informacin almacenada en la base de datos de Enlaces

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

27

Arquitectura: Buscador

URL Server

Crawler

Store Server

Buscador
Se ejecuta en un servidor Web y es el encargado de realizar las bsquedas para responder a las peticiones de los clientes Utiliza el lxico generado por el indexador, indexador el ndice invertido generado por el clasificador y la informacin sobre el PageRank para calcular la relevancia de cada documento
28

Anchors

Repository
URL Resolver Indexer

Barrels
Links Doc. Index Sorter

Lexicon

PageRank

Searcher

NST - Estructura de Google

BigFiles
Paquete software para gestin de ficheros. Ficheros virtuales que abarcan varios tipos de sistemas de ficheros ficheros. Direccionables por enteros de 64 bits. Gestiona de forma automtica la asignacin en mltiples sistemas de ficheros. Gestiona tambin la asignacin y desasignacin de los descriptores de los ficheros. (SO no lo hace de manera adecuada) Proporciona opciones bsicas de compresin.

NST - Estructura de Google

29

Almacn
Contiene el cdigo HTML de cada pgina descargada Se almacena la informacin comprimida con formato zlib (RFC 1950) Estructura de datos simple: ayuda a consistencia de datos y it i d d t facilita el desarrollo.
NST - Estructura de Google

Repository

entradas

Bit sincronismo | tamao fichero | fichero comprimido

Para cada fichero

docID | cdigo | longitud URL | tamao pgina | url | pgina web 30

ndice de documentos Almacena informacin sobre cada documento d d t ndice ISAM (Index Sequential Access Mode) ordenado por el docID

Doc. Index

conversion file URL docID

entradas

status pointer checksum statistics additional pointer


varios puntero estado del puntero al checksum estad st cos ad c onal documento almacn (errores) estadsticos adicional

(1)
docInfo file URL | ttulo
Documento descargado

Documento no descargado g

(2)

Lista de URLs
(en el Servidor de URLs)

NST - Estructura de Google

31

Diccionario
Base de datos de los trminos existentes en los documentos Actualmente (1998) contiene 14 millones de entradas

Lexicon

Lista de trminos

Tabla hash de punteros

Generados por el programa DumpLexicon p g p

NST - Estructura de Google

32

Hits

Cada hit 2 bytes 2 tipos: Fancy hits (URLs, texto enlaces, etiquetas meta, ttulo) Plain hits (resto)

Plain hits
bit maysculas tamao fuente Posicin del trmino en el documento

Fancy hits
111 tipo posicin bit maysculas

Anchor hits
Hashcode del Posicin dentro del docID en el que texto del enlace aparece el enlace l l

NST - Estructura de Google

33

ndice directo
ndice ordenado almacenado en los barrels (actualmente 64) Cada barrel un rango de wordIDs (identificadores numricos)

Barrels

entradas

docID del documento Lista de wordIDs correspondientes a los trminos de los hits de cada entrada Longitud t t l d l li t d hit L it d total de la lista de hits almacenados a continuacin Lista de hits correspondientes a los wordIDs indicados Separador de entradas

NST - Estructura de Google

34

ndice invertido

ndice directo procesador por f el clasificador Se crea un doclist de docIDs que representa las ocurrencias de t i d un trmino en todos los t d l documentos en los que aparece p Se crean los punteros entre las entradas del diccionario y las entradas correspondientes en t d di t el doclist

diccionario

ndice invertido

wordID del trmino Nmero de documentos en los que aparece Punteros a las entradas unt ros as ntra as correspondientes a dichos documentos en el doclist docID del documento longitud de l li t d hit que se l it d d la lista de hits almacenan a continuacin lista de hits del documento

NST - Estructura de Google

35

Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l

Exploracin de la web: Crawling p g


Bsquedas Datos estadsticos y de implementacin Conclusiones

NST - Estructura de Google

36

Conceptos
Crawling: Rastrear servidores Web con el fin de indexar la informacin que almacenan Tarea complicada. Motivos: complicada Es necesario tener en cuenta cuestiones de rendimiento y fiabilidad di i t fi bilid d Supone interactuar con miles de servidores Web y servidores de nombres que estn fuera del control del sistema

NST - Estructura de Google

37

Crawling en Google (i)


Sistema de crawlers distribuidos El servidor de URLs proporciona una lista de URLs a cada uno de los crawlers Cada crawler mantiene abiertas 300 conexiones al mismo tiempo i ti Hasta 100 pags. Web/seg. Utilizando 4 crawlers Tasa de datos alrededor de 600k/seg

NST - Estructura de Google

38

Crawling en Google (ii)


Cada crawler mantiene una cach DNS propia. propia Mejora de rendimiento ya que se reduce considerablemente el nmero de veces que el crawler tiene que acceder a un servidor de nombres (DNS) externo

NST - Estructura de Google

39

Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l Exploracin de la web: Crawling

Bsquedas
Datos estadsticos y de implementacin Conclusiones

NST - Estructura de Google

40

Proceso
1
Anlisis sintctico de la consulta

Convertir trminos en wordIDs

Buscar los doclists en los barrels correspondientes

4 5 6 7
NST - Estructura de Google

Examinar cada doclist hasta encontrar un documento que cumpla los requisitos de la bsqueda

Calcular el ranking del documento

Asegurar que se hace el paso 4 en todos los barrels, hasta el final de la bsqueda.

Ordenar l d d los documentos por ranking y devolverlos al usuario


41

Prestaciones
Ranking ordenado y ponderado de acuerdo al PageRank de cada pgina Prioridad de la calidad de las bsquedas sobre la eficiencia (en tiempo) de las mismas Lmite d l ti L it del tiempo de respuesta: una vez que se ha d t h encontrado un nmero determinado de documentos (40.000, t l (40 000 actualmente) se d t ) devuelven resultados l lt d parciales

NST - Estructura de Google

42

Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l Exploracin de la web: Crawling Bsquedas

Datos estadsticos y de implementacin


Conclusiones

NST - Estructura de Google

43

Datos estadsticos en 1998 (i)

Estadsticas de almacenamiento Tamao total de pginas descargadas 147,8 GB Almacn de pginas comprimidas 53,5 GB ndice invertido (pequeo) 4,1 GB ndice invertido (total) 37,2 37 2 GB Diccionario 293 MB Datos de enlaces (anchors) temporal 6,6 GB , G ndice de documentos 9,7 GB Base de datos de enlaces 3,9 GB Tamao total sin el Almacn 55,2 GB Tamao total con el Almacn 108,7 GB
NST - Estructura de Google 44

Datos estadsticos en 1998 (ii)

Estadsticos de pginas Web E t d ti d i Wb


Nmero de pginas descargadas p g g Nmero de URLs visitados Nmero de direcciones de e-mail Nmero de pginas con error 404 (404: Page not found on this server)

24 millones 76,5 millones 1,7 ill 1 millones 1,6 millones

NST - Estructura de Google

45

Lenguajes de programacin

La amplia mayora de los mdulos que componen la arquitectura estn implementados en C y C++ i l t d Ejecucin sobre Solaris y Linux j Los Crawlers y el Servidor de URLs estn implementados en Perl

NST - Estructura de Google

46

Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l Exploracin de la web: Crawling Bsquedas Datos estadsticos y de implementacin

Conclusiones

NST - Estructura de Google

47

Conclusiones
Google proporciona una arquitectura modular para un motor de bsqueda El nfasis del diseo se ha puesto ms en mejorar la calidad de los resultados de las bsquedas que en lograr un elevado rendimiento temporal (aunque el tiempo de devolucin de resultados est limitado) Para j P mejorar los resultados devueltos se aprovechan l lt d d lt h datos como el texto de los enlaces, el tamao la fuente, t f t etc.

NST - Estructura de Google

48

Referencia

S. S Brin y L. Page. L Page y g The anatomy of a large-scale hypertextual Web search engine. 7th International World Wide Web 7hI l W ld W d W b Conference, f , Brisbane, Australia, April 1998.

NST - Estructura de Google

49

También podría gustarte