La distribución del índice de un motor de búsqueda a lo largo del mundo podría aumentar su velocidad y eficiencia, según afirma un grupo de investigadores.
Las búsquedas en la web podrían ser más rápidas para los usuarios y mucho más eficientes para las compañías de búsqueda si los motores de búsqueda estuviesen divididos y distribuidos a lo largo del mundo, según señalan los investigadores de Yahoo.
En la actualidad, los motores de búsqueda están basados en un modelo centralizado, según explica Ricardo Baeza-Yates, investigador de Yahoo’s Labs en Barcelona. Esto significa que el índice del motor de búsqueda—la base de datos que actúa como núcleo y proporciona un listado de la localización e importancia relativa de la información almacenada a lo largo de la web—así como los datos adicionales, como por ejemplo el caché de copias de contenidos, están duplicados dentro de varios centros de datos en distintas localizaciones. La tendencia entre las compañías de búsqueda, afirma Baeza-Yates, ha consistido en operar una cantidad relativamente pequeña de enormes centros de datos a lo largo del globo.
Baeza-Yates y sus colegas han desarrollado otro método: un enfoque “distribuido,” mediante el que tanto el índice de búsqueda como los datos adicionales se distribuyen a lo largo de una mayor cantidad de centros de datos más pequeños. Con este método, los centros de datos más pequeños podrían contener información local relevante así como una pequeña porción de los datos globales duplicados. Muchas peticiones de búsqueda comunes a un área en particular se podrían responder utilizando el contenido almacenado en un centro de datos local, mientras que otras peticiones serían reenviadas a distintos centros de datos.
“Mucha gente ya ha hablado acerca de esto en el pasado,” afirma Baeza-Yates. Sin embargo hasta ahora se ha dado cierta resistencia, señala, puesto que muchas personas asumían que un método como este sería demasiado lento o caro. Tampoco estaba claro cómo asegurar que cada petición obtenía los mejores resultados globales y no sólo aquellos que el centro local fuese capaz de ofrecer. Unas cuantas startups incluso se han aventurado a lanzar motores de búsqueda P2P que toman su potencia de las propias máquinas de los usuarios. No obstante este método no ha resultado ser demasiado escalable.
Para poder lograr un sistema distribuido que funcione, Baeza-Yates y sus colegas lo diseñaron de tal forma que la información estadística sobre los rankings de páginas se pudiese compartir entre los distintos centros de datos. Esto permitiría a cada centro de datos ejecutar un algoritmo que compare sus resultados con los de los demás. Si un centro de datos obtiene un resultado estadísticamente mejor, la petición de búsqueda se envía a dicho centro.
El grupo puso a prueba el método distribuido durante un estudio de viabilidad, utilizando datos de búsqueda reales. Presentaron sus descubrimientos esta semana en la Conferencia sobre Administración de la Información y el Conocimiento de la Asociación de Maquinaria de Computación en Hong Kong, donde recibirán el premio al mejor estudio.
“Queríamos probar que podíamos conseguir el mismo rendimiento [que el modelo centralizado] sin que costase demasiado,” afirma Baeza-Yates. De hecho, descubrieron que su método podría reducir los costes generales de operación de un motor de búsqueda hasta un 15 por ciento sin comprometer la calidad de las respuestas.
“Es un método válido,” afirma Bruce Maggs, profesor de ciencias informáticas en la Universidad Duke de Durham, Carolina del Norte, y vicepresidente de investigación en Akamai, un compañía de distribución y almacenamiento temporal (caching) de contenidos web con sede en Cambridge, Massachusetts. La duplicación completa de una base de datos en múltiples localizaciones, lo que normalmente hacen las companías de búsquedas, es poco eficiente, afirma Maggs, puesto que sólo se accede a una pequeña porción de los datos en cada lugar. Un método distribuido “también logra ahorros significativos en el resto de aspectos y con la misma proporción, como por ejemplo los costes de capital y de bienes inmobiliarios,” afirma. Esto se debe a que, de forma general, el número de servidores necesarios es menor.
Para los usuarios las ventajas consistirían en resultados de búsqueda más rápidos. Esto se debe a que la mayoría de las respuestas vendrían dadas por el centro que estuviese más próximo a nivel geográfico. Un número de resultados más pequeño tomarían más tiempo del normal—pero sólo un 20 o un 30 por ciento más, afirma Baeza-Yates. “De media, la mayoría de las peticiones serán más rápidas,” afirma.
Maggs señala que la mejora en el rendimiento necesitaría ser lo suficientemente alta como para contrarrestar cualquier retraso en las peticiones de búsqueda que se tienen que enviar a centros más lejanos.
Según Peter Triantafillou, investigador en la Universidad de Patras en Grecia, y que se dedica al estudio de las búsquedas a gran escala, otra compensación vendría dada por el hecho de que, en contraste con la situación actual, un número mayor de usuarios obtendrían resultados distintos, dependiendo de dónde estuviesen. Esto ya ocurre de cierto modo incluso bajo el modelo centralizado, afirma, pero podría ser un problema si un numero mayor de búsquedas fuesen inconsistentes.
Sin embargo, y dado que los centros de datos de los motores de búsqueda ya albergan decenas de miles de servidores, no está claro que puedan continuar creciendo y seguir funcionando de forma eficiente, afirma Triantafillou. “¿Serán capaces de alcanzar una cifra de cientos de miles, o de millones?” afirma. Sólo la cuestión práctica de tener que instalar el cableado y los componentes ópticos dentro y fuera de este tipo de instalaciones ya supondría un grave problema, señala.
El método distribuido sigue siendo un objetivo a largo plazo, según admite Baeza-Yates. “Sin embargo en el mundo de internet,” añade, “algo a ‘largo plazo’ sucede alrededor de cinco años después.”