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

Implementazione di SIAv2 sul Data Butler dell'Osservatorio Rubin

Informazioni Fondamentali

  • ID Articolo: 2501.00544
  • Titolo: Implementing SIAv2 Over Rubin Observatory's Data Butler
  • Autori: Tim Jenness, Stelios Voutsinas, Gregory P. Dubois-Felsmann, Andrei Salnikov
  • Classificazione: astro-ph.IM (Astrofisica - Strumenti e Metodi)
  • Data di Pubblicazione: 31 dicembre 2024
  • Link Articolo: https://arxiv.org/abs/2501.00544

Riassunto

Il Protocollo di Accesso Semplice alle Immagini IVOA versione 2 (SIAv2) definisce un metodo semplice per fornire alla comunità l'accesso alle collezioni di dati. All'Osservatorio Vera C. Rubin, attualmente implementiamo l'accesso ai dati ObsTAP attraverso esportazioni o viste ObsCore del repository Data Butler. Tuttavia, questo approccio presenta alcuni vincoli di distribuzione, come la necessità del supporto pgsphere e della compatibilità con l'implementazione TAP di CADC. Di conseguenza, abbiamo deciso di esplorare se fosse possibile fornire un servizio SIAv2 che comunichi direttamente con il Data Butler. Questo articolo descrive le nostre motivazioni, la strategia di implementazione, lo stato attuale della distribuzione e alcuni problemi di disallineamento dei metadati tra il modello dati di Butler e SIAv2.

Contesto di Ricerca e Motivazioni

Contesto del Problema

Il sistema Data Butler dell'Osservatorio Rubin è composto da un registro dei metadati e da un archivio di dati su file, dove il registro contiene informazioni sufficienti per costruire record ObsCore. Precedentemente, due metodi fornivano la tabella ObsCore:

  1. Esportazione di record in file CSV o Parquet e caricamento in un database statico
  2. Utilizzo di hook di backend del registro per fornire sincronizzazione in tempo reale con la tabella ObsCore

Limitazioni degli Approcci Esistenti

  1. Metodo di esportazione statica: Appropriato per rilasci di dati formali e integrabile nel database Qserv ad alte prestazioni, ma inadatto per dataset dinamici come i prodotti notturni rapidi
  2. Metodo ObsCore in tempo reale: Richiede l'ambiente di distribuzione con supporto pgsphere e necessita della ricostruzione dell'intera tabella quando cambiano le configurazioni

Motivazione della Ricerca

Questi vincoli hanno spinto il team di ricerca a cercare un livello di interrogazione più semplice ma standardizzato, basato direttamente sul sistema Butler. Il protocollo SIAv2 dell'IVOA è diventato la scelta ovvia perché:

  • L'interfaccia diretta con Butler fornisce maggiore flessibilità
  • I cambiamenti di configurazione richiedono solo un semplice riavvio del servizio
  • Funziona immediatamente con qualsiasi repository Butler

Contributi Principali

  1. Progettazione e implementazione di un'interfaccia diretta SIAv2-Butler: Aggira il livello intermedio della tabella ObsCore tradizionale
  2. Sviluppo di un'architettura stratificata: Separa il livello di servizio dall'elaborazione delle query SIAv2, migliorando la testabilità
  3. Creazione della libreria dax_obscore: Fornisce un'interfaccia da riga di comando per facilitare l'apprendimento e la sperimentazione degli utenti
  4. Distribuzione di un servizio pronto per la produzione: Già distribuito sulla Piattaforma Scientifica Rubin e disponibile per il debug dei dati
  5. Identificazione e analisi dei problemi di disallineamento dei modelli dati: Fornisce una chiara roadmap per i miglioramenti futuri

Dettagli Metodologici

Definizione del Compito

Mappare direttamente le query del protocollo IVOA SIAv2 al sistema di query del Data Butler di Rubin, implementando un'interfaccia standardizzata di accesso ai dati astronomici, evitando al contempo i vincoli di distribuzione del metodo tradizionale della tabella ObsCore.

Architettura del Sistema

HTTP GET → Nginx → Servizio SIAv2 → dax_obscore → Repository Butler
sia/dp02/query?POS=..     ↓              ↓            ↓
                    Elaborazione Query  Query Butler  Risultati
                         ↓              ↓            ↓
                    VOTable ObsCore ← Risultati ← DatasetRefs

