ArangoDB - ArangoDB

ArangoDB
Разработчики)ArangoDB GmbH
изначальный выпуск2011; 9 лет назад (2011)
Стабильный выпуск
3.7.2.1 / 16 сентября 2020 г.; 2 месяца назад (2020-09-16)
Репозиторий Отредактируйте это в Викиданных
Написано вC ++, JavaScript
ТипМногомодельная база данных, База данных графиков, Документно-ориентированная база данных, База данных ключей / значений, Полнотекстовая поисковая система
ЛицензияЛицензия Apache 2.0
Интернет сайтarangodb.com

ArangoDB это бесплатно и с открытым исходным кодом родные многомодельная база данных система[1] разработан ArangoDB GmbH. Система базы данных поддерживает три модели данных (ключ / значение, документы, графики) с одним ядром базы данных и единой язык запросов AQL (язык запросов ArangoDB). Язык запросов является декларативным и позволяет комбинировать различные шаблоны доступа к данным в одном запросе. ArangoDB - это NoSQL система баз данных, но AQL во многом похож на SQL.

ArangoDB упоминается как универсальная база данных [2] но его создатели называют его "нативной мультимоделью"[3] база данных, чтобы указать, что она была разработана специально для того, чтобы данные пары ключ / значение, документы и графы могли храниться вместе и запрашиваться на общем языке.[4]

История

База данных, запущенная в 2011 году, изначально выпускалась под названием AvocadoDB, но в 2012 году была изменена на ArangoDB.[5]

Функции

ArangoDB предоставляет масштабируемый запросы при работе с данными графика.[6][страница нужна ] База данных использует JSON в качестве формата хранения по умолчанию,[7] но внутри он использует VelocyPack от ArangoDB - быстрый и компактный двоичный формат для сериализации и хранения.[8] ArangoDB может изначально хранить вложенный объект JSON в качестве записи данных внутри коллекции. Следовательно, нет необходимости разбирать полученные объекты JSON. Таким образом, сохраненные данные просто унаследуют древовидную структуру данных JSON. [9]

ArangoDB работает в распределенный кластер и это первый СУБД сертифицирован для Операционная система центра обработки данных (DC / OS).[10][нужен лучший источник ] DC / OS позволяет пользователю развернуть ArangoDB в большинстве существующих экосистем: Веб-сервисы Amazon (AWS), Google Compute Engine и Microsoft Azure. Более того, он обеспечивает развертывание кластера пользователя одним щелчком мыши.[11]

ArangoDB обеспечивает интеграцию с родным JavaScript микросервисы непосредственно поверх СУБД с использованием фреймворка Foxx,[9] что аналогично многопоточному Node.js.[12]

База данных имеет собственный AQL (язык запросов ArangoDB), а также предоставляет GraphQL для написания гибких нативных веб-сервисов непосредственно поверх СУБД.[13]

ArangoSearch - это новая функция поисковой системы в версии 3.4. Поисковая машина сочетает в себе возможности логического поиска с компонентами обобщенного ранжирования, позволяющими извлекать данные на основе точной модели векторного пространства. [14]

Язык запроса

AQL (Язык запросов ArangoDB) это SQL -подобный язык запросов[15] используется в ArangoDB. Он поддерживает CRUD операций как для документов (узлов), так и для кромок, но это не язык определения данных (DDL). AQL поддерживает геопространственный запросы.

AQL - это JSON -ориентированы, как показано в следующем запросе, который также иллюстрирует интуитивно понятную "точечную" нотацию для доступа к значениям ключей:

FOR x IN [{"a": {"A": 1}}, {"a": {"A": 2}}] ФИЛЬТР x.a.A <2 ВОЗВРАТ x.a

Пример

Ниже приведен параметризованный запрос для поиска количества потомков конкретного узла (@Начните) в графе с именем @грамм с @Максимум узлы:

FOR v IN 1 .. @max OUTBOUND @start GRAPH @g OPTIONS {uniqueVertices: "global", bfs: true} СОБИРАТЬ СО СЧЕТЧИКОМ В ВОЗВРАТ c

