¿Cuánto espacio en disco se requiere para operar un motor de búsqueda del tamaño de Google, Yahoo, Bing o DuckDuckGo, y cuánto costaría?

Gran pregunta y excelentes respuestas, así que permítanme intentar agregar a la discusión.

Estoy de acuerdo con Michal en que 10 KB / página, más aproximadamente lo mismo para el índice, es aproximadamente lo que debe contar por página (vea también ¿Cuánto costaría construir un motor de búsqueda?).

La siguiente pregunta es, entonces, ¿cuántos (miles de millones) de páginas se necesitarían para construir y operar un motor de búsqueda de clase mundial?

Google dejó de informar sobre el tamaño de su índice hace mucho tiempo, en 2005, durante las guerras de motores de búsqueda ahora olvidadas.

En aquel entonces, Google, Yahoo y Microsoft se estaban superando mutuamente al afirmar que tenían el índice más grande. En un momento (2005), Yahoo afirmó que tenían 20 mil millones de enlaces, a los 8 mil millones de Google.

Poco después de eso, Google dejó de informar el tamaño de su índice en la página de inicio y tomó el terreno más alto al afirmar que sus resultados son los “más completos”.

En 2008, Cuil afirmó en el lanzamiento que su índice de 120 mil millones de páginas era más grande que Google. Google respondió apresuradamente afirmando que sabían aproximadamente 1 billón de URL, pero todo el episodio fue nuevamente olvidado rápidamente.

Hoy, estimaciones como http://worldwidewebsize.com muestran alrededor de 45 mil millones de enlaces para Google, en mi opinión, es correcto.

Por cierto, me parece realmente interesante que el tamaño del índice se haya estancado durante años, lo que coincide con otra respuesta aquí, de un usuario anónimo, que dice que la cantidad de servidores que Google ha dedicado a buscar (5000) es bastante pequeño. Pero yo divago …

La conclusión es que un índice de 10 mil millones de URL generaría un motor de búsqueda de clase mundial, que ocuparía alrededor de 200 TB y se dividiría en partes iguales entre los documentos y el índice.

Pero esta no es toda la historia, ya que uno necesitaría 200 TB para construir un solo clúster, con un límite en la cantidad de búsquedas simultáneas que podría admitir.

Con los discos tradicionales (magnéticos), dicho clúster podría soportar docenas de qps (consultas por segundo), digamos 100 qps. Con los SSD, ese número aumentaría al menos un orden de magnitud, a miles de qps.

Las cargas de consultas a escala de Google son en promedio 10K + qps, con picos un orden de magnitud más nuevamente, digamos 100K qps.

Entonces, para un pico de 100K qps, uno necesitaría 1000 clusters con 200PB de almacenamiento, o 20PB o menos con SSD.

Obviamente, todas estas estimaciones son muy aproximadas, pero deberían dar una idea de lo que se necesitaría. Hay muchos problemas más detallados, por ejemplo, hay varios niveles de velocidad en el índice de Google y no habría necesidad de usar SSD para las partes lentas, que comprenderían la mayor parte.

Teniendo todo esto en mente, los números aquí nuevamente están de acuerdo con la estimación del usuario anónimo de que Google usa 5000 máquinas basadas en SSD (con discos duros magnéticos convencionales también).

Lo que es IMO sorprendente es que 5000 máquinas como esa costarían $ 15-20 millones o menos. Para manejar picos de 100K qps, no tomaría más de unos pocos cientos de Gbps de ancho de banda, lo que cuesta hoy mucho menos de $ 1M / mes.

También hay un costo de rastreo, pero digamos, 100 Gbps, lo que sería mucho, proporcionando miles de millones de páginas rastreadas por día.

La factura anual final estaría entonces por debajo de los $ 100 millones, que es un error de redondeo en comparación con los ingresos anuales de Google. No es de extrañar que no quieran hablar sobre la escala de su hardware de búsqueda 🙂

Como Borislav señaló sucintamente en su respuesta, rastrear y mantener un nuevo índice de Internet completo se está convirtiendo en una mercancía en estos días (<$ 100 millones). La diferencia es: ¿cómo puedes monetizarlo? Aquí es donde fallaron DuckDuckGos, Cuils, Blekkos y todos los demás.

El problema contemporáneo en la búsqueda es que se necesita participación de mercado (globos oculares) para crear suficientes ingresos para hacer crecer un nuevo motor de búsqueda.

