The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

31.12.2019 09:40

Опубликован выпуск многоцелевой СУБД 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).


  1. Главная ссылка к новости (https://github.com/arangodb/ar...)
  2. OpenNews: Выпуск СУБД OrientDB 2.2
  3. OpenNews: Открыт код VictoriaMetrics, СУБД для временных рядов, совместимой с Prometheus
  4. OpenNews: Релиз СУБД Neo4j 1.3, ориентированной на хранение графов
  5. OpenNews: СУБД CockroachDB переходит на несвободную лицензию
  6. OpenNews: Выпуск распределённой СУБД TiDB 3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52119-arangodb
Ключевые слова: arangodb, database, graph
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, лютый жабизд___ (?), 10:18, 31/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Увы и ах, гибридность в виде разных коллекций убивает весь смысл.
    neo4j+mongo более фичастые.
     
     
  • 2.2, Аноним (2), 10:28, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Neo4j стоит как крыло от самолёта. А в бесплатной версии даже человеческих бэкапов нет.
     
     
  • 3.10, лютый жабизд__ (?), 14:07, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Neo4j стоит как крыло от самолёта. А в бесплатной версии даже человеческих бэкапов нет.

    накойх бэкапить графовую базу? она нужна только для хождения по графу, а исходные данные в нормальной субд. я вообще базу раз в n часов пересобираю из csv, даже апдейты/вставки не использую.

     
     
  • 4.12, Аноним (12), 14:44, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ты молодец. Только когда размер базы переваливает за сотни гигабайт, сливать/загружать из csv становится жибко долго.
     
     
  • 5.16, Аноним (16), 17:10, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В мелких стартапах не стоит доводить базу до такого состояния. (Если дойдёт — стартап объявляется банкротом, все сотрудники бегут в линкедин.)

    А если проект перерос уровень стартапа, то там уже можно и нормальным программистов нанять, которые сделают фреймворк, поддерживающий в более-менее синхронном состоянии графовую и документную модели. Если не ACID, то хотя бы BASE. И да, там уже придётся закладывать отказоустойчивость во всех компонентах.

     
     
  • 6.20, Аноним (-), 21:15, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > стартап объявляется банкротом, все сотрудники бегут в линкедин.)

    А в резюме они дописывают эту историю успеха? :)

     
     
  • 7.31, Аноним (16), 16:49, 03/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В линкедине скорее редкостью будет человек, у которого не случалось такого успеха.
     
  • 5.24, лютый жабизддд (?), 13:25, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну ты молодец.

    я знаю

    >Только когда размер базы переваливает за сотни гигабайт

    41гиговая база neo4j из csv генерится за 8 минут (без SSD даже). а сколько объем основной базы, к делу не относится, у меня далеко за терабайт.

     
  • 5.25, лютый жабизддд (?), 13:32, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >"Только когда размер базы переваливает за сотни гигабайт"

    чем больше и важнее проект, тем МЕНЬШЕ оснований использовать поделки навроде arango. Даже если neo4j дорого стоит. Хотя мне вполне бесплатной хватает, имея несколько проектов в далеко не стартапе.

     
     
  • 6.26, Аноним (16), 14:50, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А, то есть им даже до уровня стартапа далеко? Это все объясняет.
     

  • 1.3, novic_dev (ok), 11:32, 31/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Юзал Арангу 3.3 с движками MMFiles и RocksDB.
    RocksDB радовал производительностью, встроенные микросервисы - тоже очень удобно (единая точка обслуживания + недорогие JS-разрабы). Но.
    Под сравнительно большими нагрузками и превышении 20 млн записей - начала загибаться.
     
     
  • 2.21, GentooBoy (ok), 22:25, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Большие нагрузки это какие? Не ради холивара. Интересно под какими нагрузками начала загибаться
     

  • 1.4, Аноним (4), 12:19, 31/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    постим не ясно про что а смерть Doker в сторонке?
     
     
  • 2.5, neAnonim (?), 12:24, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так оформи новость.
     
  • 2.7, th3m3 (ok), 13:28, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что там с Docker?
     
     
  • 3.8, Аноним (8), 13:36, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Хоронят который год уже. А у некоторых криоционистов он еще "не взлетит"
     
     
  • 4.11, Аноним (16), 14:32, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Как он мог вообще взлететь, если есть замечательный jail?)
     
  • 3.27, докерман (?), 20:22, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    вроде где-то уже пробегало, что этрепрайз отделение уже как 2 недели выкупили, кучу народа разогнали ..
     
  • 2.9, anonismus (?), 13:48, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что за смерть то?
    Нигде ничего про это нет.

    Или опять напутал свои мечты с реальностью?

     
  • 2.14, Аноним (14), 16:19, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Про развал Docker месяц назад новость была https://www.opennet.me/opennews/art.shtml?num=51857
     
     
  • 3.29, докерман (?), 20:24, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да, именно это Mirantis. Просто когда пробегала эта новость было начало, и никто не думал что будет волна увольнений, и прочие плюшки. И вдруг как солнце из-за туч ...
     

  • 1.6, Аноним (6), 12:54, 31/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > движок полнотекстового поиска ArangoSearch, поддерживающий ранжирование с учётом сходства данных

    Создателям не дают лавры Гугла, который под видом поиска "с учётом сходства" пихает проплаченный контент?

     
  • 1.13, Аноним (13), 15:32, 31/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Возможность обойтись без определения схемы хранения данных (Schema-free)

    У вас всегда есть схема. schema-free означает лишь то, что в каждом документе хганися копия схемы. В абсолютном большинстве случаев это полностью бесполезно.

     
     
  • 2.15, Аноним (16), 17:04, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, схема — это когда набор полей общий для набора документов, и движок использует это для оптимизации хранения/поиска/изменения данных.
     
     
  • 3.18, Аноним (13), 19:15, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    набор документов может состоять из 1 документа. получаем "schema-free".
     
     
  • 4.19, Аноним (16), 20:18, 31/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С одним нюансом™: если "схема" применима только к одному документу, движок не может воспользоваться этим для оптимизации. Значит, это уже не схема, а просто набор полей документа.
     
     
  • 5.28, Аноним (13), 20:24, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то может. Просто алгоритмом сжатия пройтись по файлу базы. Даже если схема у каждого документа уникальная, но имена ключей повторяются, то алгоритм уменьшит объём, вынеся ключи в словарь.
     
     
  • 6.30, Аноним (16), 16:48, 03/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё раз: движок не может использовать идентичность схем у набора документов для оптимизации. То, что вы описали, никак не относится к обсуждаемой ситуации.
     
  • 2.22, Сикретъ (?), 04:52, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "нет схемы" означает что у вас есть таблица с одной TEXT колонкой в которой лежит JSON.
     
     
  • 3.23, жявамэн (?), 10:59, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это еще ничего если текст. А не бинарный блоб
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру