Автор (ы) оригинала | Питер Бауманн |
---|---|
Разработчики) | rasdaman GmbH |
Стабильный выпуск | rasdaman v9.8.1 / 26 июля 2019 г. |
Репозиторий | |
Написано в | C ++ [1] |
Операционная система | большинство Unix-подобных операционных систем |
Тип | Массив СУБД |
Лицензия | GPL v3 (сервер) / LGPL v3 (клиент) или проприетарный [2] |
Веб-сайт | rasdaman |
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 терабайт каждый были настроены для интегрированного поиска данных / метаданных и распределенной обработки запросов. .
Ссылки [ править ]
- ^ «Проект с открытым исходным кодом rasdaman на Open Hub» . Откройте Hub . Программное обеспечение Black Duck . Проверено 14 января 2020 . CS1 maint: discouraged parameter (link)
- ^ "Лицензия Rasdaman" . rasdaman.org . Проверено 1 августа 2016 . CS1 maint: discouraged parameter (link)
- ^ Бауманн, П .: Об управлении многомерными дискретными данными . VLDB Journal 4 (3) 1994, специальный выпуск по системам пространственных баз данных, стр. 401 - 444
- ^ http://cordis.europa.eu/result/rcn/20754_en.html
- ^ а б http://www.rasdaman.com
- ^ https://web.archive.org/web/20150924084739/http://www.rasdaman.com/News/archive.php
- ^ Бауманн, П .: Алгебра массивов баз данных для пространственно-временных данных и за их пределами . Proc. NGITS'99, LNCS 1649, Springer 1999, стр.76-93
- ^ nn: Руководство по языку запросов Rasdaman
- ^ Фуртадо, П., Бауман, П.: Хранение многомерных массивов на основе произвольной мозаики . Proc. ICDE'99, 23–26 марта 1999 г., Сидней, Австралия, стр. 328–336.
- ^ http://www.rasdaman.org
- ^ модель лицензии rasdaman
- ^ Бауманн, П .: Стандарт службы обработки веб-покрытия OGC (WCPS) . Геоинформатика, 14 (4) 2010, с. 447-479
- ^ http://standards.rasdaman.com/
- ^ http://www.earthserver.eu