издаване на многоцелевата СУБД , предоставяща гъвкави модели за съхранение на документи, графи и данни в формат ключ-стойност. Работата с базата се осъществява чрез SQL-подобен език за запитвания или чрез специални разширения на JavaScript. Методите за съхранение на данни отговарят на изискванията на ACID (атомарност, консистентност, изолираност, надеждност), поддържат транзакции и осигуряват както хоризонтално, така и вертикално мащабиране. Управлението на СУБД може да се извършва чрез уеб интерфейс или конзолен клиент . Кодът на ArangoDB е лицензирана под Apache 2. Проектът е написан на C и JavaScript.
Основни характеристики на ArangoDB:
- Възможност за работа без определяне на схема за съхранение на данни (Schema-free) – данните се структурират под формата на документи, при които метаданните и информацията за структурата са отделени от потребителските данни;
- Поддръжка на ArangoDB като сървър за уеб приложения на JavaScript с възможност за достъп до БД чрез REST/Web API;
- Използване на JavaScript за браузерни приложения, които се обръщат към БД, и за обработчици, изпълнявани на страната на СУБД;
- Многопоточна архитектура, разпределяща натоварването на всички ядра на CPU;
- Гъвкава модел за съхранение на данни, в който могат да бъдат комбинирани двойки ключ-стойност, документи и параметри, определящи връзките между записи (предоставят се средства за обход на върховете на графа);
- Различни модели на представяне на данни (документи, графи и свързвания ключ-стойност) могат да се смесват в едно запитване, което опростява агрегиране на хетерогенни данни;
- Поддръжка на запитвания със сливане (JOIN);
- Възможност за избор на тип индекс, отговарящ на решаваните задачи (например, може да се използва индекс за пълнотекстово търсене);
- Настроима надеждност: приложението може само да определи, какво е по-важно за него: по-висока надеждност или по-висока производителност;
- Ефективно хранилище, което в пълна степен използва възможностите на съвременното оборудване (например, SSD дискове) и могат да се прилагат големи кешове;
- Транзакции: възможност за изпълнение на запитвания едновременно за няколко документа или колекции с опционална последователност на транзакции и изолация;
- Поддръжка на репликация и шардинг: възможност за създаване на master-slave конфигурации и разпределение на набори от данни на различни сървъри в зависимост от определен критерий;
- За създаване на микросервизи се предоставя JavaScript фреймворк , изпълняващ се вътре в сървъра на СУБД с директен достъп до данните.
, предложени в изданието ArangoDB 3.6:
- Извършена е оптимизация на производителността на подзаявките, както и на операциите UPDATE и REPLACE;
- Реализирана е възможност за паралелно изпълнение на AQL заявките, което позволява да се намали времето за събиране на данни, разпределени по различни възли в клъстера;
- Реализирана е отложена материализация на документите, която позволява в някои ситуации да се избегне пълното извлечение на нерелевантни документи;
- При сканиране на документи е осигурено ранно отстраняване на документи, които не отговарят на зададения филтър;
- Подобрена е платформата за пълен текстов търсене ArangoSearch, която поддържа класиране с оглед на сходството на данните. Добавена е поддръжка на анализатор за автоматично допълване на заявките, реализирани са функции TOKENS() и PHRASE() за динамично формулиране на търсения;
- Добавена е настройка maxRuntime за селективно ограничаване на времето за изпълнение на заявките;
- Добавена е опция „—query.optimizer-rules“ за управление на активирането на определени оптимизации при обработка на заявките;
- Разширени са възможностите за организиране на работата на клъстера. Добавена е опция „—cluster.upgrade“ за избор на режим на обновление на възлите в клъстера;
- Добавена е поддръжка на TLS 1.3 за шифруване на канала за връзка между клиента и сървъра (по подразбиране клиентът продължава да използва TLS 1.2).
Източник: opennet.ru
