ArangoDB является свободным и открытым исходным кодом родной мульти-модель базы данных системы [1] , разработанная ArangoDB GmbH. Система баз данных поддерживает три модели данных (ключ / значение, документы, графики) с одним ядром базы данных и унифицированным языком запросов AQL (ArangoDB Query Language). Язык запросов является декларативным и позволяет комбинировать различные шаблоны доступа к данным в одном запросе. ArangoDB - это система баз данных NoSQL, но AQL во многом похож на SQL .
Разработчики) | ArangoDB GmbH |
---|---|
Первый выпуск | 2011 |
Стабильный выпуск | 3.7.9 / 1 марта 2021 г . |
Репозиторий | |
Написано в | C ++ , JavaScript |
Тип | Multi-модель базы данных , базы данных Graph , документ-ориентированная база данных , база данных Key / Value , полнотекстового поиска двигателя |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | arangodb |
ArangoDB упоминается как универсальная база данных [2], но ее создатели называют ее «родной многомодельной» [3] базой данных, чтобы указать, что она была разработана специально для того, чтобы позволять использовать данные ключ / значение, документ и граф. хранятся вместе и запрашиваются на общем языке. [4]
История
Созданная в 2011 году база данных была первоначально выпущена под названием AvocadoDB , но в 2012 году была изменена на ArangoDB. [5] На английском языке слово «аранго» - устаревшая валюта, которая была сделана из грубого сердолика и в основном использовалась в африканской работорговле. . [6]
Функции
ArangoDB предоставляет масштабируемые запросы при работе с данными графа. [7] [ необходима страница ] База данных использует JSON в качестве формата хранения по умолчанию, [8] но внутри она использует VelocyPack от ArangoDB - быстрый и компактный двоичный формат для сериализации и хранения. [9] ArangoDB может изначально хранить вложенный объект JSON как запись данных внутри коллекции. Следовательно, нет необходимости разбирать полученные объекты JSON. Таким образом, сохраненные данные просто унаследуют древовидную структуру данных JSON. [10]
ArangoDB работает в распределенном кластере и является первой СУБД , сертифицированной для работы с операционной системой центра обработки данных (DC / OS). [11] [ необходим лучший источник ] DC / OS позволяет пользователю развернуть ArangoDB в большинстве существующих экосистем: Amazon Web Services (AWS), Google Compute Engine и Microsoft Azure . Более того, он обеспечивает развертывание кластера пользователя одним щелчком мыши. [12]
ArangoDB обеспечивает интеграцию с родной JavaScript microservices непосредственно на СУБД с помощью платформы Foxx, [10] , который является аналогом многопоточных Node.js . [13]
База данных имеет собственный AQL (язык запросов ArangoDB), а также предоставляет GraphQL для написания гибких собственных веб-сервисов непосредственно поверх СУБД. [14]
ArangoSearch - это новая функция поисковой системы в версии 3.4. Поисковая машина сочетает в себе возможности логического поиска с компонентами обобщенного ранжирования, позволяющими извлекать данные на основе точной модели векторного пространства. [15]
Язык запроса
AQL ( язык запросов ArangoDB ) - это похожий на SQL язык запросов [16], используемый в ArangoDB. Он поддерживает операции CRUD как для документов (узлов), так и для ребер, но не является языком определения данных (DDL). AQL поддерживает геопространственные запросы.
AQL ориентирован на JSON, как показано в следующем запросе, который также иллюстрирует интуитивно понятную "точечную" нотацию для доступа к значениям ключей:
FOR x IN [{ "a" : { "A" : 1 }}, { "a" : { "A" : 2 }}] ФИЛЬТР x.aA < 2 ВОЗВРАТ x.a
Пример
Ниже приводятся параметризованными запросы для нахождения числа потомков конкретного узла ( @start
) в графе под названием @g
с @max
узлами:
FOR v IN 1 .. @max OUTBOUND @start GRAPH @g OPTIONS {uniqueVertices : "global" , bfs : true} СОБИРАТЬ СО СЧЕТЧИКОМ В c ВОЗВРАТ c
Слова в верхнем регистре - это ключевые слова AQL. Обратите внимание на то, как AQL поддерживает графы. Они OPTIONS
необходимы для обеспечения возможности выполнения запроса на графике с циклами; "bfs" означает поиск в ширину.
Редакции
ArangoDB Community Edition - это бесплатная собственная многомодельная база данных, написанная на C ++ и доступная по лицензии с открытым исходным кодом (Apache 2).
В дополнение к Community Edition, ArangoDB Enterprise - это платная подписка, которая включает SmartGraphs, Satellite Collections и многие функции безопасности корпоративного уровня. [17]
Смотрите также
Рекомендации
- ^ Леонард, Ангел (2013). Pro Hibernate и MongoDB . Апресс. п. 384. ISBN 9781430257943- через Google Play.
Многомодельные базы данных (..., ArangoDB и другие)
- ^ Вайш, Гаурав (2013). Начало работы с Nosql . Packt Publishing Ltd. стр. 142. ISBN. 9781849694995- через Google Play.
ArangoDB: универсальная база данных с поддержкой хранилищ документов, моделей «ключ-значение» и графов.
- ^ Вайнбергер, Клавдий. «Нативная мультимодель может конкурировать с чистыми базами данных документов и графов» . ArangoDB.com . Проверено 20 августа 2015 года .
- ^ Целлер, Фрэнк. «Комментарий Hacker News» . Хакерские новости . Проверено 20 августа 2015 года .
- ^ Любберт, Дорте. " " AvocadoDB "становится "ArangoDB " " . ArangoDB.com . Проверено 20 августа 2015 года .
- ^ «Пересмотренный полный словарь Вебстера» . Г. и К. Мерриам Ко. 1913. "Аранго" . Проверено 31 мая 2021 года .
- ^ Коллинз, Майкл (2014). Сетевая безопасность посредством анализа данных: повышение ситуационной осведомленности . ISBN O'Reilly Media, Inc. 9781449357887 - через Google Play.
- ^ Визе, Лена (2015). Расширенное управление данными: для SQL, NoSQL, облачных и распределенных баз данных . Walter de Gruyter GmbH & Co KG. п. 374. ISBN 9783110433074- через Google Play.
... и несколько баз данных используют JSON в качестве основного формата хранения - в частности, несколько баз данных документов с открытым исходным кодом, таких как ArangoDB, ...
- ^ Нойнхёффер, Макс (2016). «Быстрый и компактный формат для сериализации и хранения» . www.github.com . ArangoDB GmbH . Проверено 28 декабря 2016 года .
- ^ а б Агуб, Амгад; Кунде, Феликс; Када, Мартин (2016). "Возможности графических баз данных в представлении и обогащении стандартизированных геоданных" . Publikationen der DGPF . 25 : 10 - через ResearchGate.
- ^ Нойнхёффер, Макс (30 ноября 2015 г.). «Масштабирование ArangoDB до гигабайт в секунду на DCOS Mesosphere» . www.mesosphere.com . Мезосфера . Проверено 28 декабря 2016 года .
- ^ Штрейхард, Андреас (май 2016 г.). «Запуск ArangoDB на DC / OS» . www.dcos.io . DC / OS . Проверено 28 декабря 2016 года .
- ^ Вайнбергер, Клавдий (июнь 2016 г.). "ArangoDB Foxx" . www.arangodb.com . ArangoDB GmbH . Проверено 28 декабря 2016 года .
- ^ Слива, Алан (17 февраля 2016 г.). «Использование GraphQL с базой данных NoSQL ArangoDB» . www.arangodb.com . ArangoDB GmbH . Проверено 28 декабря 2016 года .
- ^ Абрамов, Андрей (апрель 2018). «Обзор архитектуры ArangoSearch» . www.arangodb.com . ArangoDB GmbH . Проверено 21 сентября 2018 года .
- ^ «Сравнение SQL и AQL (язык запросов ArangoDB)» . Arangodb.com . Проверено 17 декабря 2017 года .
- ^ «Цены на ArangoDB 2018» . ArangoDB . Проверено 27 сентября 2018 .