Новая версия СУБД ArangoDB 3.6

Опубликован выпуск многоцелевой СУБД ArangoDB 3.6, предоставляющей гибкие модели хранения документов, графов и данных в формате ключ-значение. Работа с базой осуществляется через SQL-подобный язык запросов AQL или через специальные расширения на языке JavaScript. Методы хранения данных соответствуют требованиям ACID (атомарность, согласованность, изолированность, надежность), поддерживают транзакции и обеспечивают как горизонтальную, так и вертикальную масштабируемость. Управление СУБД может производиться через web-интерфейс или консольный клиент ArangoSH. Код ArangoDB распространяется под лицензией Apache 2. Проект написан на языках Си и JavaScript.

Ключевые особенности ArangoDB:

  • Возможность обойтись без определения схемы хранения данных (Schema-free) — данные структурируются в форме документов, в которых метаданные и информация о структуре отделена от пользовательских данных;
  • Поддержка использования ArangoDB в качестве сервера для web-приложений на языке JavaScript с возможностью доступа к БД через REST/Web API;
  • Использование JavaScript для обращающихся к БД браузерных приложений и для обработчиков, выполняемых на стороне СУБД;
  • Многопоточная архитектура, распределяющая нагрузку на все ядра CPU;
  • Гибкая модель хранения данных, в которой могут быть комбинированы пары ключ-значение, документы и параметры, определяющие связи между записями (предоставляются средства для обхода вершин графа);
  • Различные модели представления данных (документы, графы и связки ключ-значение) могут смешиваться в одном запросе, что упрощает агрегирование разнородных данных;
  • Поддержка запросов со слиянием (JOIN);
  • Возможность выбора типа индекса, соответствующего решаемым задачам (например, можно использовать индекс для полнотекстового поиска);
  • Настраиваемая надёжность: приложение само может определять, что для него важнее: более высокая надёжность или более высокая производительность;
  • Эффективное хранилище, в котором в полной мере используются возможности современного оборудования (например, SSD-накопители) и могут применяться большие кэши;
  • Транзакции: возможность запускать запросы сразу для нескольких документов или коллекций с опциональной согласованностью транзакций и изоляцией;
  • Поддержка репликации и шардинга: возможность создания master-slave конфигураций и разнесения наборов данных на разные серверы в зависимости от определённого признака;
  • Для создания микросервисов поставляется JavaScript-фреймворк Foxx, выполняемый внутри сервера СУБД с прямым доступом к данным.

Изменения, предложенные в выпуске ArangoDB 3.6:

  • Проведена оптимизация производительности подзапросов, а также операций UPDATE и REPLACE;
  • Реализована возможность распараллеленного выполнения запросов AQL, что позволяет сократить время сбора данных, распределённых по разным узлам кластера;
  • Реализована отложенная материализация документов, позволяющая в некоторых ситуациях избавиться от необходимости полного извлечения нерелевантных документов;
  • При сканировании документов обеспечено раннее отбрасывание документов, не соответствующих заданному фильтру;
  • Улучшен движок полнотекстового поиска ArangoSearch, поддерживающий ранжирование с учётом сходства данных. Добавлена поддержка анализатора для автодополнения запросов, реализованы функции TOKENS() и PHRASE() для динамического формирования поисковых запросов;
  • Добавлена настройка maxRuntime для выборочного ограничения времени выполнения запроса;
  • Добавлена опция «—query.optimizer-rules» для управления активацией определённых оптимизаций при обработке запросов;
  • Расширены возможности для организации работы кластера. Добавлена опция «—cluster.upgrade» для выбора режима обновления узлов в кластере;
  • Добавлена поддержка TLS 1.3 для шифрования канала связи между клиентом и сервером (по умолчанию клиент продолжает использовать TLS 1.2).

Источник: opennet.ru

Добавить комментарий