Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

rasdaman («менеджер растровых данных») - это СУБД для массивов , то есть: система управления базами данных, которая добавляет возможности для хранения и извлечения массивных многомерных массивов , таких как данные датчиков, изображений, моделирования и статистики. Часто используемым синонимом массивов являются растровые данные , например, в двухмерной растровой графике ; это фактически послужило причиной названия расдаман . Однако у расдамана нет ограничений по количеству измерений - он может служить, например, для данных одномерных измерений, двухмерных спутниковых изображений, временных рядов трехмерных изображений x / y / t и данных разведки x / y / z. , 4-D данные об океане и климате, и даже за пределами пространственно-временных измерений.

История [ править ]

В 1989 году Питер Бауманн начал исследование поддержки изображений в базе данных, затем в Институте компьютерной графики Фраунгофера . После углубленного исследования формализации растровых данных при формировании изображений, в частности AFATL Image Algebra, он создал модель базы данных для многомерных массивов, включая модель данных и язык декларативных запросов. [3] первопроходец в области массивов баз данных . Сегодня многомерные массивы также известны как кубы данных .

В Мюнхенском техническом университете в рамках проекта фундаментальных исследований RasDaMan , финансируемого ЕС , был создан первый прототип на основе объектно-ориентированной СУБД O2 и протестирован в приложениях для наук о Земле и жизни. [4] В рамках других проектов, финансируемых ЕС, эта система была дополнена и расширена для поддержки реляционных СУБД. Специальное исследовательское подразделение, rasdaman GmbH, [5] было создано для оказания коммерческой поддержки в дополнение к исследованиям, которые впоследствии были продолжены в Университете Джейкобса . [6] С тех пор обе организации сотрудничают в дальнейшем развитии и использовании технологии расдамана.

Концепции [ править ]

Модель данных [ править ]

Основываясь на алгебре массивов [7], специально разработанной для целей баз данных, rasdaman добавляет новый тип атрибута, массив, в реляционную модель. Поскольку это определение массива параметризовано, оно представляет собой конструкцию или шаблон второго порядка ; этот факт отражен функционалами второго порядка в алгебре и языке запросов.

По историческим причинам таблицы называются коллекциями , поскольку первоначальный дизайн подчеркивал встраивание в стандарт объектно-ориентированных баз данных ODMG . Предвидя полную интеграцию с SQL, коллекции rasdaman представляют собой бинарные отношения, в которых первый атрибут является идентификатором объекта, а второй - массивом. Это позволяет устанавливать ссылки внешнего ключа между массивами и обычными реляционными кортежами .

Язык растровых запросов [ править ]

Язык запросов rasdaman, rasql, встраивается в стандартный SQL и его обработку, ориентированную на наборы. В новом типе атрибута, многомерных массивах, предоставляется набор дополнительных операций, все из которых основаны на минимальном наборе алгебраически определенных основных операторов, конструкторе массива (который создает новый массив и заполняет его значениями) и массиве конденсатор (который, как и агрегаты SQL, извлекает скалярную сводную информацию из массива). Язык запросов является декларативным (и, следовательно, оптимизируемым) и безопасным для оценки, то есть: каждый запрос гарантированно возвращается после конечного числа шагов обработки.

Подробная информация представлена ​​в руководстве по запросам rasql [8] , здесь несколько примеров могут проиллюстрировать его использование:

  • "Из всех кубов данных климатического моделирования 4-D x / y / z / t вырез, который содержит все в x, ay, извлекает от 100 до 200, все доступно вдоль z, и срез в позиции 42 (фактически приводит к 3 -D x / y / z куб) ":
выберите  c [  * : * ,  100 : 200 ,  * : * ,  42  ]  из  ClimateSimulations  как  c
  • «На всех спутниковых снимках Landsat исключить все незеленые области»:
выберите  img  *  ( img . green  >  130 ) из  LandsatArchive  как  img

Примечание: это очень наивная формулировка поиска растительности; на практике можно использовать формулу NDVI , использовать нулевые значения для маскировки облаков и еще несколько методов.

  • «Все изображения МРТ, где в некоторой области, определенной битовыми масками, интенсивность превышает пороговое значение 250»:
выберите  img из  MRI  как  img ,  маски  как  m, где  some_cells (  img  >  250  и  m  )
  • «Двухмерный срез x / y из всех кубов данных четырехмерного моделирования климата, каждый из которых закодирован в формате PNG»:
выберите  png (  c [  * : * ,  * : * ,  100 ,  42  ]  ) из  ClimateSimulations  как  c

Архитектура [ править ]

Управление хранилищем [ править ]

Пример мозаики массива в расдамане

Растровые объекты хранятся в стандартной реляционной базе данных, основанной на разделении растрового объекта на листы . [9] Помимо обычного разделения, возможно любое пользовательское или системное разделение. Поскольку листы образуют единицу доступа к диску, критически важно, чтобы шаблон листов соответствовал шаблонам доступа для запросов; Несколько стратегий мозаики помогают создать хорошо работающую мозаику. Геоиндекс используется для быстрого определения плиток, на которые влияет запрос. Необязательно, плитки сжимаются с использованием одного из различных вариантов, включая алгоритмы без потерь и с потерями (вейвлет); независимо от этого результаты запроса могут быть сжаты для передачи клиенту. И стратегия листов, и сжатие содержат параметры настройки базы данных.

Плитка и индекс плитки хранятся в виде двоичных объектов в реляционной базе данных , которая также хранит данные СЛОВАРЬ необходимы системы динамического типа rasdaman в. Адаптеры доступны для нескольких реляционных систем, в том числе для PostgreSQL с открытым исходным кодом . Для массивов, размер которых превышает дисковое пространство, была разработана поддержка иерархического управления хранением данных (HSM).

