Índicela conferencia para ingenieros que crean aplicaciones de búsqueda, análisis e inteligencia synthetic a escala, tuvo lugar el pasado jueves 2 de noviembre, y los asistentes llenaron el laboratorio de aprendizaje del Museo de Historia de la Computación, así como la transmisión en vivo de Index.
La conferencia fue una maravillosa celebración de toda la innovación en ingeniería que implica la creación de aplicaciones que impregnan nuestras vidas. Muchas de las charlas mostraron aplicaciones del mundo actual, como motores de búsqueda, motores de recomendación y chatbots, y discutieron los procesos iterativos a través de los cuales se implementaron, ajustaron y ampliaron. Incluso tuvimos la oportunidad de conmemorar el décimo aniversario de RocksDB con un panel de ingenieros que trabajaron en RocksDB al principio de su vida. Index fue verdaderamente un momento para que los constructores aprendieran de las experiencias de otros, a través del contenido de la sesión o mediante conversaciones improvisadas.
Patrones de diseño para aplicaciones de próxima generación
El día comenzó con Venkat Venkataramani de conjunto de rocas preparando el escenario con lecciones aprendidas de la construcción a escala, destacando la elección de la pila correcta, la velocidad del desarrollador y la necesidad de escalar de manera eficiente. A él se unió Confluente El director ejecutivo Jay Kreps hablará sobre la convergencia de la transmisión de datos y GenAI. Una consideración clave es llevar los datos necesarios al lugar correcto y en el momento adecuado para estas aplicaciones. Incorporar la actividad más reciente (nuevos datos sobre la empresa o los clientes) e indexar los datos para recuperarlos en tiempo de ejecución utilizando una arquitectura RAG es essential para impulsar las aplicaciones de IA que deben estar actualizadas con la empresa.
Venkat y Jay fueron seguidos por una gran cantidad de oradores distinguidos, que a menudo profundizaron en detalles técnicos mientras compartían sus experiencias y conclusiones de la creación y ampliación de aplicaciones de búsqueda e inteligencia synthetic en empresas como Uber, Pinterest y Roblox. A medida que avanzaba la conferencia, varios temas surgieron de sus charlas.
Evolución en tiempo actual
Varios presentadores hicieron referencia a una evolución dentro de sus organizaciones, en los últimos años, hacia la búsqueda en tiempo actual, el análisis y la IA. Nikhil Garg de Hinojo describió sucintamente cómo el tiempo actual significa dos cosas: (1) entrega en línea de baja latencia y (2) entrega de resultados actualizados, no precalculados. Ambos importan.
En otras conversaciones, JetBlue Sai Ravruru y Ashley Van Identify hablaron sobre cómo la transmisión de datos es esencial para su análisis operativo interno y aplicación y sitio internet orientados al clientemientras que Girish Baliga describió cómo Úber crea una ruta completa para sus actualizaciones en vivo, que implica la ingesta en vivo a través de Flink y el uso de índices en vivo para complementar sus índices base. Yexi Jiang destacó cómo la frescura del contenido es basic en roblox recomendaciones de la página de inicio debido a la sinergia entre contenido heterogéneo, como en casos en los que las conexiones de nuevos amigos o los juegos jugados recientemente afectan lo que se recomienda para un usuario. En Cualquier cosaEmmanuel Fuentes compartió cómo enfrentan una multitud de desafíos en tiempo actual (contenido efímero, navegación por canales y la necesidad de una baja latencia de extremo a extremo para su experiencia de usuario) en personalizando su transmisión en vivo.
Shu Zhang de Pinterest contó su viaje desde los feeds de inicio basados en push ordenados por tiempo y relevancia hasta la clasificación basada en pull en tiempo actual en el momento de la consulta. Shu brindó información sobre los requisitos de latencia con los que opera Pinterest en el lado de la publicación de anuncios, como la capacidad de obtener 500 anuncios en 100 ms. Los beneficios de la IA en tiempo actual también van más allá de la experiencia del usuario y, como Nikhil y Jaya Kawale de tubí Como señala, puede resultar en un uso más eficiente de los recursos informáticos cuando las recomendaciones se generan en tiempo actual, solo cuando es necesario, en lugar de calcularse previamente.
La necesidad de tiempo actual es omnipresente y varios oradores destacaron de manera interesante a RocksDB como el motor de almacenamiento o la inspiración al que recurrieron para ofrecer rendimiento en tiempo actual.
Separación de indexación y publicación
Cuando operan a escala, cuando el rendimiento importa, las organizaciones han optado por separar la indexación del servicio para minimizar el impacto en el rendimiento que la indexación informática intensiva puede tener en las consultas. Sarthank Nandi explicó que esto period un desafío con la implementación de Elasticsearch que tenían en Gañidodonde cada nodo de datos de Elasticsearch period a la vez un indexador y un buscador, lo que provocaba que la presión de indexación ralentizara la búsqueda. Aumentar el número de réplicas no resuelve el problema, ya que todos los fragmentos de réplica también deben realizar una indexación, lo que genera una carga de indexación mayor en common.
Yelp rediseñó su plataforma de búsqueda para superar estos desafíos de rendimiento, de modo que en su plataforma precise, las solicitudes de indexación van a un elemento principal y las solicitudes de búsqueda van a las réplicas. Solo el principal realiza la indexación y la combinación de segmentos, y las réplicas solo necesitan copiar los segmentos combinados del principal. En esta arquitectura, la indexación y el servicio están efectivamente separados, y las réplicas pueden atender solicitudes de búsqueda sin tener que lidiar con la carga de indexación.
Uber enfrentó una situación comparable en la que la carga de indexación en su sistema de servicio podría afectar el rendimiento de las consultas. En el caso de Uber, sus índices en vivo se escriben periódicamente en instantáneas, que luego se propagan a sus índices de búsqueda base. Los cálculos instantáneos provocaron picos de CPU y memoria, lo que requirió el aprovisionamiento de recursos adicionales. Uber resolvió esto dividiendo su plataforma de búsqueda en un clúster de servicio y un clúster dedicado a calcular instantáneas, de modo que el sistema de servicio solo necesita manejar el tráfico de consultas y las consultas pueden ejecutarse rápidamente sin verse afectadas por el mantenimiento del índice.
Arquitectura a escala
Varios presentadores discutieron algunos de sus logros y los cambios que tuvieron que implementar a medida que sus aplicaciones crecieron y escalaron. Cuando Tubi tenía un catálogo pequeño, Jaya compartió que period posible clasificar todo el catálogo para todos los usuarios mediante trabajos por lotes sin conexión. A medida que su catálogo crecía, esto se volvió demasiado intensivo en computación y Tubi limitó el número de candidatos clasificados o trasladados a la inferencia en tiempo actual. En Espigaruna aplicación de búsqueda en el lugar de trabajo impulsada por inteligencia synthetic, TR Vishwanath y James Simonsen analizaron cómo una mayor escala dio lugar a retrasos de rastreo más prolongados en su índice de búsqueda. Para enfrentar este desafío, tuvieron que diseñar para diferentes aspectos de su sistema escalando a diferentes velocidades. Aprovecharon el procesamiento asincrónico para permitir que diferentes partes de su rastreo se escalaran de forma independiente y al mismo tiempo priorizaron qué rastrear en situaciones en las que sus rastreadores estaban saturados.
El costo es una preocupación común cuando se opera a escala. Al describir las ventajas y desventajas del almacenamiento en los sistemas de recomendación, Nikhil de Fennel explicó que colocar todo en la memoria tiene un costo prohibitivo. Los equipos de ingeniería deben planificar alternativas basadas en disco, de las cuales RocksDB es un buen candidato, y cuando los SSD se vuelven costosos, se necesita la organización en niveles S3. En el caso de Yelp, su equipo invirtió en implementar clústeres de búsqueda en modo sin estado en Kubernetes, lo que les permitió evitar costos de mantenimiento continuos y escalar automáticamente para alinearse con los patrones de tráfico de los consumidores, lo que resultó en una mayor eficiencia y una reducción de costos de ~50 %.
Estas fueron solo algunas de las experiencias de escalamiento compartidas en las conversaciones, y si bien no todos los desafíos de escalamiento pueden ser evidentes desde el principio, corresponde a las organizaciones tener en cuenta las consideraciones a escala desde el principio y pensar en lo que se necesita para escalar en el largo plazo. término.
¿Quieres saber más?
La Conferencia Index inaugural fue un gran foro para escuchar a todos estos líderes de ingeniería que están a la vanguardia de la creación, ampliación y producción de aplicaciones de búsqueda e inteligencia synthetic. Sus presentaciones estuvieron llenas de oportunidades de aprendizaje para los participantes y se compartió mucho más conocimiento en sus charlas completas.
Ver el vídeo completo de la conferencia aquí. Y únete a la comunidad para mantenerse informado sobre la próxima #indexconf.