Progettazione dei Componenti Principali

  1. Livello di Servizio SIAv2
    • Sviluppato in Python e FastAPI
    • Basato sulla piattaforma interna di sviluppo standard Rubin Phalanx
    • Fornisce livello di autenticazione standardizzato e capacità di distribuzione
    • Elabora i parametri SIAv2 grezzi e incapsula i risultati restituiti
  2. Libreria dax_obscore
    • Analizza i parametri SIAv2
    • Converte i parametri in query Butler
    • Esegue le query e restituisce risultati standardizzati
    • Genera output in formato VOTable compatibile con Astropy
    • Utilizza il modello dati Felis per definire la struttura della tabella e garantire coerenza
  3. Compatibilità dell'Interfaccia Butler
    • Supporto trasparente sia del Butler "diretto" originale che del nuovo Butler remoto client/server
    • Sfrutta il supporto nativo di Butler per query di regioni e tempo

Punti di Innovazione Tecnica

  1. Vantaggi della Progettazione Stratificata
    • Separazione tra livello di servizio ed elaborazione delle query, migliorando la testabilità
    • dax_obscore può essere installato e utilizzato indipendentemente
    • Supporta lo sviluppo e la manutenzione paralleli
  2. Accesso Diretto a Butler
    • Aggira il livello intermedio della tabella ObsCore
    • Riduce le dipendenze di distribuzione (non richiede pgsphere)
    • Risposta più rapida ai cambiamenti di configurazione
  3. Output Standardizzato
    • Utilizza il modello dati Felis per garantire coerenza dei risultati
    • Formato VOTable conforme agli standard IVOA
    • Supporta l'insieme standard di parametri SIAv2

Configurazione Sperimentale

Parametri di Query Supportati

Attualmente il pacchetto dax_obscore supporta i seguenti parametri di query SIAv2:

  • MAXREC: Limite massimo di record
  • INSTRUMENT: Filtro strumento
  • POS: Query di posizione/regione
  • TIME: Query di intervallo temporale
  • BAND: Filtro banda
  • EXPTIME: Tempo di esposizione
  • CALIB: Tipo di calibrazione