Слова в верхнем регистре - это ключевые слова AQL. Обратите внимание на то, как AQL поддерживает графы. В ОПЦИИ необходимы для обеспечения возможности выполнения запроса на графе с циклами; "bfs" означает поиск в ширину.

Редакции

ArangoDB Community Edition - это бесплатная собственная многомодельная база данных, написанная на C ++ и доступная по лицензии с открытым исходным кодом (Apache 2).

В дополнение к Community Edition, ArangoDB Enterprise - это платная подписка, которая включает SmartGraphs, Satellite Collections и многие функции безопасности корпоративного уровня.[16]

Смотрите также

Рекомендации

  1. ^ Леонард, Ангел (2013). Pro Hibernate и MongoDB. Апресс. п. 384. ISBN  9781430257943 - через Google Play. Многомодельные базы данных (..., ArangoDB и др.)
  2. ^ Вайш, Гаурав (2013). Начало работы с Nosql. Packt Publishing Ltd. стр. 142. ISBN  9781849694995 - через Google Play. ArangoDB: универсальная база данных с поддержкой хранилищ документов, моделей «ключ-значение» и графов.
  3. ^ Вайнбергер, Клавдий. «Нативная мультимодель может конкурировать с чистыми базами данных документов и графов». ArangoDB.com. Получено 20 августа 2015.
  4. ^ Целлер, Фрэнк. "Комментарий Hacker News". Хакерские новости. Получено 20 августа 2015.
  5. ^ Любберт, Дорте. ""AvocadoDB становится ArangoDB."". ArangoDB.com. Получено 20 августа 2015.
  6. ^ Коллинз, Майкл (2014). Сетевая безопасность посредством анализа данных: повышение ситуационной осведомленности. O'Reilly Media, Inc. ISBN  9781449357887 - через Google Play.
  7. ^ Визе, Лена (2015). Расширенное управление данными: для SQL, NoSQL, облачных и распределенных баз данных. Walter de Gruyter GmbH & Co KG. п. 374. ISBN  9783110433074 - через Google Play. ... и несколько баз данных используют JSON в качестве основного формата хранения - в частности, несколько баз данных документов с открытым исходным кодом, таких как ArangoDB, ...
  8. ^ Нойнхёффер, Макс (2016). «Быстрый и компактный формат для сериализации и хранения». www.github.com. ArangoDB GmbH. Получено 28 декабря, 2016.
  9. ^ а б Агуб, Амгад; Кунде, Феликс; Када, Мартин (2016). «Возможности графических баз данных в представлении и обогащении стандартизированных геоданных». Publikationen der DGPF. 25: 10 - через ResearchGate.
  10. ^ Нойнхёффер, Макс (30 ноября 2015 г.). «Масштабирование ArangoDB до гигабайт в секунду на DCOS Mesosphere». www.mesosphere.com. Мезосфера. Получено 28 декабря, 2016.
  11. ^ Штрейхард, Андреас (май 2016 г.). «Запуск ArangoDB на DC / OS». www.dcos.io. DC / OS. Получено 28 декабря, 2016.
  12. ^ Вайнбергер, Клавдий (июнь 2016 г.). "ArangoDB Foxx". www.arangodb.com. ArangoDB GmbH. Получено 28 декабря, 2016.
  13. ^ Слива, Алан (17 февраля 2016 г.). «Использование GraphQL с базой данных NoSQL ArangoDB». www.arangodb.com. ArangoDB GmbH. Получено 28 декабря, 2016.
  14. ^ Абрамов, Андрей (апрель 2018). «Обзор архитектуры ArangoSearch». www.arangodb.com. ArangoDB GmbH. Получено 21 сентября, 2018.
  15. ^ «Сравнение SQL и AQL (язык запросов ArangoDB)». Arangodb.com. Получено 17 декабря 2017.
  16. ^ «Цены на ArangoDB 2018». ArangoDB. Получено 2018-09-27.