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

Implementierung von SIAv2 über Rubins Data Butler

Grundinformationen

  • Papier-ID: 2501.00544
  • Titel: Implementing SIAv2 Over Rubin Observatory's Data Butler
  • Autoren: Tim Jenness, Stelios Voutsinas, Gregory P. Dubois-Felsmann, Andrei Salnikov
  • Klassifizierung: astro-ph.IM (Astrophysik – Instrumente und Methoden)
  • Veröffentlichungsdatum: 31. Dezember 2024
  • Papierlink: https://arxiv.org/abs/2501.00544

Zusammenfassung

Das IVOA Simple Image Access Protocol Version 2 (SIAv2) definiert eine einfache Methode zur Bereitstellung des Zugriffs auf Datensatzsammlungen für die Gemeinschaft. Am Vera C. Rubin Observatory wird der ObsTAP-Datenzugriff derzeit durch ObsCore-Exporte oder -Ansichten aus dem Data Butler Repository implementiert. Dieser Ansatz weist jedoch einige Bereitstellungsbeschränkungen auf, wie die Notwendigkeit der pgsphere-Unterstützung und die Kompatibilität mit der CADC TAP-Implementierung. Daher beschlossen wir, zu untersuchen, ob wir einen SIAv2-Dienst bereitstellen können, der direkt mit dem Data Butler kommuniziert. Dieses Papier beschreibt unsere Motivation, Implementierungsstrategie, den aktuellen Bereitstellungsstatus sowie einige Metadaten-Nichtübereinstimmungsprobleme zwischen dem Butler-Datenmodell und SIAv2.

Forschungshintergrund und Motivation

Problemhintergrund

Das Data Butler-System des Rubin Observatory besteht aus einer Metadaten-Registry und einem Datei-Datenspeicher. Die Registry enthält ausreichend Informationen zur Erstellung von ObsCore-Datensätzen. Zuvor gab es zwei Methoden zur Bereitstellung von ObsCore-Tabellen:

  1. Exportieren von Datensätzen als CSV- oder Parquet-Dateien und Laden in eine statische Datenbank
  2. Verwendung von Registry-Backend-Hooks zur Bereitstellung einer Echtzeitsynchonisierung mit ObsCore-Tabellen

Einschränkungen bestehender Methoden

  1. Statische Exportmethode: Geeignet für formale Datenveröffentlichungen und Integration in die leistungsstarke Qserv-Datenbank, aber ungeeignet für dynamische Datensätze wie nächtliche Schnellprodukte
  2. Echtzeit-ObsCore-Methode: Erfordert Bereitstellungsumgebung mit pgsphere-Unterstützung und Neuerstellung der gesamten Tabelle bei Konfigurationsänderungen

Forschungsmotivation

Diese Einschränkungen veranlassten das Forschungsteam, eine einfachere, aber standardisierte Abfrageschicht zu suchen, die direkt auf dem Butler-System basiert. Das IVOA SIAv2-Protokoll wurde zur offensichtlichen Wahl, da:

  • Die direkte Schnittstelle mit Butler größere Flexibilität bietet
  • Konfigurationsänderungen nur einen einfachen Neustart des Dienstes erfordern
  • Es sofort mit jedem Butler-Repository zusammenarbeitet

Kernbeiträge

  1. Entwurf und Implementierung einer direkten SIAv2-zu-Butler-Schnittstelle: Umgeht die Zwischenschicht der traditionellen ObsCore-Tabelle
  2. Entwicklung einer mehrstufigen Architektur: Trennung der Serviceschicht von der SIAv2-Abfrageverarbeitung für verbesserte Testbarkeit
  3. Erstellung der dax_obscore-Bibliothek: Bereitstellung einer Befehlszeilenschnittstelle für Benutzer zum Lernen und Experimentieren
  4. Bereitstellung eines produktionsreifen Dienstes: Bereits auf der Rubin Science Platform bereitgestellt und für Debug-Daten verfügbar
  5. Identifizierung und Analyse von Datenmodell-Nichtübereinstimmungsproblemen: Bereitstellung einer klaren Roadmap für zukünftige Verbesserungen

