A partir de 2004, he creado una serie de redes publicitarias y también he mejorado la tecnología de muchas redes publicitarias preexistentes. Algunos puedo hablar y otros no debido a los acuerdos de no divulgación.
Lo primero que debe tener en cuenta es que la tecnología de una red publicitaria cambiará con el tiempo. El tipo de tecnología de red publicitaria que cree para manejar 1,000 de visitas por segundo será diferente a la tecnología de red publicitaria que construya para manejar 100,000 de visitas por segundo. (Tenga en cuenta que es probable que no desee crear tecnología de red publicitaria para manejar 100.000 visitas por segundo desde el principio, ya que el costo sería enorme, en comparación con el costo de la que puede manejar 1,000 de visitas por segundo segundo: construye tecnología de red publicitaria que puede manejar 100.000 visitas por segundo cuando lo necesita y cuando los ingresos lo justifican).
Lo siguiente a tener en cuenta es que una red publicitaria no es un sistema de servidor único (como se ve en los sitios web de pequeñas empresas). La tecnología de red publicitaria estará compuesta por un conjunto de computadoras y algunas de estas computadoras tendrán diferentes funciones. (Es decir, habrá clases de computadoras). Por ejemplo, podría haber una computadora que sea un servidor de base de datos maestra o, mejor aún, podría haber un grupo de computadoras que colectivamente actúen como la base de datos maestra. Podría haber computadoras dedicadas a hacer cálculos y datos de “masaje”. Podría haber computadoras dedicadas a servir anuncios. Podría haber computadoras que manejen los sitios web administrativos. Etc. Por supuesto, los tipos de computadoras que mencioné pueden cambiar a medida que cambia la arquitectura.
- Algoritmos: ¿Cómo encuentro un elemento en una secuencia que sea más pequeño que mi número en la secuencia, a la izquierda de mi número y a la derecha de todos esos elementos?
- Cómo resolver la recurrencia t (n) = 2t (n / 2) + n / logn
- ¿Cómo funciona el algoritmo AQ?
- ¿Qué estoy haciendo mal al determinar el big-O de estas funciones Java?
- ¿Los algoritmos de aprendizaje profundo representan métodos basados en conjuntos?
Otra cosa a tener en cuenta es que la tecnología de red publicitaria tiende a ser un circuito de retroalimentación. El sistema recopila constantemente información y la utiliza para tomar decisiones (como qué anuncio mostrar a cada persona).
Para mostrar anuncios, a menudo una red de anuncios tendrá una granja de computadoras. Estas computadoras podrían estar ubicadas en el mismo centro de datos, o podrían distribuirse en muchos centros de datos en todo el mundo. Estos pueden comenzar como una máquina LAMP que realiza llamadas a la base de datos, pero a medida que aumentan las necesidades de escalado, a menudo se necesita el almacenamiento en caché. (A veces, las uniones de tabla SQL pueden ser demasiado caras. A veces, cualquier acceso a la base de datos puede ser demasiado costoso. A veces, el acceso al disco puede ser demasiado costoso. Y a veces es necesario comenzar desde cero y volver a diseñar el sistema).
La colección de palabras clave también tiende a tener un carácter similar. Una granja de computadoras que rastrean la web. Una (posiblemente) otra granja de computadoras que procesan los datos. Etc.
Obviamente apenas he arañado la superficie. Alguien podría escribir un libro sobre el tema. Aunque creo que algunas cosas que la mayoría de las personas saben dudarán en compartir; como cómo escribir el sistema de “optimización” que decide el anuncio para mostrar qué personas.