ArangoDB, база данных для неопределившихся

Это удивительное ПО, пригодное для производственного использования, позволяет хранить данные в документах, графиках, формах ключ-значение и т.д.

Он идеально подходит для новой компании или отдела, где трудно предсказать наилучшую модель хранения данных и доступа в долгосрочной перспективе.
База данных и индекс хранятся в памяти. Данные дублируются на жестком диске, но при перезагрузке системы индекс необходимо перестроить, поскольку он существует только в памяти.

Это свободное программное обеспечение под лицензией Apache .

ArangoDB

ArangoDB не поддерживает следующие модели:

  1. Реляционный.
    Данные хранятся в строках и столбцах таблиц. Строка обычно соответствует продукту, событию, клиенту и т.д. Столбцы соответствуют атрибутам, таким как имя, адрес и номер телефона каждого клиента. Добавление, удаление или изменение строки выполняется очень быстро; изменить столбцы сложнее, поскольку необходимо обновить все существующие строки, иначе результаты запроса будут неопределенными.
  2. NoSQL Tables.
    Эта модель была создана для случаев, когда столбцы и строки необходимо изменять так же часто, как и строки. Возьмем, к примеру, случай авиакомпании. В своей базе данных каждый ряд включает номер рейса, самолет, пилота и пассажиров. Количество столбцов зависит от каждой строки. Легко модифицировать элементы полета или менять пассажиров. Подробнее см. NoSQL.

ArangoDB поддерживает следующие модели NoSQL:

  1. Документ.
    Структура базы данных не определена в таблицах; он находится в документах, которые хранятся. Пользователь вводит всю информацию, связанную с объектом, таким как изделие, в каждый документ. Этот документ хранится как есть в базе данных. Документы имеют одинаковую структуру, хотя содержимое может отличаться, и кодируются в JSON (другое ПО использует XML или другой формат).
    Могут выполняться те же запросы, что и для реляционной базы данных, но операции должны быть определены в сценариях .
  2. График.
    И здесь в базе данных больше нет таблиц; данные хранятся в узлах, связанных между собой отношениями, представляющими отношения между объектами в реальном мире.
  3. Ключ/Значение
    Этот тип хранилища, идентичный типу ассоциативного массива (рекурсивный или нет), очень быстр в обращении. Например, URL и соответствующая страница могут храниться в каждой строке. Это уменьшенная версия реляционной базы данных, но она имеет все функциональные атрибуты, такие как репликация, комбинаторные запросы и т.д.

Эти модели не сосуществуют в одной базе данных ArangoDB; каждый находится в отдельной базе данных. Однако они могут быть организованы в кластеры без каких-либо дополнительных операций управления, а запросы могут выполняться во всех кластерах, как если бы они были единой базой данных.

Для выполнения запросов по всем трем моделям в системе существует собственный язык AQL (Arango Query Language). Синтаксис находится где-то между SQL и процедурным языком, позволяя включать данные в формат JSON.
Результатом каждого запроса является ассоциативный массив.

Мы видим, что система хранения данных на основе ArangoDB предлагает большую свободу, когда речь идет о контенте, который можно хранить. Он не только может комбинировать различные модели хранения, но и сама модель документа позволяет масштабировать тип контента по желанию при условии добавления скриптов для доступа к нему.

На сайте ArangoDB представлена более подробная информация о спецификациях программного обеспечения. Стоит отметить, что это стабильное программное обеспечение, используемое в производстве многими компаниями. И это бесплатно.