Обработка запросов [ править ]

Запросы анализируются, оптимизируются и выполняются на сервере rasdaman. Парсер получает строку запроса и генерирует дерево операций. Кроме того, он применяет правила алгебраической оптимизации к дереву запросов, где это применимо; из 150 алгебраических правил перезаписи 110 фактически оптимизируют, а остальные 40 служат для преобразования запроса в каноническую форму. На портативном компьютере синтаксический анализ и оптимизация занимают меньше миллисекунды.

Выполнение следует парадигме потоковой передачи тайлов : всякий раз, когда это возможно, тайлы массива, адресованные запросом, выбираются последовательно, и каждый тайл отбрасывается после обработки. Это приводит к созданию архитектуры, масштабируемой до объемов данных, на порядки превышающих основную память сервера.

Выполнение запроса распараллелено. Во-первых, rasdaman предлагает параллелизм между запросами: диспетчер планирует запросы в пул серверных процессов для каждой транзакции. Внутризапросный параллелизм прозрачно распределяет поддеревья запросов по доступным ядрам, графическим процессорам или облачным узлам.

Клиентские API [ править ]

Основным интерфейсом для rasdaman является язык запросов. Встраивания в C ++ и Java API позволяют вызывать запросы, а также использовать удобные клиентские функции для обработки массивов. Сами по себе массивы поставляются в формате основной памяти клиентского языка и архитектуры процессора, готовые для дальнейшей обработки. Кодеки формата данных позволяют получать массивы в распространенных растровых форматах, таких как CSV , PNG и NetCDF .

Предоставляется набор инструментов веб-дизайна raswct, который упрощает создание интерфейсов веб-запросов, включая графические виджеты для параметризованной обработки запросов, такие как ползунки для пороговых значений в запросах.

Гео веб-службы [ править ]

Java сервлетов, petascope , работает как rasdaman интерфейсов клиент предлагает веб - служб , в частности , для доступа к гео данных, обработки и фильтрации. Поддерживаются следующие стандарты OGC : WMS , WCS , WCPS и WPS .

Для WCS и WCPS эталонной реализацией является rasdaman .

Статус и модель лицензии [ править ]

Сегодня rasdaman - это полноценная реализация, предлагающая функции запроса массива / вставки / обновления / удаления. Он используется как в исследовательских, так и в коммерческих установках.

В сотрудничестве первоначального владельца кода, rasdaman GmbH [5] и Jacobs University , код раскол был проведен в 2008 - 2009 в результате rasdaman сообщества , [10] с открытым исходным кодом филиала и rasdaman предприятие , коммерческая отрасль. С тех пор сообщество rasdaman поддерживается Университетом Джейкобса, в то время как предприятие rasdaman остается собственностью rasdaman GmbH. Разница между обоими вариантами в основном состоит в ускорителях производительности (таких как специальные методы оптимизации), предназначенных для поддержки особенно больших баз данных, количества пользователей и сложных запросов; Подробности доступны насайт сообщества rasdaman . [11]

Rasdaman сообщество лицензия выпускает сервер в GPL и все клиентские части в LGPL , что позволяет использовать систему в любом виде лицензии среды.

Воздействие и использование [ править ]

Будучи первой выпущенной СУБД Array (первый прототип был доступен в 1996 году), rasdaman сформировал эту недавнюю область исследования баз данных. Концепции модели данных и запросов (декларативность, иногда выбор операторов) находят свое отражение в более поздних подходах.

В 2008 году Open Geospatial Consortium выпустил стандарт службы обработки веб-покрытия, который определяет язык растровых запросов на основе концепции покрытия . На семантику операторов [12] влияет алгебра расдамановых массивов.

EarthLook [13] представляет собой демонстрацию стандартов покрытия OGC в действии, предлагая варианты использования от 1-D до 4-D для доступа к растровым данным и специальной обработки. EarthLook построен на расдамане.

Примером большого проекта, в котором rasdaman используется для крупномасштабных сервисов во всех науках о Земле, является EarthServer [14], шесть сервисов объемом не менее 100 терабайт каждый были настроены для интегрированного поиска данных / метаданных и распределенной обработки запросов. .

Ссылки [ править ]

  1. ^ «Проект с открытым исходным кодом rasdaman на Open Hub» . Откройте Hub . Программное обеспечение Black Duck . Проверено 14 января 2020 . CS1 maint: discouraged parameter (link)
  2. ^ "Лицензия Rasdaman" . rasdaman.org . Проверено 1 августа 2016 . CS1 maint: discouraged parameter (link)
  3. ^ Бауманн, П .: Об управлении многомерными дискретными данными . VLDB Journal 4 (3) 1994, специальный выпуск по системам пространственных баз данных, стр. 401 - 444
  4. ^ http://cordis.europa.eu/result/rcn/20754_en.html
  5. ^ а б http://www.rasdaman.com
  6. ^ https://web.archive.org/web/20150924084739/http://www.rasdaman.com/News/archive.php
  7. ^ Бауманн, П .: Алгебра массивов баз данных для пространственно-временных данных и за их пределами . Proc. NGITS'99, LNCS 1649, Springer 1999, стр.76-93
  8. ^ nn: Руководство по языку запросов Rasdaman
  9. ^ Фуртадо, П., Бауман, П.: Хранение многомерных массивов на основе произвольной мозаики . Proc. ICDE'99, 23–26 марта 1999 г., Сидней, Австралия, стр. 328–336.
  10. ^ http://www.rasdaman.org
  11. ^ модель лицензии rasdaman
  12. ^ Бауманн, П .: Стандарт службы обработки веб-покрытия OGC (WCPS) . Геоинформатика, 14 (4) 2010, с. 447-479
  13. ^ http://standards.rasdaman.com/
  14. ^ http://www.earthserver.eu