Methodische Details

Aufgabendefinition

Direkte Zuordnung von IVOA SIAv2-Protokollabfragen zu Rubins Data Butler-Abfragesystem zur Implementierung einer standardisierten astronomischen Datenzugriffschnittstelle, während gleichzeitig die Bereitstellungsbeschränkungen der traditionellen ObsCore-Tabellenmethode vermieden werden.

Systemarchitektur

HTTP GET → Nginx → SIAv2-Dienst → dax_obscore → Butler Repo
sia/dp02/query?POS=..     ↓              ↓            ↓
                    Abfrageverarbeitung  Butler-Abfrage  Ergebnisse
                         ↓              ↓            ↓
                    ObsCore VOTable ← Ergebnisse ← DatasetRefs

Kernkomponentendesign

  1. SIAv2-Serviceschicht
    • Entwickelt mit Python und FastAPI
    • Basierend auf Rubins Standard-Internalentwicklungsplattform Phalanx
    • Bereitstellung einer Standard-Authentifizierungsschicht und Bereitstellungsfähigkeit
    • Verarbeitung von rohen SIAv2-Parametern und Kapselung von Rückgabeergebnissen
  2. dax_obscore-Bibliothek
    • Analyse von SIAv2-Parametern
    • Umwandlung von Parametern in Butler-Abfragen
    • Ausführung von Abfragen und Rückgabe standardisierter Ergebnisse
    • Generierung von Ausgaben im Astropy VOTable-Format
    • Verwendung des Felis-Datenmodells zur Tabellenstruktur-Definition für Konsistenz
  3. Butler-Schnittstellenkompatibilität
    • Transparente Unterstützung des ursprünglichen "direkten" Butler und des neuen Client/Server-Remote-Butler
    • Nutzung der nativen Regions- und Zeitabfrage-Unterstützung des Butler

Technische Innovationspunkte

  1. Mehrstufige Designvorteile
    • Trennung der Serviceschicht von der Abfrageverarbeitung für verbesserte Testbarkeit
    • dax_obscore kann unabhängig installiert und verwendet werden
    • Unterstützung paralleler Entwicklung und Wartung
  2. Direkter Butler-Zugriff
    • Umgeht die Zwischenschicht der ObsCore-Tabelle
    • Reduziert Bereitstellungsabhängigkeiten (keine pgsphere erforderlich)
    • Schnellere Reaktion auf Konfigurationsänderungen
  3. Standardisierte Ausgabe
    • Verwendung des Felis-Datenmodells zur Gewährleistung der Ergebniskonsistenz
    • VOTable-Format gemäß IVOA-Standard
    • Unterstützung des Standard-SIAv2-Parametersatzes

Experimentelle Einrichtung

Unterstützte Abfrageparameter

Das dax_obscore-Paket unterstützt derzeit die folgenden SIAv2-Abfrageparameter:

  • MAXREC: Maximale Datensatzanzahl-Beschränkung
  • INSTRUMENT: Instrumentenfilterung
  • POS: Positions-/Bereichsabfrage
  • TIME: Zeitbereichsabfrage
  • BAND: Wellenlängenbereichsfilterung
  • EXPTIME: Belichtungszeit
  • CALIB: Kalibrierungstyp

Bald unterstützte Parameter

  • ID: Identifikator-Abfrage
  • TARGET: Zielobjekt
  • FACILITY: Einrichtungsname (geplante Verwendung von "Rubin:Simonyi" und "Rubin:1.2m")
  • COLLECTION: Datensatzsammlung

Bereitstellungsumgebung

  • Bereitstellung auf der Rubin Science Platform
  • Verfügbar für Debug-Datenzugriff
  • Unterstützung des über PyPI installierbaren Befehlszeilenwerkzeugs

Experimentelle Ergebnisse

