Enhancing OLAP Resilience at LinkedIn

Este artículo presenta un marco integral de mecanismos de resiliencia desarrollados para Apache Pinot en LinkedIn, incluyendo aislamiento de cargas de trabajo, reequilibrio sin impacto y selección adaptativa de servidores, que garantizan baja latencia y alta disponibilidad en sistemas OLAP a gran escala.

Praveen Chaganlal, Jia Guo, Vivek Vaidyanathan, Dino Occhialini, Sonam Mandal, Subbu Subramaniam, Siddharth Teotia, Tianqi Li, Xiaxuan Gao, Florence Zhang

Publicado Tue, 10 Ma
📖 5 min de lectura🧠 Análisis profundo

Each language version is independently generated for its own context, not a direct translation.

Imagina que LinkedIn es una ciudad gigante llena de bibliotecas (llamadas OLAP datastores) donde millones de personas van cada segundo a buscar información instantánea: "¿Quién vio mi perfil?", "¿Qué anuncios me gustan?", "¿Quién está contratando?".

Estas bibliotecas son inmensas (petabytes de datos) y deben responder en menos de un segundo. Si una biblioteca se cae, se llena de gente o un libro pesado bloquea el pasillo, todo el sistema se vuelve lento.

Este artículo explica cómo los ingenieros de LinkedIn construyeron un sistema de defensa y gestión para que estas bibliotecas nunca se rompan, incluso cuando ocurren desastres, hay demasiada gente o se hacen reformas.

Aquí tienes los cuatro pilares de su solución, explicados con analogías sencillas:

1. El "Guardián de Presupuestos" (Aislamiento de Cargas de Trabajo)

El Problema: Imagina que en una biblioteca compartida, un grupo de investigadores empieza a hacer cálculos matemáticos tan complejos que ocupan todas las sillas y la electricidad. De repente, los usuarios normales que solo querían buscar un libro no pueden entrar porque el sistema se ha quedado sin energía. A esto se le llama el problema del "vecino ruidoso".

La Solución (QWI):
LinkedIn creó un sistema de presupuestos individuales.

  • Cada grupo de usuarios (por ejemplo, "los que buscan ofertas de trabajo" y "los que ven noticias") recibe su propia tarjeta de crédito virtual con un límite de CPU y memoria.
  • Si un grupo intenta gastar más de lo que tiene, el sistema corta la conexión de sus consultas más pesadas inmediatamente, como si un cajero te dijera: "Tu tarjeta se ha quedado sin fondos, por favor, espera".
  • Resultado: Si un grupo se vuelve loco y consume todo, los demás siguen funcionando perfectamente. Es como tener muros de contención en una piscina: si un saltador hace una ola gigante, no se lleva a los demás nadadores por delante.

2. El "Arquitecto a Prueba de Desastres" (Reparto de Datos Inteligente)

El Problema: Las bibliotecas a veces necesitan reformas (actualizaciones de software) o se apagan secciones enteras por mantenimiento (zonas de mantenimiento). Si todos los libros importantes están en la misma sección, cuando esa sección se apaga, nadie puede leer nada.

La Solución (Conciencia de Zonas de Mantenimiento):
En lugar de poner todos los libros de un mismo tema en la misma estantería, el sistema asegura que cada copia de un libro esté en un edificio diferente (en diferentes "zonas" eléctricas o de seguridad).

  • El Algoritmo: Es como un organizador de mudanzas muy inteligente. Si sabe que van a apagar el edificio "A", mueve los libros de "A" a los edificios "B" y "C" antes de que se apague la luz, pero sin causar caos.
  • El Truco: Usa un método de "intercambio" (swap) para mover los libros de forma que, si un edificio entero desaparece, siempre quede al menos una copia del libro en otro lugar seguro.

3. El "Camión de Mudanza Fantasma" (Reequilibrio sin Impacto)

El Problema: Cuando se añaden nuevas bibliotecas o se mueven libros de un lugar a otro, el proceso de mover esos libros suele ser lento y ruidoso, haciendo que las búsquedas se vuelvan lentas para los usuarios.

La Solución (Reequilibrio sin Impacto):
Imagina que quieres mover una estantería pesada en medio de una fiesta. Si la mueves de golpe, la fiesta se detiene.

  • La Estrategia: Primero, el sistema desvía a los invitados (las consultas) de esa estantería. Espera a que nadie la esté usando.
  • Luego, mueve los libros (los datos) rápidamente.
  • Finalmente, vuelve a abrir la estantería.
  • La Magia: Si no se puede vaciar una estantería por completo porque hay demasiados libros, el sistema mueve solo un "paquete pequeño" de libros a la vez en todas las estanterías, asegurándose de que siempre haya suficientes copias disponibles para que nadie se quede sin información. Es como cambiar las ruedas de un coche mientras sigue rodando, pero con una precisión quirúrgica.

4. El "Taxista Inteligente" (Selección de Servidores Adaptativa)

El Problema: Imagina que tienes 10 taxis (servidores) para llevar a los clientes. Si uno de los taxis tiene el motor roto y va muy lento, pero el sistema sigue enviando clientes a él por turno (uno para cada taxi), todos los clientes que toquen ese taxi llegarán tarde.

La Solución (Selección Adaptativa):
El sistema de enrutamiento (el "Taxista") ya no usa un turno fijo. En su lugar, observa en tiempo real cómo va cada taxi.

  • Si un taxi va lento (porque se le calienta el motor o tiene mucho tráfico), el taxista deja de enviarle clientes y los manda a los taxis que van rápidos.
  • Usa un sistema de "puntuación": si un servidor tarda mucho, su puntuación baja y es menos probable que reciba trabajo.
  • El Toque Final: Para evitar que todos los taxistas se vuelvan locos y envíen a todos los clientes al mismo taxi "rápido" al mismo tiempo (lo que lo saturaría), usan un poco de azar controlado. Es como decir: "El taxi A es el mejor, pero enviemos el 90% de los clientes a él y el 10% al B, para que nadie se quede atrás".

En Resumen

LinkedIn ha creado un sistema donde:

  1. Nadie se lleva todo el presupuesto (Aislamiento).
  2. Los datos están siempre en lugares seguros (Conciencia de Zonas).
  3. Las reformas no detienen el servicio (Reequilibrio sin impacto).
  4. El tráfico se dirige automáticamente a los servidores sanos (Selección Adaptativa).

Gracias a esto, aunque haya fallos, picos de gente o actualizaciones, la experiencia del usuario en LinkedIn sigue siendo rápida y fiable, como si nada hubiera pasado.