Autor
Urvi Savla
Fecha de publicación
Esta publicación de blog es la siguiente en la serie de publicaciones de blog de la Plataforma de Datos Componible (CDP). La publicación anterior, Hubble: Ahora Más Rápido que la Luz, entró en los detalles de la re-arquitectura de stellar-ETL usando CDP y sus beneficios. Esta publicación explica cómo hicimos la reingestión de Horizon 9x más rápida usando componentes de CDP.
Antecedentes
El tamaño de los datos de Horizon es enorme y es impráctico para cada instancia almacenar toda la historia de la red. La mayoría de las instancias de Horizon, incluidas las alojadas por Stellar Development Foundation (SDF), están configuradas con una ventana de retención específica–recomendamos 30 días– para gestionar el tamaño de los datos.
Sin embargo, hay escenarios en los que podrías querer recuperar y procesar datos de libros mayores fuera de esta ventana de retención. Horizon admite esto a través de un proceso llamado reingestión, que recupera y reprocesa datos históricos del libro mayor de Stellar.
Hay varias situaciones clave en las que un usuario de Horizon podría necesitar realizar la reingestión:
Después de una pausa en las operaciones: Si una instancia de Horizon ha estado inactiva por un período, la reingestión puede ser necesaria para actualizarla, ya que puede ser más rápida y eficiente que usar la ingesta en vivo para ponerse al día con el estado actual de la red.
Declaración del Problema
La reingestión es tanto consumidora de tiempo como de recursos, tomando varios días para procesar solo un mes de historia reciente del libro mayor y meses para reprocesar toda la historia.
El proceso es exigente porque depende de Captive Core para recuperar y procesar los datos del libro mayor.
Solución
Central para CDP es el lago de datos de metadatos precalculados del libro mayor. Para detalles sobre cómo crear este lago de datos usando Galaxie, consulta la Introducción a Galexie: Extracción y Almacenamiento Eficiente de Datos de Stellar publicación de blog.
Ingerir datos desde el lago de datos es significativamente más rápido. Lo que normalmente tomaría meses para reingerir ahora toma solo unos días.
Esta mejora de velocidad se debe a dos factores principales:
Los metadatos del libro mayor están disponibles para descarga directa desde Google Cloud Storage (GCS). Cada archivo está comprimido, lo que lo hace muy pequeño, por lo que se requiere un ancho de banda de red mínimo.
Para acomodar la nueva arquitectura, el comando de reingestión de la base de datos de Horizon db reingest ahora admite la reingestión desde el almacén de datos. Lo invocas de manera similar a como lo harías para Captive Core, pero con configuración adicional para el almacén de datos, como especificar la dirección del bucket y el esquema de datos. Para detalles del comando y configuración sobre el uso de CDP para la reingestión, consulta la guía de reingestión aquí.
Evaluación de Rendimiento
Para evaluar el rendimiento de la reingestión de Captive Core y CDP, realizamos pruebas bajo la siguiente configuración de hardware:
Horizon admite la reingestión paralela, lo que significa que el rango de reingestión se divide en subrangos e ingiere simultáneamente. Queríamos evaluar el nivel de paralelización alcanzable con ambos métodos (Captive Core y CDP). Así que reingerimos 10,000 libros mayores usando ambos métodos con niveles variables de paralelización y estos son los resultados:
Captive Core: El rendimiento estaba limitado por el I/O de disco y mostró rendimientos decrecientes con más de cuatro trabajadores.
CDP: En contraste, CDP logró una mejor paralelización, con resultados óptimos usando 16 trabajadores.
Para detalles sobre la configuración de la ingesta paralela, consulta la guía sobre trabajadores de ingesta paralela.
Usando la mejor configuración paralela, estimamos el tiempo para reingerir 10,000 libros mayores. Sin embargo, los libros mayores antiguos son menos densos que los recientes, por lo que se requiere menos tiempo para reingerir datos antiguos. Para confirmar esto, muestreamos 10,000 libros mayores de cada año desde la creación de la red Stellar y extrapolamos el tiempo requerido para reingerir toda la historia.
Los resultados muestran que la reingestión usando Captive Core se proyecta que tomará aproximadamente 66 días, mientras que el CDP (con metadatos de libros mayores precalculados) se espera que tome alrededor de 7 días.
En esta evaluación, Captive Core corrió con 2 trabajadores paralelos, mientras que CDP corrió con 16 trabajadores paralelos.
Conclusión
Con CDP, la reingestión de Horizon es ahora hasta 9x más rápida, reduciendo los tiempos de procesamiento en más del 85%. Sin embargo, incluso con estas mejoras, usar Horizon para servir datos históricos completos requiere cantidades masivas de almacenamiento—alrededor de 40 TB y creciendo rápidamente. En la mayoría de los casos, construir tus propias aplicaciones usando CDP ofrece un camino mejor hacia adelante.
Los metadatos de libros mayores precalculados de CDP te permiten construir un conjunto de datos personalizado mucho más pequeño. Y si estás buscando reingerir grandes cantidades de datos para poblar tu nuevo conjunto de datos, CDP proporciona a tu aplicación enormes beneficios de rendimiento, haciéndolo ideal para crear aplicaciones eficientes y enfocadas.
Esto hace de CDP un cambio de juego para cualquiera que quiera construir aplicaciones flexibles y escalables más allá de Horizon. ¡Te animamos a explorar todo lo que CDP ofrece para tus propias necesidades de datos!
Velo en acción tú mismo.
Más para ti
Artículo
• Molly Karcher
Herramienta para Desarrolladores
Datos
Este artículo es el primero de una serie expansiva sobre la Plataforma de Datos Componible, la próxima generación de plataforma de acceso a datos en…
Artículo
• Urvi Savla
Datos
Herramienta para Desarrolladores
Galexie es el primer componente de la Plataforma de Datos Componible de Stellar, la próxima generación de plataforma de acceso a datos. Galexie es…
Artículo
• Simon Chow
Datos
Hubble
Aprende cómo Stellar ETL, que ha sido refactorizado para usar la suite completa de beneficios de la Plataforma de Datos Componible (CDP), la próxima…
Los Boletines
Entérate de nosotros primero. Suscríbete para obtener información en tiempo real sobre noticias, funcionalidades y recursos del ecosistema Stellar.