Новая версия СУБД 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).
Источник: http://www.opennet.ru/opennews/art.shtml? num=52119
© OpenNet