Loading
Пропустить Навигационные Ссылки.

Авторизоваться
Для зарегистрированных пользователей

Использование облачных ресурсов Google Cloud Storage и их интеграция с ресурсами ЦКП «ИКИ-Мониторинг»

На сегодня всё большее значение при работе со сверхбольшими архивами данных приобретают облачные решения с поддержкой объектных протоколов хранения и доступа семейства S3. Раньше подобные решения обеспечивали только распределённое хранение, но были достаточно неудобны для организации прямого доступа к данным в сочетании с онлайн-анализом и обработкой. В 2015-2016 ИКИ РАН совместно с ВЦ ДВО РАН был разработан прототип системы распределённого хранения данных ДЗЗ с применением высокопроизводительной платформы OpenStack Swift и проведена оценка его эффективности относительно используемых в настоящее время методов и технологий хранения данных на примере системы «Вега–Дальний Восток». На тот момент использование объектных хранилищ на базе OpenStack Swift, S3 и подобных не имело преимуществ перед традиционными методами хранения и представления данных для обработки и визуализации. Несмотря на все плюсы таких решений, в том числе распределённость, масштабируемость, устойчивость к отказам аппаратуры и возможность доступа к данным через RestFUL-сервисы, основным минусом была их Posix-несовместимость. Это приводило к тому, что при любой операции доступа к данным приходилось читать весь файл целиком, что резко увеличивало накладные расходы. Использование надстроек над OpenStack Swift, эмулирующих Posix-совместимую файловую систему, частично решило данную проблему, но накладные расходы и быстродействие всё равно оставались неудовлетворительными.

Сейчас же, благодаря адаптации форматов хранения спутниковых данных под облачные решения (например, см. Cloud-optimized GeoTIFF), а также развитию библиотек работы с данными, таких как GDAL, стало возможным использовать объектные облачные хранилища с тем же уровнем удобства и гибкости, что и традиционные средства хранения. Кроме того, на текущий момент существует несколько открытых источников данных ДЗЗ, развёрнутых такими компаниями, как Google и Amazon, обеспечивающими доступ к огромным, многопетабайтным массивам информации, которые невозможно получить для локального доступа. Для примера, по ряду оценок, объём данных КА семейства Landsat и Sentinel, предоставляемый Google Cloud Storage, составляет около 50 Пб. В последние несколько лет появились API к хранилищам такого стандарта, а также специальные формы организации данных, обеспечивающие возможность прямого доступа к требуемым фрагментам файлов данных без скачивания их целиком. Эти факторы сделали возможной прозрачную интеграцию хранилищ S3 с архивами ЦКП «ИКИ-Мониторинг» на базе технологии UNISAT для доступа к внешним данным.

Наиболее крупными и интересными представителями облачных систем, хранящих данные ДЗЗ, на сегодня являются Amazon (AWS) и Google Cloud Storage (GCS). Для пробной интеграции были выбраны ресурсы Google Cloud Storage, так как они предоставляют широкий спектр открытых, бесплатных данных, в том числе данные КА Landsat и Sentinel-2 с охватом на весь мир с момента начала работы этих миссий. Подробнее с доступными данными можно ознакомиться здесь: https://cloud.google.com/storage/docs/public-datasets. Данные, предоставляемые AWS, как правило, являются платными, как минимум за сетевой трафик.

Интеграция ресурсов GCS с ресурсами ЦКП «ИКИ-Мониторинг» предполагает решение двух задач:

  • Получение метаданных о наполнении удалённого хранилища;
  • Отображение и работа с данными из удалённого хранилища GCS средствами ЦКП.


Для решения этих задач были рассмотрены две возможные схемы – синхронная и асинхронная. Обе схемы имеют свои преимущества и недостатки.

Синхронная схема предполагает прямые запросы метаданных к каталогу GCS из интерфейсов доступа ЦКП посредством API на базе SQL-подобной библиотеки BigQuery. Запросы на отображение данных также идут напрямую к GCS. Такая реализация взаимодействия наиболее прозрачна и проста в реализации с программной точки зрения. Кроме того, такая схема гарантированно обеспечивает получение наиболее оперативной информации о состоянии удалённого каталога данных. К минусам её можно отнести невысокую скорость поиска, что критично для веб-приложений, а также непрозрачную схему тарификации поиска по каталогу Google с использованием BigQuery. Несмотря на то, что сами данные бесплатны, существуют ограничения на объём бесплатного трафика в процессе поиска через BigQuery.  Схема реализации синхронной схемы приведена на рисунке 3.2.2.1.

 
Рисунок 3.2.2.1 — Синхронная схема интеграции.


Асинхронная схема предполагает регулярную выгрузку полного каталога метаданных GCS с последующим усвоением в локальные каталоги ЦКП формата Unisat. После этого все запросы метаданных работают только с локальными БД, запросы на отображение данных идут напрямую к GCS. Такая реализация взаимодействия обеспечивает необходимый, такой же, как у локальных данных, уровень быстродействия при поиске информации, но неизбежно приводит к тому, что в определённые моменты времени часть данных из GCS не будет доступна через ресурсы ЦКП. Схема реализации синхронной схемы приведена на рисунке 3.2.2.2.

 Рисунок 3.2.2.2 — Асинхронная схема интеграции.

Результаты сопоставления возможных схем интеграции приведены в таблице 3.2.2.1.


Таблица 3.2.2.1 — Сопоставление схем интеграции.

Синхронная схема

Асинхронная схема

Проще в реализации

Сложнее в реализации

Выше оперативность доступных данных

Неизбежны расхождения между реально доступными данными в GCS и известными нам

Не требует дополнительных программно-аппаратных ресурсов

Требуются дополнительные ресурсы для получения, конвертации и усвоения метаданных в локальные архивы

Хуже быстродействие получения метаданных по запросу в интерфейсе

Лучше быстродействие получения метаданных по запросу в интерфейсе

Основным фактором, влияющим на выбор схемы взаимодействия, в данном случае является быстродействие получения метаданных, как наиболее критичное для использования веб-приложения. При прямом запросе метаданных из GCS посредством BigQuery скорость выполнения запроса может составлять порядка 10–15 секунд, что становится неприемлемым.  Поэтому асинхронная схема, даже несмотря на большую сложность реализации, выглядит предпочтительнее.

Для реализации асинхронной схемы была разработана и реализована механика конвертации и усвоения метаданных в каталоги ЦКП «ИКИ-Мониторинг». В её рамках регулярно скачивается полный индексный файл, фильтруется на предмет изменений по сравнению с прошлым состоянием, изменения конвертируются в формат Unisat и заносятся в каталог.

Также в рамках работ была протестирована возможность отображения данных из GCS в картографических интерфейсах информационных систем на базе ЦКП «ИКИ-Мониторинг» с использованием средств библиотеки GDAL с поддержкой формата Cloud-Optimized GeoTIFF и драйверов прямой работы с хранилищами стандарта S3 (драйвер vsicurl). На текущий момент ведётся доработка и адаптация модулей картографических интерфейсов для штатной работы с такими данными, в том числе их онлайн-обработки и анализа совместно с локальными данными, хранящимися в архивах ЦКП.

Таким образом, текущие результаты работ показывают, что интеграция систем ЦКП «ИКИ-Мониторинг» с Google Cloud Storage технически реализуема и может обеспечить полную функциональность работы с данными, предоставляемую системами ЦКП. Это позволит получить беспрецедентный охват данными и существенно расширить возможности научных и прикладных информационных систем на базе ЦКП по проведению глобальных исследований. Полноценная реализация интеграции ожидается весной следующего, 2021 года.