Parametri di Prossimo Supporto

  • ID: Query identificatore
  • TARGET: Oggetto target
  • FACILITY: Nome della struttura (pianificato l'uso di "Rubin:Simonyi" e "Rubin:1.2m")
  • COLLECTION: Collezione di dati

Ambiente di Distribuzione

  • Distribuito sulla Piattaforma Scientifica Rubin
  • Disponibile per l'accesso ai dati di debug
  • Supporta lo strumento da riga di comando installabile da PyPI

Risultati Sperimentali

Stato Attuale della Distribuzione

  1. Disponibilità del Servizio: Distribuito con successo e in uso sulla Piattaforma Scientifica Rubin
  2. Verifica Funzionale: Le funzionalità di query dei parametri SIAv2 principali funzionano correttamente
  3. Compatibilità: Supporta sia la modalità di accesso Butler diretto che remoto
  4. Strumenti Utente: Fornisce un'interfaccia da riga di comando per la sperimentazione e l'apprendimento locale

Vantaggi di Prestazione

  1. Distribuzione Semplificata: Nessuna dipendenza pgsphere richiesta
  2. Configurazione Flessibile: I cambiamenti richiedono solo il riavvio del servizio
  3. Disponibilità Immediata: Funziona immediatamente con qualsiasi repository Butler

Lavori Correlati

Protocolli Standard IVOA

  • Protocollo SIAv2: Standard raccomandato IVOA definito da Dowler et al. nel 2015
  • Servizio ObsTAP: Protocollo di accesso alle tabelle basato su ObsCore, standardizzato da Louys et al. nel 2017

Stack Tecnologico dell'Osservatorio Rubin

  • Sistema Data Butler: Sistema di gestione dati sviluppato da Jenness et al. nel 2022
  • Database Qserv: Database distribuito ad alte prestazioni sviluppato da Mueller et al. nel 2023
  • Butler Remoto: Architettura client/server sviluppata da Jenness et al. nel 2024

Conclusioni e Discussione

Conclusioni Principali

  1. Fattibilità dell'Implementazione: L'implementazione di SIAv2 su Data Butler è un processo relativamente semplice
  2. Vantaggi Architetturali: La strategia di sviluppo stratificato consente lo sviluppo parallelo e fornisce strumenti aggiuntivi da riga di comando
  3. Successo della Distribuzione: Il servizio è stato distribuito con successo ed è disponibile per l'ambiente di produzione

Problemi di Disallineamento del Modello Dati

1. Informazioni Strumento Mancanti per Stack Coadd

  • Problema: Nel registro Butler, gli stack coadd (co-adds) non hanno informazioni strumento associate
  • Impatto: Impossibile distinguere l'origine dei dati in repository contenenti dati LATISS e LSSTCam
  • Soluzione: Determinazione futura attraverso tracciamento completo della provenienza del dataset originale

2. Tempo di Esposizione per Stack Coadd

  • Problema: Il tempo di esposizione mediano dello stack coadd è una quantità derivata, sconosciuta quando definito nello spazio delle coordinate di Butler
  • Soluzione: Supporto pianificato per l'archiviazione di metadati derivati nella roadmap di sviluppo futura

3. Data di Osservazione per Stack Coadd

  • Problema: Lo stack coadd perde le informazioni sulla data delle singole osservazioni
  • Soluzione: Possibile derivazione dell'intervallo di date dopo l'implementazione del sistema di provenienza di Butler

4. Standardizzazione del Tipo di Dataset

  • Problema: I tipi di dataset di Butler (come visit_image, difference_image) non hanno un modo di query standardizzato in SIAv2
  • Soluzione: Considerazione dell'aggiunta del parametro di query DPSUBTYPE esteso, possibilmente con prefisso lsst

Direzioni Future

  1. Supporto Metadati Derivati: Implementazione del supporto di query per metadati calcolati
  2. Sistema di Provenienza Completo: Risoluzione dei problemi di metadati mancanti dello stack coadd attraverso informazioni di provenienza
  3. Supporto Parametri Esteso: Completamento dell'implementazione dei parametri ID, TARGET, FACILITY, COLLECTION
  4. Estensioni Personalizzate: Implementazione di parametri di query specifici di Rubin come DPSUBTYPE

Valutazione Approfondita

Punti di Forza

  1. Eccellente Progettazione Architetturale
    • La progettazione stratificata migliora la manutenibilità e la testabilità del sistema
    • L'interfaccia diretta Butler evita la complessità del livello intermedio
    • Supporta molteplici modalità di distribuzione di Butler
  2. Alto Valore Pratico
    • Risolve problemi specifici della distribuzione effettiva (dipendenza pgsphere, flessibilità di configurazione)
    • Fornisce un'interfaccia standardizzata di accesso ai dati
    • Lo strumento da riga di comando aumenta l'usabilità del sistema
  3. Compatibilità Standard
    • Aderenza rigorosa allo standard IVOA SIAv2
    • Output in formato VOTable standardizzato
    • Compatibilità con l'ecosistema di accesso ai dati astronomici esistente

Limitazioni

  1. Limitazioni del Modello Dati
    • Diversi importanti problemi di disallineamento dei metadati rimangono irrisolti
    • La capacità di query dello stack coadd è limitata
    • Richiede ulteriore sviluppo del sistema Butler
  2. Completezza Funzionale
    • Alcuni parametri SIAv2 non sono ancora implementati
    • Le estensioni personalizzate sono ancora in fase di pianificazione
    • Il supporto per query complesse potrebbe essere limitato
  3. Profondità della Documentazione
    • Mancano dati di benchmark di prestazione
    • Discussione insufficiente sulla gestione degli errori e casi limite
    • Analisi comparativa dettagliata con altri sistemi limitata

Impatto

  1. Contributo alla Gestione Dati Astronomici
    • Fornisce un caso di studio pratico di accesso ai dati standardizzato per grandi progetti di survey astronomici
    • Dimostra come implementare protocolli tradizionali su sistemi moderni di gestione dati
    • Fornisce un riferimento per implementazioni simili in altri osservatori
  2. Valore di Promozione Tecnologica
    • L'implementazione open source (pacchetto dax_obscore) facilita l'adozione e il miglioramento della comunità
    • La progettazione dell'architettura stratificata è applicabile ad altri progetti simili
    • Lo strumento da riga di comando riduce i costi di apprendimento degli utenti

Scenari Applicabili

  1. Grandi Progetti di Survey Astronomici: Progetti che richiedono interfacce standardizzate di accesso ai dati
  2. Centri Dati e Osservatori: Istituzioni che desiderano fornire servizi compatibili con IVOA
  3. Comunità di Ricerca: Ricercatori che necessitano di accesso programmatico ai dati astronomici
  4. Scopi Educativi: Ambienti di apprendimento e sperimentazione del protocollo SIAv2

Bibliografia

Questo articolo cita le seguenti letterature chiave:

  1. Dowler, P., et al. (2015). IVOA Simple Image Access Version 2.0 - Definisce il protocollo standard SIAv2
  2. Jenness, T., et al. (2022). Articolo sull'architettura principale del sistema Rubin Data Butler
  3. Louys, M., et al. (2017). Standardizzazione del modello dati ObsCore e implementazione TAP
  4. Salnikov, A. (2022). Nota tecnica su ObsCore come vista del registro Butler

Sintesi: Questo articolo presenta un caso di studio di pratica ingegneristica di successo, risolvendo problemi di distribuzione pratica mantenendo al contempo la compatibilità con gli standard internazionali. Sebbene esistano alcune sfide di disallineamento del modello dati, l'implementazione complessiva fornisce riferimenti e strumenti preziosi per il campo della gestione dati astronomici.