Author
Molly Karcher
Publishing date
Herramienta para Desarrolladores
Datos
Este artículo es el primero de una extensa serie sobre la Plataforma de Datos Componible, la próxima generación de plataforma de acceso a datos en Stellar. Este artículo ofrecerá una visión general de la arquitectura, así como de sus objetivos y capacidades. Los siguientes artículos profundizarán en los diferentes componentes de la arquitectura, se adentrarán en casos de uso significativos y explorarán cómo puedes utilizar esto para potenciar tus propias aplicaciones.
El Estado del Mundo
Hoy en día, SDF posee y opera dos productos que median datos desde la blockchain de Stellar: Horizon, una API que interactúa con la red, y Hubble, un conjunto de datos analíticos de historial completo. Actualmente, SDF aloja versiones públicas de estos productos para fomentar el desarrollo a pequeña escala y la experimentación en la red. Este modelo ha llevado a desafíos en el ecosistema:
Para apoyar y fomentar una red descentralizada y saludable, es importante para nosotros que este almacenamiento y acceso a datos esté distribuido entre tantos participantes del ecosistema como sea posible.
Siguiendo tanto el lanzamiento de Soroban como el cambio en la ventana de retención de Horizon de SDF, estamos viendo un fuerte aumento en el interés por proporcionar datos de la red como un servicio de proveedores de análisis, proveedores de infraestructura, indexadores y similares. Desafortunadamente, dado el estado actual del mundo, es más difícil de lo que debería ser para este tipo de proveedores incorporarse rápidamente cuando intentan servir datos de Stellar. Dada la naturaleza monolítica de Horizon y Hubble, tienden a impulsar un enfoque de todo o nada; o bien te inclinas por adoptar el modelo de datos elegido por SDF, o desarrollas tu propia integración completamente independiente de estas herramientas.
La Plataforma de Datos Componible (en adelante, CDP) es una colección de herramientas y bibliotecas de código abierto que trabajan juntas para agilizar el acceso a datos para el ecosistema de Stellar. La intención es permitir que cada participante del ecosistema se conecte y juegue según sea necesario y personalice su solución en función de las necesidades individuales de su aplicación.
Los componentes clave que conforman CDP incluyen:
A primera vista, esto podría parecer bastante simple, incluso obvio. De hecho, esto es en esencia lo que Hubble y Horizon hacen hoy en día. Los dos comparten código para algunos de estos componentes (ya que ambos usan el SDK de ingestión), pero en su mayor parte representan bases de código paralelas y divergentes que a menudo acoplan la mayoría de esta funcionalidad juntas. Esto hace que sea extremadamente difícil (si no imposible) para ti personalizar despliegues de ellos para satisfacer tus propias necesidades de datos.
CDP reimagina esa arquitectura monolítica definiendo claramente y luego exponiendo externamente cada uno de esos componentes internos. Los componentes se representan como interfaces independientes que pueden configurarse y operarse de forma independiente, mientras se entrelazan sin problemas con cada otro componente para proporcionar una capa de datos personalizada para tu aplicación.
¡Esto desbloquea posibilidades infinitas! Importante, te da a ti, el desarrollador, el poder de personalizar completamente tu consumo de datos y patrones de acceso, dependiendo del tipo de aplicación que estés construyendo. Por ejemplo:
Considera las elecciones arquitectónicas de backend vastamente diferentes que podrían hacerse a través de estos ejemplos:
La primera pieza del rompecabezas, Galexie, está fuera y disponible para uso público; échale un vistazo en github o docker hub! Actualmente soporta una única opción de almacenamiento de objetos (GCS), y estamos ansiosos por escuchar comentarios sobre qué medios de almacenamiento podrían ser más valiosos para ti en el futuro.
Estamos aprovechando las ganancias de rendimiento y la simplicidad de CDP al refactorizar partes de nuestros productos existentes, Hubble y Horizon. El Hubble de SDF ahora utiliza un lago de datos GCS exportado por Galexie como su backend - ve stellar-etl para detalles. El soporte de Horizon para reingestión desde un lago de datos exportado por Galexie está disponible en v2.32.0. Tendremos publicaciones en esta serie que profundizan en cómo refactorizamos nuestros servicios, así como lo que puedes esperar en términos de coste y tiempo real si optas por utilizar estos nuevos componentes.
Para empezar a crear tu propia aplicación independiente de Horizon o Hubble, echa un vistazo a nuestro SDK de ingestión. Esto encapsula la interfaz del Backend del Ledger de CDP, y esto se puede utilizar para construir tu propio pipeline de ingestión configurado para consumir de un lago de datos exportado por Galexie.
Estén atentos para la publicación de la próxima semana sobre Galexie, donde haremos una inmersión profunda en la instalación, desarrollo y uso. Este es el primer componente principal que compone el CDP, permitiendo a los desarrolladores exportar y memorizar de manera eficiente los datos de la red Stellar para su procesamiento.
Estamos trabajando activamente en desarrollar una biblioteca para albergar nuestros procesadores (o transformaciones), que ayudará a transformar el formato XDR bruto en modelos de datos con los que estás más familiarizado si estás acostumbrado a utilizar Horizon o Hubble para el acceso a datos.
Todo esto puede sonar un poco abrumador y abstracto, pero estaremos presentando implementaciones de ejemplo extensas para desmitificar la nueva plataforma. También saldremos con más contenido en esta serie, donde destacaremos casos de uso clave existentes, e ilustraremos cómo podrías utilizar el pleno poder del CDP en tu propia aplicación.
Mientras tanto, únete a nosotros en nuestro Discord de Desarrolladores para charlar sobre cualquier pregunta, preocupación o solicitud de características mientras trabajamos para modernizar el acceso a datos en Stellar!
