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

Реализация SIAv2 поверх Data Butler обсерватории Rubin

Основная информация

  • ID статьи: 2501.00544
  • Название: Implementing SIAv2 Over Rubin Observatory's Data Butler
  • Авторы: Tim Jenness, Stelios Voutsinas, Gregory P. Dubois-Felsmann, Andrei Salnikov
  • Категория: astro-ph.IM (астрофизика - приборы и методы)
  • Дата публикации: 31 декабря 2024 г.
  • Ссылка на статью: https://arxiv.org/abs/2501.00544

Аннотация

Протокол простого доступа к изображениям IVOA версии 2 (SIAv2) определяет простой способ предоставления доступа к коллекциям данных для научного сообщества. В обсерватории Vera C. Rubin мы в настоящее время реализуем доступ к данным ObsTAP через экспорт или представление ObsCore из репозитория Data Butler. Однако этот подход имеет определённые ограничения развёртывания, такие как требование поддержки pgsphere и совместимость с реализацией CADC TAP. Поэтому мы решили исследовать возможность предоставления сервиса SIAv2, который напрямую взаимодействует с Data Butler. В данной статье описаны наша мотивация, стратегия реализации, текущий статус развёртывания и некоторые проблемы несоответствия метаданных между моделью данных Butler и SIAv2.

Научный контекст и мотивация

Предпосылки проблемы

Система Data Butler обсерватории Rubin состоит из реестра метаданных и хранилища файловых данных, где реестр содержит достаточно информации для построения записей ObsCore. Ранее существовало два подхода к предоставлению таблицы ObsCore:

  1. Экспорт записей в файлы CSV или Parquet и загрузка в статическую базу данных
  2. Использование хуков бэкенда реестра для обеспечения синхронизации в реальном времени с таблицей ObsCore

Ограничения существующих подходов

  1. Метод статического экспорта: подходит для официальных выпусков данных и может быть интегрирован в высокопроизводительную базу данных Qserv, но не подходит для динамических наборов данных, таких как быстрые продукты каждую ночь
  2. Метод ObsCore в реальном времени: требует поддержки pgsphere в среде развёртывания и требует перестроения всей таблицы при изменении конфигурации

Научная мотивация

Эти ограничения побудили исследовательскую группу искать более простой, но стандартизированный уровень запросов, работающий непосредственно на основе системы Butler. Протокол SIAv2 IVOA стал очевидным выбором, поскольку:

  • Прямой интерфейс с Butler обеспечивает большую гибкость
  • Изменения конфигурации требуют только простого перезапуска сервиса
  • Может немедленно работать с любым репозиторием Butler

Основные вклады

  1. Разработан и реализован прямой интерфейс SIAv2 к Butler: обход промежуточного слоя традиционной таблицы ObsCore
  2. Разработана многоуровневая архитектура: разделение уровня сервиса и обработки запросов SIAv2 повышает тестируемость
  3. Создана библиотека dax_obscore: предоставляет интерфейс командной строки для облегчения обучения пользователей и экспериментов
  4. Развёрнут готовый к производству сервис: развёрнут на научной платформе Rubin и доступен для отладки данных
  5. Выявлены и проанализированы проблемы несоответствия моделей данных: предоставляет чёткую дорожную карту для будущих улучшений

Методология

Определение задачи

Прямое отображение запросов протокола IVOA SIAv2 на систему запросов Rubin Data Butler для реализации стандартизированного интерфейса доступа к астрономическим данным, избегая ограничений развёртывания традиционного метода таблиц ObsCore.

Архитектура системы

HTTP GET → Nginx → Сервис SIAv2 → dax_obscore → Репозиторий Butler
sia/dp02/query?POS=..     ↓              ↓            ↓
                    Обработка запроса  Запрос Butler  Результаты
                         ↓              ↓            ↓
                    VOTable ObsCore ← Результаты ← DatasetRefs