Aktueller Bereitstellungsstatus

  1. Dienstverfügbarkeit: Erfolgreich auf der Rubin Science Platform bereitgestellt und in Betrieb
  2. Funktionsvalidierung: Kernfunktionalität der SIAv2-Parameterabfrage funktioniert ordnungsgemäß
  3. Kompatibilität: Unterstützt sowohl direkten Butler als auch Remote-Butler-Zugriffsmodi
  4. Benutzer-Tools: Bereitstellung einer Befehlszeilenschnittstelle für lokale Experimente und Lernen

Leistungsvorteile

  1. Vereinfachte Bereitstellung: Keine pgsphere-Abhängigkeit erforderlich
  2. Konfigurationsflexibilität: Änderungen erfordern nur Dienst-Neustart
  3. Sofortige Verfügbarkeit: Kann sofort mit jedem Butler-Repository zusammenarbeiten

Verwandte Arbeiten

IVOA-Standardprotokolle

  • SIAv2-Protokoll: Von Dowler et al. 2015 definierter IVOA-Empfehlungsstandard
  • ObsTAP-Dienst: Von Louys et al. 2017 standardisiertes Tabellenzugriffsprotokoll basierend auf ObsCore

Rubin Observatory-Technologie-Stack

  • Data Butler-System: Von Jenness et al. 2022 entwickeltes Datenverwaltungssystem
  • Qserv-Datenbank: Von Mueller et al. 2023 entwickelte leistungsstarke verteilte Datenbank
  • Remote Butler: Von Jenness et al. 2024 entwickelte Client/Server-Architektur

Schlussfolgerungen und Diskussion

Hauptschlussfolgerungen

  1. Implementierungsmachbarkeit: Die Implementierung von SIAv2 über dem Data Butler ist ein relativ einfacher Prozess
  2. Architekturvorteile: Die mehrstufige Entwicklungsstrategie ermöglicht parallele Entwicklung und bietet zusätzliche Befehlszeilenwerkzeuge
  3. Bereitstellungserfolg: Der Dienst wurde erfolgreich bereitgestellt und ist für die Produktionsumgebung verfügbar

Datenmodell-Nichtübereinstimmungsprobleme

1. Fehlende Instrumenteninformationen bei Co-adds

  • Problem: Co-adds in der Butler-Registry haben keine zugeordneten Instrumenteninformationen
  • Auswirkung: Unmöglichkeit, Daten in Repositorys mit LATISS- und LSSTCam-Daten zu unterscheiden
  • Lösung: Zukünftig durch vollständige Provenance-Verfolgung das ursprüngliche Datensatz-Instrument bestimmen

2. Belichtungszeit bei Co-adds

  • Problem: Die mittlere Belichtungszeit von Co-adds ist eine abgeleitete Größe, die bei der Definition des Butler-Koordinatenraums unbekannt ist
  • Lösung: Geplante Unterstützung für abgeleitete Metadaten-Speicherung in zukünftiger Entwicklungs-Roadmap

3. Beobachtungsdatum bei Co-adds

  • Problem: Co-adds verlieren die Datumsinformationen einzelner Beobachtungen
  • Lösung: Mögliche Ableitung von Datumsbereichen nach Implementierung des zukünftigen Butler-Provenance-Systems

4. Normalisierung von Datensatztypen

  • Problem: Butlers Datensatztypen (wie visit_image, difference_image) haben keine standardisierte Abfragemethode in SIAv2
  • Lösung: Erwägung der Hinzufügung eines DPSUBTYPE-Abfrageparameter-Extensions, möglicherweise mit lsst-Präfix

Zukünftige Richtungen

  1. Unterstützung abgeleiteter Metadaten: Implementierung der Abfrageunterstützung für berechnete Metadaten
  2. Vollständiges Provenance-System: Lösung von Metadaten-Defiziten bei Co-adds durch Provenance-Informationen
  3. Erweiterte Parameterunterstützung: Fertigstellung der Implementierung von ID-, TARGET-, FACILITY- und COLLECTION-Parametern
  4. Benutzerdefinierte Erweiterungen: Implementierung von Rubin-spezifischen Abfrageparametern wie DPSUBTYPE

Tiefgreifende Bewertung

