МонетБД
![]() | |
Разработчик(и) | МонетДБ Б.В. |
---|---|
Стабильная версия | декабрь 2023 г. (11.49) [1] ![]() |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Столбцово-ориентированная СУБД СУБД |
Лицензия | Публичная лицензия Mozilla , версия 2.0. |
Веб-сайт | www |
MonetDB — это (RDBMS) с открытым исходным кодом столбцово-ориентированная система управления реляционными базами данных , первоначально разработанная в Centrum Wiskunde & Informatica (CWI) в Нидерландах .Он предназначен для обеспечения высокой производительности сложных запросов к большим базам данных, таких как объединение таблиц с сотнями столбцов и миллионами строк.MonetDB применяется в высокопроизводительных приложениях для онлайн-аналитической обработки , интеллектуального анализа данных , географических информационных систем (ГИС), [2] Структура описания ресурсов (RDF), [3] поиск текста и обработка выравнивания последовательности . [4]
История
[ редактировать ]Проекты интеллектуального анализа данных в 1990-х годах требовали улучшенной поддержки аналитических баз данных. Это привело к созданию компании CWI дочерней под названием Data Distilleries, которая использовала ранние реализации MonetDB в своем аналитическом пакете. Data Distilleries в конечном итоге стала дочерней компанией SPSS в 2003 году, которая, в свою очередь, была приобретена IBM в 2009 году. [5]
MonetDB в ее нынешнем виде была впервые создана в 2002 году докторантом Питером Бончем и профессором Мартином Л. Керстеном в рамках исследовательского проекта MAGNUM 1990-х годов в Амстердамском университете . [6] Первоначально его называли просто Моне, в честь французского художника-импрессиониста Клода Моне . Первая версия под лицензией на программное обеспечение с открытым исходным кодом (модифицированная версия Общественной лицензии Mozilla ) была выпущена 30 сентября 2004 года. Когда версия MonetDB 4 была выпущена в домен с открытым исходным кодом, многие расширения к базе кода были добавлены компанией командой MonetDB/CWI, включая новый интерфейс SQL, поддерживающий стандарт SQL:2003 . [7]
MonetDB представила инновации на всех уровнях СУБД : модель хранения, основанную на вертикальной фрагментации, современную архитектуру выполнения запросов, настроенную на ЦП , которая часто давала MonetDB преимущество в скорости по сравнению с тем же алгоритмом по сравнению с типичной на основе интерпретатора СУБД . Это была одна из первых систем баз данных, в которой была настроена оптимизация запросов для кэшей ЦП . MonetDB включает в себя автоматические и самонастраивающиеся индексы, оптимизацию запросов во время выполнения и модульную архитектуру программного обеспечения. [8] [9]
К 2008 году стартовал последующий проект под названием X100 (MonetDB/X100), который превратился в технологию VectorWise . VectorWise был приобретен Actian Corporation , интегрирован с базой данных Ingres и продан как коммерческий продукт. [10] [11]
В 2011 году были начаты серьезные усилия по обновлению кодовой базы MonetDB. В рамках него был заморожен код ядра MonetDB 4 и его компонентов XQuery. В MonetDB 5 части уровня SQL были перенесены в ядро. [7] Полученные изменения привели к изменению внутренних API-интерфейсов при переходе от языка инструкций MonetDB (MIL) к языку ассемблера MonetDB (MAL). Старые, больше не поддерживаемые интерфейсы запросов верхнего уровня также были удалены. Первым был XQuery , который опирался на MonetDB 4 и никогда не портировался на версию 5. [12] Экспериментальная поддержка интерфейса Jaql была удалена в выпуске за октябрь 2014 года. [13] С выпуском в июле 2015 года MonetDB получила поддержку сегментирования данных только для чтения и постоянных индексов. В этом выпуске устаревший модуль потоковой передачи данных DataCell также был удален из основной базы кода в целях оптимизации кода. [14] Кроме того, лицензия была изменена на Общественную лицензию Mozilla версии 2.0 .
Архитектура
[ редактировать ]![]() | Эту статью необходимо обновить . ( июнь 2017 г. ) |
Архитектура MonetDB представлена тремя уровнями, каждый со своим набором оптимизаторов. [15] Внешний интерфейс — это верхний уровень, обеспечивающий интерфейс запросов для SQL , при этом SciQL и SPARQL интерфейсы находятся в стадии разработки. Запросы анализируются в представления, специфичные для предметной области, такие как реляционная алгебра для SQL, и оптимизируются. Сгенерированные логические планы выполнения затем переводятся в инструкции языка ассемблера MonetDB (MAL), которые передаются на следующий уровень. Средний или внутренний уровень предоставляет ряд оптимизаторов на основе затрат для MAL. Нижний уровень — это ядро базы данных, которое обеспечивает доступ к данным, хранящимся в таблицах двоичных ассоциаций (BAT). Каждый BAT представляет собой таблицу, состоящую из столбцов идентификатора объекта и значений, представляющих один столбец в базе данных. [15]
Внутреннее представление данных MonetDB также основано на диапазонах адресации памяти современных процессоров, использующих подкачку по требованию файлов, отображаемых в памяти, и, таким образом, отходит от традиционных конструкций СУБД, включающих сложное управление большими хранилищами данных в ограниченной памяти.
Переработка запросов
[ редактировать ]Переработка запросов — это архитектура повторного использования побочных продуктов парадигмы «оператор за раз» в СУБД с колоночным хранилищем. В переработке используется общая идея хранения и повторного использования результатов дорогостоящих вычислений. В отличие от кэшей инструкций низкого уровня, при переработке запросов используется оптимизатор для предварительного выбора инструкций для кэширования. Этот метод предназначен для улучшения времени ответа на запросы и пропускной способности при работе в режиме самоорганизации. [16] Авторы из группы CWI Database Architectures, в которую входят Милена Иванова, Мартин Керстен , Нильс Нес и Ромуло Гонсалвес, получили награду «Лучшая статья, занявшая второе место» на конференции ACM SIGMOD 2009 за свою работу над переработкой запросов. [17] [18]
Взлом базы данных
[ редактировать ]MonetDB была одной из первых баз данных, в которой был реализован взлом баз данных. Взлом базы данных — это постепенное частичное индексирование и/или сортировка данных. Он напрямую использует столбчатую природу MonetDB. Взлом — это метод, который переносит затраты на обслуживание индекса с обновлений на обработку запросов. Оптимизаторы конвейера запросов используются для анализа планов запросов на взлом и распространения этой информации. Этот метод позволяет сократить время доступа и самоорганизовать поведение. [19] «Взлом базы данных» получил награду ACM SIGMOD 2011 J.Gray за лучшую диссертацию. [20]
Компоненты
[ редактировать ]Для MonetDB существует ряд расширений, расширяющих функциональность ядра базы данных. Благодаря трехуровневой архитектуре интерфейсы запросов верхнего уровня могут получить выгоду от оптимизации, выполненной на бэкэнд-уровне и уровне ядра.
SQL
[ редактировать ]MonetDB/SQL — это расширение верхнего уровня, обеспечивающее полную поддержку транзакций в соответствии со стандартом SQL:2003 . [15]
ГИС
[ редактировать ]MonetDB/GIS — это расширение MonetDB/SQL с поддержкой Simple Features Access стандарта Открытого геопространственного консорциума (OGC). [2]
SciQL
[ редактировать ]SciQL — язык запросов на основе SQL для научных приложений с массивами в качестве первоклассных элементов. SciQL позволяет MonetDB эффективно функционировать как массив базы данных . SciQL используется в проекте Европейского Союза, PlanetData заархивированном 30 мая 2014 г., в проектах Wayback Machine и TELEIOS вместе с технологией Data Vault, обеспечивая прозрачный доступ к крупным хранилищам научных данных. [21] Хранилища данных сопоставляют данные из распределенных репозиториев с массивами SciQL, что позволяет улучшить обработку пространственно-временных данных в MonetDB. [22] SciQL будет дополнительно расширен для проекта «Человеческий мозг» . [23]
Хранилища данных
[ редактировать ]Data Vault — это внешнее хранилище файлов для MonetDB, подключенное к базе данных, аналогичное стандарту SQL/MED . Технология Data Vault обеспечивает прозрачную интеграцию с распределенными/удаленными репозиториями файлов. Он предназначен для исследования и добычи научных данных , особенно для дистанционного зондирования . данных [22] Имеется поддержка форматов GeoTIFF ( наблюдение за Землей ), FITS ( астрономия ), MiniSEED ( сейсмология ) и NetCDF . [22] [24] Данные хранятся в файловом хранилище в исходном формате и загружаются в базу данных ленивым способом , только при необходимости. Система также может обрабатывать данные при их приеме, если этого требует формат данных. [25] В результате можно эффективно анализировать даже очень большие файловые хранилища, поскольку в базе данных обрабатываются только необходимые данные. Доступ к данным можно получить через интерфейсы MonetDB SQL или SciQL. Технология Data Vault использовалась в Союза проекте Европейского TELEIOS , целью которого было создание виртуальной обсерватории для данных наблюдения Земли. [24] Хранилища данных для файлов FITS также использовались для обработки астрономических исследований данных для INT Photometric H-Alpha Survey (IPHAS). [26] [27]
ОДИН/БАМ
[ редактировать ]MonetDB имеет модуль SAM/BAM для эффективной обработки данных выравнивания последовательностей . Модуль, предназначенный для исследований в области биоинформатики , имеет загрузчик данных SAM/BAM и набор пользовательских функций SQL для работы с данными ДНК . [4] Модуль использует популярную библиотеку SAMtools . [28]
РДФ/СПАРКЛ
[ редактировать ]MonetDB/RDF — это расширение на основе SPARQL для работы со связанными данными, которое добавляет поддержку RDF и позволяет MonetDB функционировать как тройное хранилище . В разработке для проекта Linked Open Data 2 . [3]
R-интеграция
[ редактировать ]Модуль MonetDB/R позволяет выполнять пользовательские функции, написанные на R, на уровне SQL системы. Это делается с использованием встроенной поддержки R для запуска в другом приложении, в данном случае внутри СУБД. Ранее соединитель MonetDB.R позволял использовать источники данных MonetDB и обрабатывать их в сеансе R. Новая функция интеграции R в MonetDB не требует передачи данных между СУБД и сеансом R, что снижает накладные расходы и повышает производительность. Эта функция предназначена для предоставления пользователям доступа к функциям статистического программного обеспечения R для оперативного анализа данных, хранящихся в СУБД. Он дополняет существующую поддержку C UDF и предназначен для использования для обработки внутри базы данных . [29]
Интеграция Python
[ редактировать ]Подобно встроенным пользовательским функциям R в MonetDB, база данных теперь поддерживает пользовательские функции, написанные на Python / NumPy . В реализации используются массивы Numpy (которые сами по себе являются оболочками Python для массивов C), в результате чего накладные расходы ограничены - обеспечивая функциональную интеграцию Python с соответствием скорости собственным функциям SQL. Встроенные функции Python также поддерживают сопоставленные операции, позволяя пользователю выполнять функции Python параллельно в запросах SQL. Практическая сторона этой функции дает пользователям доступ к библиотекам Python/NumPy/ SciPy , которые могут предоставить большой выбор статистических/аналитических функций. [30]
МонеDBLite
[ редактировать ]После выпуска удаленного драйвера для R ( MonetDB.R ) и R UDF в MonetDB (MonetDB/R) авторы создали встроенную версию MonetDB в R под названием MonetDBLite . Он распространяется как пакет R, что устраняет необходимость в управлении сервером базы данных, необходимом для предыдущих интеграций R. СУБД работает внутри самого процесса R, устраняя накладные расходы на взаимодействие с сокетами и сериализацию, что значительно повышает эффективность. Идея заключается в том, чтобы предоставить SQLite -подобный пакет для R с производительностью оптимизированного столбчатого хранилища в памяти. [31]
Бывшие расширения
[ редактировать ]Ряд прежних расширений со временем устарели и были удалены из стабильной базы кода. Некоторые примечательные примеры включают расширение XQuery , удаленное в версии MonetDB 5; расширение JAQL и расширение потоковой передачи данных под названием Data Cell . [15] [32] [33]
См. также
[ редактировать ]- Список систем управления реляционными базами данных
- Сравнение систем управления реляционными базами данных
- Система управления базой данных
- Столбцово-ориентированная СУБД
- Массивная СУБД
Ссылки
[ редактировать ]- ^ «Декабрь2023 (11.49)» .
- ^ Перейти обратно: а б «Геопространственные данные — MonetDB» . 25 июля 2023 г.
- ^ Перейти обратно: а б «MonetDB — LOD2 — Создание знаний из взаимосвязанных данных» . 6 марта 2014 г.
- ^ Перейти обратно: а б «Науки о жизни в MonetDB» . 25 июля 2023 г.
- ^ «Краткая история о нас — MonetDB» . 6 марта 2014 г.
- ^ Моне: ядро СУБД нового поколения для приложений с интенсивным использованием запросов (PDF) . Университет Амстердама. Май 2002.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Перейти обратно: а б Историческая справка MonetDB
- ^ Стефан Манегольд (июнь 2006 г.). «Эмпирическая оценка процессоров XQuery» (PDF) . Материалы международного семинара по производительности и оценке систем управления данными (ExpDB) . 33 (2). АКМ: 203–220. дои : 10.1016/j.is.2007.05.004 . Проверено 11 декабря 2013 г.
- ^ П. А. Бонч, Т. Груст, М. ван Кеулен, С. Манегольд, Дж. Риттингер, Дж. Тойбнер. MonetDB/XQuery: быстрый процессор XQuery на базе реляционного механизма. Архивировано 19 мая 2008 г. на Wayback Machine . В материалах Международной конференции ACM SIGMOD по управлению данными, Чикаго, Иллинойс, США, июнь 2006 г.
- ^ Марцин Жуковски; Питер Бонч (20 мая 2012 г.). «От x100 к векторному». Материалы Международной конференции ACM SIGMOD 2012 по управлению данными . АКМ. стр. 861–862. дои : 10.1145/2213836.2213967 . ISBN 978-1-4503-1247-9 . S2CID 9187072 .
- ^ Инкстер, Д.; Жуковский, М.; Бонч, Пенсильвания (20 сентября 2011 г.). «Интеграция VectorWise с Ingres» (PDF) . Запись ACM SIGMOD . 40 (3). ACM: 45. CiteSeerX 10.1.1.297.4985 . дои : 10.1145/2070736.2070747 . S2CID 6372175 .
- ^ «XQuery» . 12 декабря 2014 г.
- ^ «Примечания к выпуску MonetDB за октябрь 2014 г.» . 12 декабря 2014 г.
- ^ «MonetDB выпущен в июле 2015 г.» . 31 августа 2015 г.
- ^ Перейти обратно: а б с д Идреос, С.; Гроффен, FE; Нес, Нью-Джерси; Манегольд, С.; Маллендер, Канзас; Керстен, ML (март 2012 г.). «MonetDB: два десятилетия исследований в области столбцово-ориентированных архитектур баз данных» (PDF) . Бюллетень инженерии данных IEEE . ИИЭР: 40–45 . Проверено 6 марта 2014 г.
- ^ * Иванова Милена Г; Керстен, Мартин Л; Нес, Нильс Дж; Гонсалвес, Ромуло AP (2010). «Архитектура переработки промежуточных продуктов в колонном магазине» . Транзакции ACM в системах баз данных . 35 (4). ACM: 24. дои : 10.1145/1862919.1862921 . S2CID 52811192 .
- ^ «Команда базы данных CWI заняла второе место в номинации «Лучший документ» на SIGMOD 2009» . КРИ Амстердам . Проверено 1 июля 2009 г.
- ^ «Награды СИГМОД» . АСМ СИГМОД . Проверено 1 июля 2014 г.
- ^ Идреос, Стратос; Керстен, Мартин Л; Манегольд, Стефан (2007). Взлом базы данных . Труды ЦИДР .
- ^ «Награды СИГМОД» . АСМ СИГМОД . Проверено 12 декабря 2014 г.
- ^ Чжан, Ю.; Ширс, LHA; Керстен, МЛ; Иванова, М.; Нес, Нью-Джерси (2011). «Обработка астрономических данных с использованием SciQL, языка запросов на основе SQL для данных массива». Программное обеспечение и системы для анализа астрономических данных .
- ^ Перейти обратно: а б с Иванова, Милена; Керстен, Мартин; Манегольд, Стефан (2012). «Хранилища данных: симбиоз технологии баз данных и хранилищ научных файлов». Управление научно-статистическими базами данных . SSDBM 20212. Springer Berlin Heidelberg. стр. 485–494.
- ^ «СкиQL» . 4 марта 2014 г.
- ^ Перейти обратно: а б Иванова, Милена; Каргин, Ягыз; Керстен, Мартин; Манегольд, Стефан; Чжан, Ин; Датку, Михай; Молина, Даниэла Эспиноза (2013). «Хранилища данных: база данных. Добро пожаловать в хранилища научных файлов». Материалы 25-й Международной конференции по управлению научными и статистическими базами данных . ССДБМ. АКМ. дои : 10.1145/2484838.2484876 . ISBN 978-1-4503-1921-8 .
- ^ Каргин, Ягыз; Иванова, Милена; Чжан, Ин; Манегольд, Стефан; Керстен, Мартин (август 2013 г.). «Ленивый ETL в действии: научные данные о технологии ETL» (PDF) . Труды Фонда VLDB . 6 (12): 1286–1289. дои : 10.14778/2536274.2536297 . ISSN 2150-8097 .
- ^ «Анализ астрономических данных с помощью хранилищ данных MonetDB» . 09.09.2015.
- ^ «Хранилища данных» . 09.09.2015.
- ^ «Установка ЗРК/БАМ» . 24 ноября 2014 г.
- ^ «Встроенный R в MonetDB» . 13 ноября 2014 года. Архивировано из оригинала 13 ноября 2014 года . Проверено 12 ноября 2014 г.
- ^ «Встроенный Python/NumPy в MonetDB» . 11 января 2015 г.
- ^ «MonetDBLite для R» . 25 ноября 2015 г.
- ^ «Xquery (устарело)» . МонетДБ . Проверено 26 мая 2015 г.
- ^ «Объявление: выпуск новой функции пакета MonetDB в октябре 2014 г.» . МонетДБ . Проверено 26 мая 2015 г.
Библиография
[ редактировать ]- Бонч, Питер; Манегольд, Стефан; Керстен, Мартин (1999). Архитектура базы данных оптимизирована для нового узкого места: доступа к памяти . Материалы международной конференции по очень большим базам данных . стр. 54–65.
- Шмидт, Альбрехт; Керстен, Мартин; Виндхаувер, Мензо; Ваас, Флориан (2001). «Эффективное реляционное хранение и извлечение XML-документов» . Всемирная паутина и базы данных . Конспекты лекций по информатике. Том. 1997. Спрингер. стр. 137–150. дои : 10.1007/3-540-45271-0_9 . ISBN 978-3-540-41826-9 .
- Идреос, Стратос; Керстен, Мартин Л; Манегольд, Стефан (2007). Взлом базы данных . Труды ЦИДР .
- Бонц, Питер А; Керстен, Мартин Л; Манегольд, Стефан (2008). «Разрушение стены памяти в MonetDB» . Коммуникации АКМ . 51 (12). АКМ: 77–85. дои : 10.1145/1409360.1409380 . S2CID 5633935 .
- Сидирургос, Лефтерис; Гонсалвес, Ромуло; Керстен, Мартин; Нес, Нильс; Манегольд, Стефан (2008). «Поддержка хранилища столбцов для управления данными RDF: не все лебеди белые». Труды Фонда VLDB . 1 (2): 1553–1563. дои : 10.14778/1454159.1454227 .
- Иванова Милена Георгиевна; Керстен, Мартин Л.; Нес, Нильс Дж.; Гонсалвес, Ромуло AP (2009). «Архитектура переработки промежуточных продуктов в колонном магазине». Материалы Международной конференции ACM SIGMOD 2009 г. по управлению данными . СИГМОД '09. АКМ. стр. 309–320. дои : 10.1145/1559845.1559879 . ISBN 978-1-60558-551-2 .
- Манегольд, Стефан; Бонц, Питер А.; Керстен, Мартин Л. (декабрь 2000 г.). «Оптимизация архитектуры базы данных для нового узкого места: доступ к памяти» . Журнал ВЛДБ . 9 (3). Springer-Verlag New York, Inc.: 231–246. дои : 10.1007/s007780000031 . ISSN 1066-8888 . S2CID 1688757 .
- Иванова Милена Г; Керстен, Мартин Л; Нес, Нильс Дж; Гонсалвес, Ромуло AP (2010). «Архитектура переработки промежуточных продуктов в колонном магазине» . Транзакции ACM в системах баз данных . 35 (4). ACM: 24. дои : 10.1145/1862919.1862921 . S2CID 52811192 .
- Гонсалвес, Ромуло и Керстен, Мартин (2011). «Схема обработки данных циклотронного запроса» . Транзакции ACM в системах баз данных . 36 (4). ACM: 27. дои : 10.1145/2043652.2043660 . S2CID 6707515 .
- Керстен, Мартин Л; Идреос, Стратос; Манегольд, Стефан; Лиару, Эриетта (2011). «Руководство исследователя по потоку данных: запрос к научной базе данных всего за несколько секунд». Проблемы и перспективы PVLDB .
- Керстен, М; Чжан, Ин; Иванова, Милена; Нес, Нильс (2011). «SciQL, язык запросов для научных приложений». Материалы семинара EDBT/ICDT 2011 по базам данных массивов . АКМ. стр. 1–12.
- Сидирургос, Лефтерис; Керстен, Мартин; Бонч, Питер (2011). «SciBORQ: Управление научными данными с ограничением времени выполнения и качества». Креативное сообщество.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Лиару, Эриетта; Идреос, Стратос; Манегольд, Стефан; Керстен, Мартин (2012). «MonetDB/DataCell: онлайн-аналитика в потоковом хранилище столбцов». Труды Фонда VLDB . 5 (12): 1910–1913. дои : 10.14778/2367502.2367535 . S2CID 545154 .
- Иванова, Милена; Керстен, Мартин; Манегольд, Стефан (2012). «Хранилища данных: симбиоз технологии баз данных и хранилищ научных файлов». Управление научно-статистическими базами данных . SSDBM 2012. Springer Berlin Heidelberg. стр. 485–494.
- Каргин, Ягыз; Иванова, Милена; Чжан, Ин; Манегольд, Стефан; Керстен, Мартин (август 2013 г.). «Ленивый ETL в действии: научные данные о технологии ETL» (PDF) . Труды Фонда VLDB . 6 (12): 1286–1289. дои : 10.14778/2536274.2536297 . ISSN 2150-8097 .
- Сидирургос, Лефтерис и Керстен, Мартин (2013). «Отпечатки столбцов: структура вторичного индекса». Материалы международной конференции по управлению данными 2013 года . АКМ. стр. 893–904.
- Иванова, Милена; Каргин, Ягыз; Керстен, Мартин; Манегольд, Стефан; Чжан, Ин; Датку, Михай; Молина, Даниэла Эспиноза (2013). «Хранилища данных: база данных. Добро пожаловать в хранилища научных файлов». Материалы 25-й Международной конференции по управлению научными и статистическими базами данных . ССДБМ. АКМ. дои : 10.1145/2484838.2484876 . ISBN 978-1-4503-1921-8 .
Внешние ссылки
[ редактировать ]- Продукты больших данных
- Клиент-серверные системы управления базами данных
- Программное обеспечение столбцово-ориентированной СУБД для Linux
- Кроссплатформенное бесплатное программное обеспечение
- Кроссплатформенное программное обеспечение
- Продукты для хранения данных
- Механизмы баз данных
- Бесплатные системы управления базами данных
- Бесплатное программное обеспечение, написанное на C.
- Продукты, представленные в 2004 году
- Системы управления реляционными базами данных
- Структурированное хранилище