Проектирование основных компонентов

  1. Уровень сервиса SIAv2
    • Разработан на Python и FastAPI
    • Основан на стандартной внутренней платформе разработки Rubin Phalanx
    • Предоставляет стандартный уровень аутентификации и возможности развёртывания
    • Обрабатывает исходные параметры SIAv2 и инкапсулирует результаты
  2. Библиотека dax_obscore
    • Парсинг параметров SIAv2
    • Преобразование параметров в запросы Butler
    • Выполнение запросов и возврат стандартизированных результатов
    • Генерация выходных данных в формате VOTable, совместимом с Astropy
    • Использование модели данных Felis для определения структуры таблицы и обеспечения согласованности
  3. Совместимость интерфейса Butler
    • Прозрачная поддержка как исходного "прямого" Butler, так и нового архитектуры клиент/сервер удалённого Butler
    • Использование встроенной поддержки запросов по регионам и времени в Butler

Технические инновации

  1. Преимущества многоуровневого проектирования
    • Разделение уровня сервиса и обработки запросов повышает тестируемость
    • dax_obscore может быть установлена и использована независимо
    • Поддерживает параллельную разработку и обслуживание
  2. Прямой доступ к Butler
    • Обход промежуточного слоя таблицы ObsCore
    • Снижение зависимостей развёртывания (не требуется pgsphere)
    • Более быстрый отклик на изменения конфигурации
  3. Стандартизированный выход
    • Использование модели данных Felis для обеспечения согласованности результатов
    • Формат VOTable, соответствующий стандартам IVOA
    • Поддержка стандартного набора параметров SIAv2

Экспериментальная установка

Поддерживаемые параметры запроса

В настоящее время пакет dax_obscore поддерживает следующие параметры запроса SIAv2:

  • MAXREC: ограничение максимального количества записей
  • INSTRUMENT: фильтрация по приборам
  • POS: запрос по положению/регионам
  • TIME: запрос по диапазону времени
  • BAND: фильтрация по полосам
  • EXPTIME: время экспозиции
  • CALIB: тип калибровки

Планируемые к поддержке параметры

  • ID: запрос по идентификаторам
  • TARGET: целевой объект
  • FACILITY: название установки (планируется использование "Rubin:Simonyi" и "Rubin:1.2m")
  • COLLECTION: коллекция данных

Среда развёртывания

  • Развёрнута на научной платформе Rubin
  • Доступна для отладки доступа к данным
  • Поддерживает инструмент командной строки, устанавливаемый через PyPI

Результаты экспериментов

Текущий статус развёртывания

  1. Доступность сервиса: успешно развёрнут и используется на научной платформе Rubin
  2. Проверка функциональности: основные функции запроса параметров SIAv2 работают корректно
  3. Совместимость: одновременная поддержка режимов прямого доступа к Butler и удалённого Butler
  4. Инструменты пользователя: предоставляется интерфейс командной строки для локальных экспериментов и обучения

Преимущества производительности

  1. Упрощение развёртывания: не требуется зависимость pgsphere
  2. Гибкость конфигурации: изменения требуют только перезапуска сервиса
  3. Немедленная готовность: может немедленно работать с любым репозиторием Butler

Связанные работы

Стандарты IVOA

  • Протокол SIAv2: определён Dowler и др. в 2015 году как рекомендуемый стандарт IVOA
  • Сервис ObsTAP: основан на ObsCore, стандартизирован Louys и др. в 2017 году

Технологический стек обсерватории Rubin

  • Система Data Butler: разработана Jenness и др. в 2022 году
  • База данных Qserv: разработана Mueller и др. в 2023 году
  • Удалённый Butler: разработана Jenness и др. в 2024 году

Выводы и обсуждение

Основные выводы

  1. Осуществимость реализации: реализация SIAv2 поверх Data Butler является относительно простым процессом
  2. Преимущества архитектуры: многоуровневая стратегия разработки обеспечивает параллельную разработку и предоставляет дополнительные инструменты командной строки
  3. Успешное развёртывание: сервис успешно развёрнут и может использоваться в производственной среде

Проблемы несоответствия моделей данных

1. Отсутствие информации о приборах в совмещённых стеках

  • Проблема: совмещённые стеки (co-adds) в реестре Butler не имеют связанной информации о приборах
  • Влияние: невозможно различить источники данных в репозиториях, содержащих данные LATISS и LSSTCam
  • Решение: в будущем определение приборов исходных наборов данных через полное отслеживание происхождения

2. Время экспозиции совмещённых стеков

  • Проблема: медианное время экспозиции совмещённых стеков является производной величиной, неизвестной при определении координатного пространства Butler
  • Решение: планируется поддержка хранилища производных метаданных в будущей дорожной карте разработки