Stärken

  1. Ausgezeichnetes Architektur-Design
    • Mehrstufiges Design verbessert die Wartbarkeit und Testbarkeit des Systems
    • Direkte Butler-Schnittstelle vermeidet die Komplexität der Zwischenschicht
    • Unterstützung mehrerer Butler-Bereitstellungsmodi
  2. Hoher praktischer Wert
    • Lösung konkreter Probleme in der praktischen Bereitstellung (pgsphere-Abhängigkeit, Konfigurationsflexibilität)
    • Bereitstellung einer standardisierten Datenzugriffschnittstelle
    • Befehlszeilenwerkzeuge erhöhen die Systemnutzbarkeit
  3. Standard-Kompatibilität
    • Strikte Einhaltung des IVOA SIAv2-Standards
    • Verwendung des Standard-VOTable-Ausgabeformats
    • Kompatibilität mit dem bestehenden astronomischen Datenzugriffs-Ökosystem

Schwächen

  1. Datenmodell-Einschränkungen
    • Mehrere wichtige Metadaten-Nichtübereinstimmungsprobleme bleiben ungelöst
    • Abfragefähigkeiten für Co-adds sind begrenzt
    • Erfordert weitere Entwicklung des Butler-Systems
  2. Funktionsvollständigkeit
    • Einige SIAv2-Parameter sind noch nicht implementiert
    • Benutzerdefinierte Erweiterungen befinden sich noch in der Planungsphase
    • Unterstützung für komplexe Abfragen kann begrenzt sein
  3. Dokumentationstiefe
    • Leistungs-Benchmark-Daten fehlen
    • Fehlerbehandlung und Grenzfälle werden nicht ausreichend diskutiert
    • Detaillierte Vergleichsanalyse mit anderen Systemen ist begrenzt

Auswirkungen

  1. Beitrag zur astronomischen Datenverwaltung
    • Bereitstellung eines Praxisbeispiels für standardisierten Datenzugriff für große astronomische Survey-Projekte
    • Demonstration der Implementierung traditioneller Protokolle auf modernen Datenverwaltungssystemen
    • Bereitstellung von Referenzen für ähnliche Implementierungen an anderen Observatorien
  2. Technischer Verbreitungswert
    • Open-Source-Implementierung (dax_obscore-Paket) erleichtert die Übernahme und Verbesserung durch die Gemeinschaft
    • Mehrstufiges Architektur-Design kann auf ähnliche Projekte angewendet werden
    • Befehlszeilenwerkzeuge reduzieren die Lernkosten für Benutzer

Anwendungsszenarien

  1. Große astronomische Survey-Projekte: Projekte, die eine standardisierte Datenzugriffschnittstelle benötigen
  2. Datenzentren und Observatorien: Institutionen, die IVOA-kompatible Dienste bereitstellen möchten
  3. Forschungsgemeinschaft: Forscher, die programmatischen Zugriff auf astronomische Daten benötigen
  4. Bildungszwecke: Lern- und Experimentierumgebung für das SIAv2-Protokoll

Literaturverzeichnis

Dieses Papier zitiert die folgenden Schlüsselliteraturquellen:

  1. Dowler, P., et al. (2015). IVOA Simple Image Access Version 2.0 – Definition des SIAv2-Standardprotokolls
  2. Jenness, T., et al. (2022). Kernarchitektur-Papier des Rubin Data Butler-Systems
  3. Louys, M., et al. (2017). ObsCore-Datenmodell und TAP-Implementierungsstandard
  4. Salnikov, A. (2022). Technisches Memo zu ObsCore als Butler-Registry-Ansicht

Zusammenfassung: Dieses Papier zeigt einen erfolgreichen Engineeringpraxis-Fall, der praktische Bereitstellungsprobleme löst und gleichzeitig die Kompatibilität mit internationalen Standards beibehält. Obwohl es einige Datenmodell-Nichtübereinstimmungs-Herausforderungen gibt, bietet die Gesamtimplementierung wertvolle Referenzen und Werkzeuge für das Feld der astronomischen Datenverwaltung.