Documentos de Académico
Documentos de Profesional
Documentos de Cultura
URLs
URLs
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
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
Contenidos
Introduccin
Caractersticas de Google
Arquitectura de Google p g Exploracin de la web: Crawling Bsquedas Datos estadsticos y de implementacin Conclusiones
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
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 (
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
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
13
Arquitectura
URL Server
Crawler
Store Server
Anchors
Repository
URL Resolver Indexer
Barrels
Links Doc. Index Sorter
Lexicon
PageRank
Searcher
14
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
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
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
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
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
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
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
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
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
23
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
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
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
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
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
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.
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
ndice de documentos Almacena informacin sobre cada documento d d t ndice ISAM (Index Sequential Access Mode) ordenado por el docID
Doc. Index
entradas
(1)
docInfo file URL | ttulo
Documento descargado
Documento no descargado g
(2)
Lista de URLs
(en el Servidor de URLs)
31
Diccionario
Base de datos de los trminos existentes en los documentos Actualmente (1998) contiene 14 millones de entradas
Lexicon
Lista de trminos
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
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
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
35
Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l
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
37
38
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
40
Proceso
1
Anlisis sintctico de la consulta
4 5 6 7
NST - Estructura de Google
Examinar cada doclist hasta encontrar un documento que cumpla los requisitos de la bsqueda
Asegurar que se hace el paso 4 en todos los barrels, hasta el final de la bsqueda.
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
42
Contenidos
Introduccin Caractersticas de Google Arquitectura d Google A i de G l Exploracin de la web: Crawling Bsquedas
43
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
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
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
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.
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.
49