МонетБД
Разработчик(и) | МонетДБ Б.В. |
---|---|
Стабильная версия | декабрь 2023 г. (11.49) [ 1 ]
/ декабрь 2023 г |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Столбцово-ориентированная СУБД СУБД |
Лицензия | Публичная лицензия 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 году
- Системы управления реляционными базами данных
- Структурированное хранилище