Hice un largo artículo llamado “Google va al lado oscuro” en el que detallaba cómo Google realmente está arruinando su motor de búsqueda debido a su insaciable demanda de más ingresos por PPC.

Además, en Market Brew, desarrollamos una forma de eludir estas mecánicas del mercado para nuevas empresas de nuevos motores de búsqueda. En lugar de vender anuncios PPC, una nueva empresa de motores de búsqueda podría simplemente vender los datos orgánicos.

¿Por qué? Porque la puesta en marcha del motor de búsqueda podría hacer crecer continuamente su motor de búsqueda, sin obstáculos, sin ningún cuidado de la cuota de mercado al principio. Todo lo que tienen que hacer es atraer a los vendedores que están pagando de más en la bomba PPC. Cada nuevo cliente = motor de búsqueda más grande.

FYI: Market Brew aún no ha elegido construir un motor de búsqueda público completo, pero tal vez en el futuro lo hagamos (ya hemos descubierto el modelo de negocio para vender datos orgánicos). Aquí está una de las patentes que archivamos en 2007, que resultó ser muy importante más adelante. Patente US20090132524 – Motor de análisis de sitios web navegables

Common Crawl ( http://commoncrawl.org ) proporciona un conjunto de datos público de páginas web de los últimos siete años. Los motores de búsqueda como Blekko han contribuido algunos de sus datos de rastreo al conjunto de datos. Según la página del conjunto de datos en el sitio web de Conjuntos de datos públicos de Amazon ( https://aws.amazon.com/datasets/ …), los 5 mil millones de páginas (sin comprimir, se incluyen solicitudes y respuestas HTTP) asciende a aproximadamente 541 TB.

Para un usuario de PC de escritorio doméstico, 541 TB es mucho, pero en realidad no es inimaginable. Muchas personas individualmente podrían tener decenas o incluso cientos de gigabytes de datos en su propia computadora, por lo que 541 terabytes equivalen al almacenamiento que usan unos pocos miles de personas.

La razón de esto es que el texto real y el HTML de las páginas web ocupan muy poco el ancho de banda en Internet. Los archivos de video, audio, imágenes, hojas de estilo y guiones constituyen la gran mayoría, pero los rastreadores web generalmente los ignoran o no los almacenan. El texto sin formato de Wikipedia, por ejemplo, solo tenía unos 14 GB en 2010, y con un crecimiento de aproximadamente el 50% en el recuento de artículos desde entonces, toda Wikipedia todavía está entre 20 y 30 GB.

Entonces, para un motor de búsqueda razonablemente completo, está viendo cientos de terabytes, excluyendo imágenes. Es probable que Google esté utilizando dos o tres órdenes de magnitud más datos, pero nuevamente están almacenando imágenes, videos de YouTube y mucho más también.

Si desea buscar solo texto y es bastante consciente de guardar espacio en disco (es decir, mantener solo texto sin formato, no html; comprimir todo), necesita aproximadamente 10kB por documento. Y otros 10kB para índices inversos, enlaces, etc.
Entonces, por cada mil millones de documentos, son 20 TB (que es bastante manejable).
Tenga en cuenta que este es el espacio de disco neto y probablemente desee replicar los datos muchas veces.

Google indexa, comprime y almacena la web pública “completa” en unos pocos miles (menos de 5000) máquinas con grandes unidades flash. Y tienen múltiples réplicas de esta configuración distribuidas en todo el mundo para distribuir la carga de tráfico. La web pública simplemente no es tan grande. Los datos privados como Gmail realmente ocupan mucho más espacio.

Hoy, si desea crear un motor de búsqueda en una escala similar a Google, etc., puede estimar conservadoramente unos pocos cientos de Petabyes de espacio en disco (estoy seguro de que es aún más). Pero lo que necesita concentrarse es en la potencia informática que necesitaría para procesar todos los datos que fluirían constantemente hacia su centro de datos. Tu enfoque debería estar en eso.

Google: “Nuestro índice supera los 100,000,000 gigabytes”
Fuente: rastreo e indexación

Multiplique 100 PB por una estimación aproximada del costo de almacenamiento y obtenga la respuesta. Mi conjetura sería de 1 $ por 100GB por mes, lo que resulta en costos de almacenamiento mensual de 1M $.