3. Дата наблюдения совмещённых стеков

  • Проблема: совмещённые стеки теряют информацию о датах отдельных наблюдений
  • Решение: возможно вывести диапазон дат после реализации системы происхождения Butler в будущем

4. Стандартизация типов наборов данных

  • Проблема: типы наборов данных Butler (например, visit_image, difference_image) не имеют стандартизированного способа запроса в SIAv2
  • Решение: рассмотрение добавления расширения параметра запроса DPSUBTYPE, возможно с префиксом lsst

Будущие направления

  1. Поддержка производных метаданных: реализация поддержки запросов для вычисляемых метаданных
  2. Полная система происхождения: решение проблем отсутствия метаданных совмещённых стеков через информацию о происхождении
  3. Расширенная поддержка параметров: завершение реализации параметров ID, TARGET, FACILITY, COLLECTION
  4. Пользовательские расширения: реализация специфичных для Rubin параметров запроса, таких как DPSUBTYPE

Глубокая оценка

Сильные стороны

  1. Отличное проектирование архитектуры
    • Многоуровневое проектирование повышает поддерживаемость и тестируемость системы
    • Прямой интерфейс Butler избегает сложности промежуточного слоя
    • Поддержка нескольких режимов развёртывания Butler
  2. Высокая практическая ценность
    • Решение конкретных проблем развёртывания (зависимость pgsphere, гибкость конфигурации)
    • Предоставление стандартизированного интерфейса доступа к данным
    • Инструменты командной строки повышают удобство использования системы
  3. Совместимость со стандартами
    • Строгое соответствие стандарту IVOA SIAv2
    • Использование стандартного формата выходных данных VOTable
    • Совместимость с существующей экосистемой доступа к астрономическим данным

Недостатки

  1. Ограничения модели данных
    • Несколько важных проблем несоответствия метаданных остаются нерешёнными
    • Возможности запроса совмещённых стеков ограничены
    • Требуется дальнейшее развитие системы Butler
  2. Полнота функциональности
    • Некоторые параметры SIAv2 ещё не реализованы
    • Пользовательские расширения находятся на стадии планирования
    • Поддержка сложных запросов может быть ограничена
  3. Глубина документации
    • Отсутствуют данные тестирования производительности
    • Недостаточное обсуждение обработки ошибок и граничных случаев
    • Ограниченный детальный анализ сравнения с другими системами

Влияние

  1. Вклад в управление астрономическими данными
    • Предоставление практического примера стандартизированного доступа к данным для крупных астрономических проектов
    • Демонстрация способа реализации традиционных протоколов на современных системах управления данными
    • Предоставление справочного материала для аналогичных реализаций в других обсерваториях
  2. Ценность технологического продвижения
    • Открытая реализация (пакет dax_obscore) облегчает принятие и улучшение сообществом
    • Проектирование многоуровневой архитектуры применимо к другим подобным проектам
    • Инструменты командной строки снижают затраты на обучение пользователей

Применимые сценарии

  1. Крупные астрономические проекты: проекты, требующие стандартизированного интерфейса доступа к данным
  2. Центры данных и обсерватории: учреждения, желающие предоставить совместимые с IVOA сервисы
  3. Научное сообщество: исследователи, нуждающиеся в программном доступе к астрономическим данным
  4. Образовательные цели: среда обучения и экспериментирования с протоколом SIAv2

Библиография

В данной статье цитируются следующие ключевые работы:

  1. Dowler, P., et al. (2015). IVOA Simple Image Access Version 2.0 - определение стандарта протокола SIAv2
  2. Jenness, T., et al. (2022). Основная архитектура системы Rubin Data Butler
  3. Louys, M., et al. (2017). Стандартизация модели данных ObsCore и реализации TAP
  4. Salnikov, A. (2022). Техническое описание ObsCore как представления реестра Butler

Резюме: Данная статья демонстрирует успешный пример инженерной практики, решающий конкретные проблемы развёртывания при сохранении совместимости с международными стандартами. Несмотря на некоторые вызовы, связанные с несоответствием моделей данных, реализация в целом предоставляет ценный справочный материал и инструменты для области управления астрономическими данными.