расдаман
Оригинальный автор(ы) | Питер Бауманн |
---|---|
Разработчик(и) | Расдаман ГмбХ |
Стабильная версия | расдаман v10.3
/ 13 марта 2024 г. |
Репозиторий | |
Написано в | С++ [ 1 ] |
Операционная система | Убунту |
Тип | Массивная СУБД |
Лицензия | GPL v3 (сервер) / LGPL v3 (клиент) или проприетарная версия [ 2 ] |
Веб-сайт | расдаман |
rasdaman («менеджер растровых данных») — это СУБД массивов , то есть система управления базами данных , которая добавляет возможности для хранения и извлечения огромных многомерных массивов , таких как данные датчиков, изображений, моделирования и статистики. Часто используемый синоним массивов — растровые данные , например, в двухмерной растровой графике ; это на самом деле послужило причиной названия Расдаман . Однако расдаман не имеет ограничений по количеству измерений — он может обслуживать, например, одномерные данные измерений, двухмерные спутниковые снимки, трехмерные временные ряды изображений x/y/t и данные разведки x/y/z. , 4-мерные данные об океане и климате, и даже за пределами пространственно-временных измерений.
История
[ редактировать ]В 1989 году Питер Бауманн начал исследование поддержки изображений в базе данных, тогда в Институте компьютерной графики Фраунгофера . После углубленного исследования формализации растровых данных в визуализации, в частности алгебры изображений AFATL, он создал модель базы данных для многомерных массивов, включая модель данных и декларативный язык запросов. [ 3 ] пионер в области массивов баз данных . Сегодня многомерные массивы также известны как кубы данных .
В Мюнхенском техническом университете , в рамках финансируемого ЕС проекта фундаментальных исследований RasDaMan , был создан первый прототип на базе объектно-ориентированной СУБД O2 и протестирован в приложениях в области наук о Земле и жизни. [ 4 ] В ходе дальнейших проектов, финансируемых ЕС, эта система была завершена и расширена для поддержки реляционных СУБД. Специализированное исследовательское подразделение rasdaman GmbH, [ 5 ] была создана для оказания коммерческой поддержки в дополнение к исследованиям, которые впоследствии были продолжены в Университете Джейкобса . [ 6 ] С тех пор обе организации сотрудничают в дальнейшем развитии и использовании технологии расдаман.
Концепции
[ редактировать ]Модель данных
[ редактировать ]На основе алгебры массивов [ 7 ] Специально разработанный для целей баз данных, rasdaman добавляет в реляционную модель новый тип атрибута — массив. Поскольку это определение массива параметризовано, оно представляет собой второго порядка конструкцию или шаблон ; этот факт отражается функционалами второго порядка в алгебре и языке запросов.
По историческим причинам таблицы называются коллекциями , поскольку первоначальный дизайн подчеркивал встраивание в стандарт объектно-ориентированных баз данных ODMG . Предвидя полную интеграцию с SQL, коллекции rasdaman представляют собой двоичное отношение, где первый атрибут является идентификатором объекта , а второй — массивом. Это позволяет устанавливать ссылки на внешние ключи между массивами и обычными реляционными кортежами .
Язык растровых запросов
[ редактировать ]Язык запросов расдаман, rasql, встроен в стандартный SQL и его обработку, ориентированную на множество. Для нового типа атрибута, многомерных массивов, предоставляется набор дополнительных операций, все из которых основаны на минимальном наборе алгебраически определенных основных операторов, конструкторе массива (который создает новый массив и заполняет его значениями) и массиве. конденсатор (который, как и агрегаты SQL, извлекает скалярную сводную информацию из массива). Язык запросов является декларативным (и, следовательно, оптимизируемым) и безопасным при вычислении, то есть: каждый запрос гарантированно возвращается после конечного числа шагов обработки.
Руководство по запросам rasql [ 8 ] содержит подробности, вот несколько примеров, которые могут проиллюстрировать его использование:
- «Из всех 4-мерных кубов данных моделирования климата по координатам x/y/z/t вырез, который содержит все значения x, извлечённые значения от 100 до 200, все доступны по оси z, и срез в позиции 42 (фактически в результате получается 3 -D x/y/z куб)":
select c[ *:*, 100:200, *:*, 42 ]
from ClimateSimulations as c
- «На всех спутниковых снимках Landsat подавляйте все незеленые области»:
select img * (img.green > 130)
from LandsatArchive as img
Примечание: это очень наивная формулировка поиска растительности; на практике можно использовать формулу NDVI , использовать нулевые значения для маскировки облаков и еще несколько методов.
- «Все изображения МРТ, где в некоторой области, определенной битовыми масками, интенсивность превышает порог 250»:
select img
from MRI as img, Masks as m
where some_cells( img > 250 and m )
- «Двумерный срез x/y из всех кубов данных четырехмерного моделирования климата, каждый из которых закодирован в формате PNG»:
select png( c[ *:*, *:*, 100, 42 ] )
from ClimateSimulations as c
Архитектура
[ редактировать ]Управление хранилищем
[ редактировать ]Растровые объекты разбиваются на тайлы . [ 9 ] Помимо обычного разделения, возможно любое разделение, созданное пользователем или системой. Поскольку плитки образуют единицу доступа к диску, важно, чтобы шаблон листов был адаптирован к шаблонам доступа к запросам; несколько стратегий разбиения на плитки помогают создать эффективное разбиение на плитки. Геоиндекс используется для быстрого определения плиток, на которые влияет запрос. При желании тайлы сжимаются с использованием одного из различных вариантов: [ 10 ] включая алгоритмы без потерь и с потерями (вейвлет); независимо от этого результаты запроса могут быть сжаты для передачи клиенту. И стратегия листового размещения, и сжатие включают параметры настройки базы данных.
Тайлы и индекс тайлов хранятся на диске в базе данных rasdaman, [ 11 ] вместе со словарем данных, необходимым для системы динамических типов rasdaman. Для массивов, превышающих дисковое пространство, разработана поддержка иерархического управления хранилищем (HSM). [ 12 ]
Обработка запросов
[ редактировать ]Выполнение запроса основано на потоковой передаче фрагментов. [ 13 ] Выполнение соответствует парадигме потоковой передачи фрагментов : всякий раз, когда это возможно, фрагменты массива, к которым обращается запрос, извлекаются последовательно, и каждый фрагмент отбрасывается после обработки. Это приводит к созданию архитектуры, масштабируемой до объемов данных, на порядки превышающих основную память сервера.
Запросы подвергаются серьезной оптимизации. [ 14 ] Сервер применяет правила алгебраической (эвристической) оптимизации к дереву запросов, где это применимо; из 150 алгебраических правил переписывания 110 фактически оптимизируют, а остальные 40 служат для преобразования запроса в каноническую форму. Далее применяется оптимизация на основе затрат. Синтаксический анализ и оптимизация вместе занимают на ноутбуке менее миллисекунды.
Далее запросы распараллеливаются. [ 15 ] Rasdaman предлагает параллелизм между запросами (диспетчер планирует запросы в пул серверных процессов для каждой транзакции) и параллелизм внутри запросов (прозрачное распределение поддеревьев запросов по доступным ядрам, графическим процессорам или облачным узлам).
Клиентские API
[ редактировать ]Основным интерфейсом rasdaman является язык запросов. Внедрения в API C++ и Java позволяют вызывать запросы, а также удобные функции на стороне клиента для обработки массивов. Массивы сами по себе доставляются в формате основной памяти клиентского языка и архитектуры процессора и готовы к дальнейшей обработке. Кодеки формата данных позволяют извлекать массивы в распространенных растровых форматах, таких как CSV , PNG и NetCDF .
Предоставляется набор инструментов веб-дизайна raswct, который упрощает создание интерфейсов веб-запросов, включая графические виджеты для параметризованной обработки запросов, такие как ползунки для пороговых значений в запросах.
Географические веб-сервисы
[ редактировать ]petascope Java -сервлет , работающий как клиент rasdaman, предлагает интерфейсы веб-сервисов специально для доступа, обработки и фильтрации геоданных. следующие стандарты OGC Поддерживаются : WMS , WCS , WCPS и WPS .
Для WCS и WCPS является rasdaman эталонной реализацией .
Статус и модель лицензии
[ редактировать ]Сегодня rasdaman — это полноценная реализация, предлагающая функции выбора/вставки/обновления/удаления массива. Он используется как в исследовательских, так и в коммерческих установках.
В сотрудничестве с первоначальным владельцем кода, rasdaman GmbH. [ 5 ] и Университета Джейкобса , разделение кода было выполнено в 2008–2009 годах, в результате чего было создано сообщество расдаман , [ 16 ] филиал с открытым исходным кодом и предприятие rasdaman , коммерческое отделение. С тех пор сообщество расдаман поддерживается Университетом Джейкобса, тогда как предприятие расдаман остается собственностью rasdaman GmbH. Разница между обоими вариантами в основном состоит в повышении производительности (например, в специальных методах оптимизации), предназначенных для поддержки особенно больших баз данных, количества пользователей и сложных запросов; Подробности доступны на сайте сообщества rasdaman . [ 17 ]
Лицензия сообщества rasdaman выпускает сервер под лицензией GPL , а все клиентские части — под лицензией LGPL , тем самым позволяя использовать систему в любой лицензионной среде.
Влияние
[ редактировать ]Будучи первой выпущенной СУБД Array (первый прототип появился в 1996 году), rasdaman сформировал эту новейшую область исследований баз данных. Концепции модели данных и запросов (декларативность, иногда выбор операторов) обнаруживаются в более поздних подходах. Глубокое сравнение СУБД Array и связанных с ними технологий было проведено Research Data Alliance в 2018 году. [ 18 ]
Стандарты
[ редактировать ]В 2008 году Открытый геопространственный консорциум выпустил стандарт службы обработки веб-покрытий , который определяет растровый (часто называемый «кубом данных») язык запросов, основанный на концепции покрытия . Семантика оператора [ 19 ] находится под влиянием алгебры массива Расдамана.
В 2016 году INSPIRE (Правовая основа пространственной информации в Европе) [ 20 ] ) принял WCPS в качестве дополнительного компонента INSPIRE-WCS. [ 21 ]
В 2023 году WCPS был принят ISO TC211 как ISO 19123-3:2023. [ 22 ]
В 2024 году OGC принял ту же спецификацию, что и абстрактная тема 6.3. [ 23 ]
В 2019 году ISO приняла язык запросов к массивам rasql в качестве [ 24 ] стандарту SQL с небольшими синтаксическими изменениями в SQL.
Использование проекта
[ редактировать ]Два выбранных проекта могут проиллюстрировать использование расдамана в геосервисах.
Открытая игровая площадка Earth Datacube [ 25 ] представляет собой демонстрацию действенных кубов геоданных, предлагающую варианты использования от 1 до 4 D для доступа к растровым данным и специальной обработки. Витрина построена с использованием расдамана.
ЗемляСервер [ 26 ] — глобальная федерация независимых поставщиков кубов данных. Объединенные предложения кубов данных доступны в виде единого гомогенизированного пространства кубов данных. Доступ полностью прозрачен по местоположению: любой узел может получить запрос и ответить на него, независимо от того, на каком узле федерации находятся данные; это включает в себя автоматическое объединение распределенных данных. Участие бесплатное для участников datacube.
Ссылки
[ редактировать ]- ^ «Проект с открытым исходным кодом rasdaman на Open Hub» . Открыть хаб . Программное обеспечение «Черная утка» . Проверено 14 января 2020 г.
- ^ «Лицензия Расдаман» . rasdaman.org . Проверено 1 августа 2016 г.
- ^ Бауманн, П.: Об управлении многомерными дискретными данными . Журнал VLDB 4 (3) 1994, специальный выпуск о системах пространственных баз данных, стр. 401–444.
- ^ «Управление растровыми данными в базах данных» . Информационная служба общественных исследований и разработок (CORDIS) .
- ^ Перейти обратно: а б «расдаман, сервер анализа больших данных» . Расдаман.com . Проверено 11 сентября 2022 г.
- ^ «Расдаман — механизм анализа гибких массивов» . www.rasdaman.com . Архивировано из оригинала 24 сентября 2015 года . Проверено 15 января 2022 г.
- ^ Бауманн, П.: Алгебра массива базы данных для пространственно-временных данных и не только . Учеб. НГИТС'99, LNCS 1649, Springer 1999, стр.76-93.
- ^ nn: Руководство по языку запросов Rasdaman
- ^ Фуртадо П., Бауманн П.: Хранение многомерных массивов на основе произвольного разбиения на мозаику . Учеб. ICDE'99, 23–26 марта 1999 г., Сидней, Австралия, стр. 328–336.
- ^ А. Демель: Механизм сжатия для систем баз данных с многомерными массивами. Кандидатская диссертация, Мюнхенский технический университет, 2001 г.
- ^ П. Фуртадо: Управление хранением многомерных массивов в системах управления базами данных. Кандидатская диссертация, Мюнхенский технический университет, 2000 г.
- ^ Б. Райнер и др.: Поддержка и управление иерархическим хранилищем для Системы управления базами данных с большими многомерными массивами. Учеб. DEXA, Экс-ан-Прованс, Франция, 2–6 сентября 2002 г., Springer LNCS 2453, стр. 689–700, doi: 10.1007/3-540-46146-9_68.
- ^ Н. Видманн: Эффективное выполнение операций над данными многомерного массива. Кандидатская диссертация, Мюнхенский технический университет, 1999 г.
- ^ Р. Ритч: Оптимизация и оценка запросов к массивам в системах управления базами данных. Кандидатская диссертация, Мюнхенский технический университет, 1999 г.
- ^ К. Хан: Параллельная обработка запросов в системах баз данных с многомерными массивами. Кандидатская диссертация, Мюнхенский технический университет, 2003 г.
- ^ «расдаман» . расдаман. 28 февраля 2022 г. Проверено 11 сентября 2022 г.
- ^ модель лицензии расдаман
- ^ Бауманн, П.: Базы данных массивов: концепции, стандарты, реализации . Альянс исследовательских данных, Рабочая группа по оценке баз данных массивов, DOI: https://dx.doi.org/10.15497/RDA00024
- ^ Бауманн, П.: Стандарт службы обработки веб-покрытий OGC (WCPS) . Геоинформатика, 14(4)2010, стр. 447-479.
- ^ «ЕС ИНСПИР» . ЕВРОСОЮЗ. 28 февраля 2022 г. Проверено 18 июля 2024 г.
- ^ «Техническое руководство по внедрению служб загрузки INSPIRE с использованием служб веб-покрытия (WCS)» . 16 декабря 2016 г.
- ^ «ISO 19123-3:2023: Географическая информация. Схема геометрии и функций покрытия. Часть 3. Основы обработки» . 21 июня 2023 г.
- ^ «05 июля 2024 г.» (PDF) . 05.07.2024.
- ^ «ISO 9075-15:2023: Информационные технологии. Языки баз данных. SQL. Часть 15. Многомерные массивы (MDA)» . 01.06.2023.
- ^ «Игровая площадка Earth Datacube» . расдаман . Проверено 18 июля 2024 г.
- ^ «Земля Сервер» . Earthserver.eu . Проверено 11 сентября 2022 г.