Sobre la tecnología detrás de Google Instant

Sin duda la gran ventaja tecnológica que actualmente tiene Google sobre sus competidores ha ayudado de gran manera a llegar al nuevo interfaz del buscador: Google Instant.

Ya en el 2005 Yahoo tenia un proyecto similar, el de mostrar resultados a medida que el usuario iba tecleando su consulta. Debido a diversos motivos, pero también por la falta de una infraestructura tecnológica adecuada para poder soportar esa inmensa cantidad de peticiones a sus servidores, este servicio nunca fue puesto online.

Hace unos días atrás, Eisar Lipkovitz, el director de ingeniería de Google ha explicado en este artículo Google caffeine explained alguno de los principios de la  nueva infraestructura del buscador: Caffeine, pero también ha mencionado que en la conferencia OSDI 10 en el mes de Octubre se presentará un paper com más detalles sobre el sistema.

Según Lipkovitz, Caffeine ha hecho posible, ademas de usar nuevas tecnologías en caching, el lograr procesar la inmensa cantidad de peticiones que generan los navegadores a medida que los usuarios teclean su consultas.

According to Eisar Lipkovitz, a senior director of engineering at Google, Caffeine moves Google’s back-end indexing system away from MapReduce and onto BigTable, the company’s distributed database platform.

As Google’s Matt Cutts told us last year, the new search infrastructure also uses an overhaul of the company’s GFS distributed file system. This has been referred to as Google File System 2 or GFS2, but inside Google, Lipkovitz says, it’s known as Colossus.

Resumiendo esta entrevista, la idea principal es que anteriormente el indice del buscador estaba basado en MapReduce y la creación del indice era un proceso batch (procesamiento por lotes). MapReduce recibía la información de los rastreadores, y la dividía en grupos como por ejemplo links, metadatos, etc. De esta manera se podía determinar el PageRank y la relación de un sitio web con todos los otros.

El problema de MapReduce es que esta basado en procesamientos secuenciales de muchos pasos, es decir que no se puede comenzar un proceso hasta que el anterior no haya concluido. Y si se comete un error, se debe comenzar todo nuevamente.

Anteriormente, el indice de Google estaba divido en diferentes capas, y algunas capas se actualizaban más rápidamente que otras. La capa principal se no se podía actualizar en menos de 15 días. Para refrescar el antiguo indice era necesario primero rastrear toda la web lo que significaba un retraso significante para generar un nuevo índice, el que luego era propagado a todos los data centers.

Ahora con Google File System 2 ( GFS2, una plataforma distribuida para almacenar datos en base a BigTable) que en Google internamente lo llaman “El Coloso” todo ha cambiado: Todo es incremental. Apenas una nueva página ha sido rastreada, esta puede ser indexada inmediatamente y aparecer en segundos en los resultados del buscador.

Con Caffeine, Google analiza pequeñas porciones de la web y actualiza el índice del buscador continuamente y en forma global. Y justamente esta es la base de los “resultados en tiempo real”.

Según Ben Gomes el jefe ingeniero detrás de Instant, Caffeine no fue creada pensando en Instant, pero ha ayudado mucho a realizar el servicio del streaming de búsqueda.

2 Respuestas a Sobre la tecnología detrás de Google Instant

  1. Antonio Casanova 25/9/2010 a 13:35 #

    Felicidades Max, muy buen articulo.

    Un saludo,

    Antonio

  2. Max Glaser 25/9/2010 a 13:39 #

    Antonio,
    Gracias 😀