Erste Beta-Version von ArangoDB 2.3 verfügbar

Michael Thomas
Screenshot: arangodb.com

Die neue Version 2.3 der verteilten, quelloffenen NoSQL-Datenbank ArangoDB ist ab sofort als Beta zum Download bereit. Hauptfeature des Updates ist zweifellos die komplett umgeschriebene Query-Engine, die vor allem im Hinblick auf den Cluster deutlich mehr Optimierungsmöglichkeiten bietet.

Neben den obligatorischen Bugfixes wurde die Funktionalität folgender Bereiche verbessert:

AQL

Framework-Verbesserungen: AQL-Queries werden vor der Ausführung nun durch ein Query-Optimizer-Framework geschickt, das die interne Representation der Queries in einen Ausführungsplan umwandelt. Anhand der Optimizer-Regeln werden die Ausführungspläne dann entweder modifiziert oder komplett neu erstellt. Anschließend kalkuliert der Optimizer die Kosten jedes Plans und wählt für die tatsächliche Ausführung den Plan mit den niedrigsten Kosten (den sogenannten optimal plan) aus. Das Framework für Optimizer-Regeln erlaubt nun auch spezifische Optimierungen für Queries, die in einem Cluster laufen; außerdem ist er nun erweiterbar, um weitere Optimierungen in der Zukunft zu ermöglichen.

Sprachverbesserungen: Hierzu zählen eine alternative Operator-Syntax und die Einführung eines dedizierten Operators. In früheren Versionen war es zudem noch so, dass AQL in vielen Situationen Quries mit einer Ausnahme abbrach und eine Runtime-Ausnahme einwarf. In Version 2.3 soll AQL hingegen deutlich leichter zu verwenden sein. So produziert beispielsweise das Durchleiten von Argumenten invalider Typen in AQL-Funktionen in den meisten Fällen keine Runtime-Ausnahme, sondern Runtime-Warnungen.

Performanceverbesserungen: Performanceverbesserungen sind beim Enfügen von nicht eindeutigen Hashindizes sowie dank einer sortierten Skipliste bei einigen AQL-Queries zu beobachten.

Basis-Support für die Handabung binärer Daten in Foxx

Pufferobjekte können nun beim Setzen des Response-Body jeder Foxx-Aktion genutzt werden, was es Foxx erlaubt, Binärdaten zurückzugeben. Requests mit binärer Nutzlast können von Foxx-Anwendungen anhand der neuen res.rawBodyBuffer()-Methofde verarbeitet werden.

Webinterface

Die Möglichkeit der Entfernung von Batch-Dokumenten sowie weitere Funktionen sollen die gleichzeitige Arbeit mit mehreren Dokumenten deutlich erleichtern. Außerdem wurden grundlegende JSON-Import und -Export-Tools hinzugefügt.

Neue Kommandozeilen-Optionen

Die neuen Kommandozeilen-Optionen unfassen unter anderen –javascript.v8-contexts, das eine bessere Kontrolle über die Anzahl der geschaffenen V8 contexts erlaubt. Durch –log.use-local-time werden Informationen über Datum und Uhrzeit in lokaler Zeit und nicht in UTC in das ArangoDB-Log eingetragen.

Verschiedenes

ArangoDBs von Haus aus enthaltener HTTP-Server unterstützt nun HTTP-Pipelining. Außerdem wurde das ArangoShell-Tutorial der Arangodb-Webseite in die ArangoDB-Shell integriert.

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: