2025-11-10T02:56:05.378036

Implementing SIAv2 Over Rubin Observatory's Data Butler

Jenness, Voutsinas, Dubois-Felsmann et al.
The IVOA Simple Image Access version 2 protocol defines an easy way to provide community access to a collection of data. At the Vera C. Rubin Observatory we currently enable ObsTAP access to our data holdings via an ObsCore export or view of our Data Butler repositories. This approach comes with some deployment constraints, such as requiring pgsphere and compatibility with our CADC TAP implementation, so recently we decided to see whether we could instead provide an SIAv2 service that talks directly to our Data Butler. Here we describe our motivation, implementation strategies, and current deployment status, as well as discussing some metadata mismatches between the Butler data models and SIAv2.
academic

Implementación de SIAv2 sobre el Data Butler del Observatorio Rubin

Información Básica

  • ID del Artículo: 2501.00544
  • Título: Implementing SIAv2 Over Rubin Observatory's Data Butler
  • Autores: Tim Jenness, Stelios Voutsinas, Gregory P. Dubois-Felsmann, Andrei Salnikov
  • Clasificación: astro-ph.IM (Astrofísica - Instrumentos y Métodos)
  • Fecha de Publicación: 31 de diciembre de 2024
  • Enlace del Artículo: https://arxiv.org/abs/2501.00544

Resumen

El Protocolo de Acceso Simple a Imágenes versión 2 (SIAv2) de la IVOA define un método sencillo para proporcionar acceso a colecciones de datos a la comunidad. En el Observatorio Vera C. Rubin, actualmente implementamos el acceso a datos ObsTAP mediante exportaciones u vistas de ObsCore del repositorio Data Butler. Sin embargo, este enfoque presenta algunas limitaciones de despliegue, como la necesidad de soporte pgsphere y compatibilidad con la implementación TAP de CADC. Por lo tanto, decidimos explorar si podríamos proporcionar un servicio SIAv2 que se comunique directamente con el Data Butler. Este artículo describe nuestra motivación, estrategia de implementación, estado actual del despliegue, y algunos problemas de desajuste de metadatos entre el modelo de datos Butler y SIAv2.

Contexto de Investigación y Motivación

Contexto del Problema

El sistema Data Butler del Observatorio Rubin consta de un registro de metadatos y almacenamiento de datos de archivos, donde el registro contiene información suficiente para construir registros ObsCore. Anteriormente se proporcionaban tablas ObsCore mediante dos métodos:

  1. Exportar registros como archivos CSV o Parquet y cargarlos en una base de datos estática
  2. Utilizar ganchos de backend del registro para proporcionar sincronización en tiempo real con tablas ObsCore

Limitaciones de los Métodos Existentes

  1. Método de exportación estática: Adecuado para publicaciones de datos formales e integración en bases de datos Qserv de alto rendimiento, pero inadecuado para conjuntos de datos dinámicos como productos nocturnos rápidos
  2. Método ObsCore en tiempo real: Requiere que el entorno de despliegue admita pgsphere, y necesita reconstruir toda la tabla cuando cambia la configuración

Motivación de la Investigación

Estas limitaciones impulsaron al equipo de investigación a buscar una capa de consulta más simple pero estandarizada, basada directamente en el sistema Butler. El protocolo SIAv2 de la IVOA se convirtió en la opción obvia porque:

  • Proporciona mayor flexibilidad al interactuar directamente con Butler
  • Los cambios de configuración solo requieren un reinicio simple del servicio
  • Funciona inmediatamente con cualquier repositorio Butler

Contribuciones Principales

  1. Diseño e implementación de una interfaz directa de SIAv2 a Butler: Evitando la capa intermedia de tablas ObsCore tradicionales
  2. Desarrollo de una arquitectura en capas: Separando la capa de servicio del procesamiento de consultas SIAv2, mejorando la capacidad de prueba
  3. Creación de la biblioteca dax_obscore: Proporcionando una interfaz de línea de comandos para facilitar el aprendizaje y la experimentación de usuarios
  4. Despliegue de un servicio listo para producción: Ya implementado en la Plataforma Científica Rubin y disponible para depuración de datos
  5. Identificación y análisis de problemas de desajuste de modelos de datos: Proporcionando una hoja de ruta clara para mejoras futuras

Explicación Detallada del Método

Definición de la Tarea

Mapear directamente consultas del protocolo IVOA SIAv2 al sistema de consultas del Data Butler de Rubin, implementando una interfaz de acceso a datos astronómicos estandarizada, mientras se evitan las limitaciones de despliegue del método tradicional de tablas ObsCore.

Arquitectura del Sistema

HTTP GET → Nginx → Servicio SIAv2 → dax_obscore → Repositorio Butler
sia/dp02/query?POS=..     ↓              ↓            ↓
                    Procesamiento   Consulta Butler  Resultados
                    de Consultas         ↓            ↓
                         ↓              ↓            ↓
                    VOTable ObsCore ← Resultados ← DatasetRefs

Diseño de Componentes Principales

  1. Capa de Servicio SIAv2
    • Desarrollada con Python y FastAPI
    • Basada en la plataforma estándar de desarrollo interno de Rubin Phalanx
    • Proporciona capa de autenticación estándar y capacidades de despliegue
    • Procesa parámetros SIAv2 sin procesar y encapsula resultados devueltos
  2. Biblioteca dax_obscore
    • Analiza parámetros SIAv2
    • Convierte parámetros en consultas Butler
    • Ejecuta consultas y devuelve resultados estandarizados
    • Genera salida en formato VOTable compatible con Astropy
    • Utiliza el modelo de datos Felis para definir estructuras de tabla garantizando consistencia
  3. Compatibilidad de Interfaz Butler
    • Soporte transparente para Butler "directo" original y nuevo Butler remoto cliente/servidor
    • Aprovecha el soporte nativo de Butler para consultas de región y tiempo

Puntos de Innovación Técnica

  1. Ventajas del Diseño en Capas
    • Separación entre capa de servicio y procesamiento de consultas, mejorando capacidad de prueba
    • dax_obscore puede instalarse y utilizarse independientemente
    • Permite desarrollo y mantenimiento paralelos
  2. Acceso Directo a Butler
    • Evita la capa intermedia de tablas ObsCore
    • Reduce dependencias de despliegue (sin necesidad de pgsphere)
    • Respuesta más rápida a cambios de configuración
  3. Salida Estandarizada
    • Utiliza modelo de datos Felis para garantizar consistencia de resultados
    • Formato VOTable conforme a estándares IVOA
    • Admite conjunto estándar de parámetros SIAv2

Configuración Experimental

Parámetros de Consulta Admitidos

Actualmente el paquete dax_obscore admite los siguientes parámetros de consulta SIAv2:

  • MAXREC: Límite de número máximo de registros
  • INSTRUMENT: Filtrado de instrumentos
  • POS: Consulta de posición/región
  • TIME: Consulta de rango temporal
  • BAND: Filtrado de banda
  • EXPTIME: Tiempo de exposición
  • CALIB: Tipo de calibración

Parámetros Próximos a Implementarse

  • ID: Consulta de identificador
  • TARGET: Objeto objetivo
  • FACILITY: Nombre de la instalación (planeado usar "Rubin:Simonyi" y "Rubin:1.2m")
  • COLLECTION: Colección de datos

Entorno de Despliegue

  • Desplegado en la Plataforma Científica Rubin
  • Disponible para acceso a datos de depuración
  • Admite herramienta de línea de comandos instalable desde PyPI

Resultados Experimentales

Estado Actual del Despliegue

  1. Disponibilidad del Servicio: Desplegado exitosamente en la Plataforma Científica Rubin y en uso
  2. Verificación de Funcionalidad: La funcionalidad de consulta de parámetros SIAv2 principales funciona correctamente
  3. Compatibilidad: Admite simultáneamente modos de acceso Butler directo y remoto
  4. Herramientas de Usuario: Proporciona interfaz de línea de comandos para experimentación local y aprendizaje

Ventajas de Rendimiento

  1. Despliegue Simplificado: Sin dependencias de pgsphere
  2. Configuración Flexible: Los cambios solo requieren reinicio del servicio
  3. Disponibilidad Inmediata: Funciona inmediatamente con cualquier repositorio Butler

Trabajo Relacionado

Protocolos Estándar IVOA

  • Protocolo SIAv2: Estándar recomendado por IVOA definido por Dowler et al. en 2015
  • Servicio ObsTAP: Protocolo de acceso a tablas basado en ObsCore, estandarizado por Louys et al. en 2017

Pila Tecnológica del Observatorio Rubin

  • Sistema Data Butler: Sistema de gestión de datos desarrollado por Jenness et al. en 2022
  • Base de Datos Qserv: Base de datos distribuida de alto rendimiento desarrollada por Mueller et al. en 2023
  • Butler Remoto: Arquitectura cliente/servidor desarrollada por Jenness et al. en 2024

Conclusiones y Discusión

Conclusiones Principales

  1. Viabilidad de Implementación: Implementar SIAv2 sobre Data Butler es un proceso relativamente simple
  2. Ventajas Arquitectónicas: La estrategia de desarrollo en capas permite desarrollo paralelo y proporciona herramientas de línea de comandos adicionales
  3. Éxito del Despliegue: El servicio se ha desplegado exitosamente y está disponible para entornos de producción

Problemas de Desajuste de Modelos de Datos

1. Información de Instrumento Faltante en Pilas Coadicionadas

  • Problema: Las pilas coadicionadas (co-adds) en el registro Butler no tienen información de instrumento asociada
  • Impacto: No se pueden diferenciar fuentes de datos en repositorios que contienen datos de LATISS y LSSTCam
  • Solución: Determinar el instrumento del conjunto de datos original mediante seguimiento de procedencia completo en el futuro

2. Tiempo de Exposición de Pilas Coadicionadas

  • Problema: El tiempo de exposición mediano de pilas coadicionadas es una cantidad derivada, desconocida cuando se define el espacio de coordenadas Butler
  • Solución: Planeado desarrollar soporte para almacenamiento de metadatos derivados en la hoja de ruta futura

3. Fecha de Observación de Pilas Coadicionadas

  • Problema: Las pilas coadicionadas pierden información de fecha de observaciones individuales
  • Solución: Posiblemente deducible después de la implementación del sistema de procedencia Butler en el futuro

4. Estandarización de Tipo de Conjunto de Datos

  • Problema: Los tipos de conjunto de datos de Butler (como visit_image, difference_image) no tienen forma de consulta estandarizada en SIAv2
  • Solución: Considerar agregar parámetro de consulta de extensión DPSUBTYPE, posiblemente usando prefijo lsst

Direcciones Futuras

  1. Soporte de Metadatos Derivados: Implementar soporte de consulta para metadatos calculados
  2. Sistema de Procedencia Completo: Resolver problemas de metadatos faltantes en pilas coadicionadas mediante información de procedencia
  3. Soporte de Parámetros Extendidos: Completar implementación de parámetros ID, TARGET, FACILITY, COLLECTION
  4. Extensiones Personalizadas: Implementar parámetros de consulta específicos de Rubin como DPSUBTYPE

Evaluación Profunda

Fortalezas

  1. Diseño Arquitectónico Excelente
    • El diseño en capas mejora la mantenibilidad y capacidad de prueba del sistema
    • La interfaz directa de Butler evita la complejidad de capas intermedias
    • Admite múltiples modos de despliegue de Butler
  2. Alto Valor Práctico
    • Resuelve problemas específicos de despliegue real (dependencias de pgsphere, flexibilidad de configuración)
    • Proporciona interfaz de acceso a datos estandarizada
    • Las herramientas de línea de comandos aumentan la usabilidad del sistema
  3. Compatibilidad Estándar
    • Cumple estrictamente con el estándar IVOA SIAv2
    • Utiliza formato VOTable de salida estándar
    • Compatible con el ecosistema existente de acceso a datos astronómicos

Limitaciones

  1. Limitaciones del Modelo de Datos
    • Varios problemas importantes de desajuste de metadatos aún no se resuelven
    • La capacidad de consulta de pilas coadicionadas es limitada
    • Requiere desarrollo futuro del sistema Butler
  2. Completitud de Funcionalidad
    • Algunos parámetros SIAv2 aún no se implementan
    • Las extensiones personalizadas aún están en fase de planificación
    • El soporte para consultas complejas puede ser limitado
  3. Profundidad de Documentación
    • Faltan datos de pruebas de rendimiento
    • Discusión insuficiente de manejo de errores y casos límite
    • Análisis comparativo detallado con otros sistemas limitado

Impacto

  1. Contribución a la Gestión de Datos Astronómicos
    • Proporciona caso práctico de acceso a datos estandarizado para proyectos de survey astronómicos grandes
    • Demuestra cómo implementar protocolos tradicionales en sistemas modernos de gestión de datos
    • Proporciona referencia para implementaciones similares en otros observatorios
  2. Valor de Promoción Tecnológica
    • La implementación de código abierto (paquete dax_obscore) facilita adopción y mejora comunitaria
    • El diseño de arquitectura en capas es aplicable a otros proyectos similares
    • Las herramientas de línea de comandos reducen la curva de aprendizaje del usuario

Escenarios de Aplicación

  1. Proyectos de Survey Astronómicos Grandes: Proyectos que requieren interfaz de acceso a datos estandarizada
  2. Centros de Datos y Observatorios: Instituciones que desean proporcionar servicios compatibles con IVOA
  3. Comunidad de Investigación: Investigadores que necesitan acceso programático a datos astronómicos
  4. Propósitos Educativos: Entorno de aprendizaje y experimentación del protocolo SIAv2

Referencias

Este artículo cita la siguiente literatura clave:

  1. Dowler, P., et al. (2015). IVOA Simple Image Access Version 2.0 - Define el protocolo estándar SIAv2
  2. Jenness, T., et al. (2022). Artículo de arquitectura central del sistema Rubin Data Butler
  3. Louys, M., et al. (2017). Modelo de datos ObsCore e implementación estándar de TAP
  4. Salnikov, A. (2022). Nota técnica sobre ObsCore como vista del registro Butler

Resumen: Este artículo demuestra un caso exitoso de práctica de ingeniería, resolviendo problemas de despliegue real mientras se mantiene compatibilidad con estándares internacionales. Aunque existen algunos desafíos de desajuste de modelos de datos, la implementación general proporciona una referencia valiosa y herramientas para el campo de la gestión de datos astronómicos.