Neue Version der Datenbank ArangoDB 3.6

Veröffentlicht Die Veröffentlichung von Multi-Purpose DBMS ArangoDB 3.6, die flexible Modelle zur Speicherung von Dokumenten, Graphen und Daten im SchlĂŒssel-Wert-Format bietet. Die Arbeit mit der Datenbank erfolgt ĂŒber eine SQL-Ă€hnliche Abfragesprache AQL oder ĂŒber spezielle Erweiterungen in der Programmiersprache JavaScript. Die Methoden zur Datenspeicherung entsprechen den Anforderungen von ACID (AtomaritĂ€t, Konsistenz, Isolation, ZuverlĂ€ssigkeit), unterstĂŒtzen Transaktionen und bieten sowohl horizontale als auch vertikale Skalierbarkeit. Die Verwaltung der DBMS kann ĂŒber eine Web-OberflĂ€che oder einen Konsolen-Client erfolgen ArangoSH. Der Code von ArangoDB wird verbreitet steht unter der Apache 2-Lizenz. Das Projekt ist in C und JavaScript geschrieben.

Wichtige Merkmale von ArangoDB:

  • Die Möglichkeit, ohne Definition eines Datenbankschemas (Schema-free) auszukommen — Daten werden in Form von Dokumenten strukturiert, wobei Metadaten und Strukturinformationen von Benutzerdaten getrennt sind;
  • UnterstĂŒtzung fĂŒr die Verwendung von ArangoDB als Server fĂŒr Webanwendungen in JavaScript mit Zugriff auf die DB ĂŒber REST/Web-API;
  • Verwendung von JavaScript fĂŒr browserbasierte Anwendungen, die auf die DB zugreifen, und fĂŒr Handler, die auf der DBMS-Seite ausgefĂŒhrt werden;
  • Multithread-Architektur, die die Last auf alle CPU-Kerne verteilt;
  • Ein flexibles Datenspeicherungsmodell, in dem SchlĂŒssel-Wert-Paare, Dokumente und Parameter, die Beziehungen zwischen DatensĂ€tzen definieren, kombiniert werden können (es stehen Methoden zur VerfĂŒgung, um die Knoten des Graphen zu durchlaufen);
  • Verschiedene DatenreprĂ€sentationsmodelle (Dokumente, Graphen und SchlĂŒssel-Wert-Bindungen) können in einer einzigen Abfrage gemischt werden, was die Aggregation heterogener Daten vereinfacht;
  • UnterstĂŒtzung fĂŒr Abfragen mit Joins;
  • Die Möglichkeit, den Typ des Index auszuwĂ€hlen, der den zu lösenden Aufgaben entspricht (zum Beispiel kann ein Index fĂŒr die Volltextsuche verwendet werden);
  • Anpassbare ZuverlĂ€ssigkeit: Die Anwendung kann selbst festlegen, was fĂŒr sie wichtiger ist: höhere ZuverlĂ€ssigkeit oder höhere Leistung;
  • Effizientes Speichersystem, das die Möglichkeiten moderner Hardware vollstĂ€ndig ausnutzt (zum Beispiel SSDs) und große Caches verwendet werden können;
  • Transaktionen: die Möglichkeit, Anfragen gleichzeitig fĂŒr mehrere Dokumente oder Sammlungen mit optionaler Transaktionskonsistenz und Isolation auszufĂŒhren;
  • UnterstĂŒtzung fĂŒr Replikation und Sharding: Möglichkeit zur Erstellung von Master-Slave-Konfigurationen und Verteilung von DatensĂ€tzen auf verschiedene Server je nach einem bestimmten Merkmal;
  • FĂŒr die Erstellung von Mikrodiensten wird ein JavaScript-Framework geliefert, Foxx, das innerhalb des DBMS-Servers mit direktem Datenzugriff ausgefĂŒhrt wird.

Änderungen, vorgestellt in der Version ArangoDB 3.6:

  • Die Leistung von Unterabfragen sowie der UPDATE- und REPLACE-Operationen wurde optimiert;
  • Die Möglichkeit zur parallelen AusfĂŒhrung von AQL-Abfragen wurde implementiert, was die Zeit zur Erfassung von ĂŒber verschiedene Knoten im Cluster verteilten Daten verkĂŒrzt;
  • Die verzögerte Materialisierung von Dokumenten wurde umgesetzt, sodass in bestimmten Situationen die vollstĂ€ndige Extraktion irrelevanter Dokumente vermieden werden kann;
  • Beim Scannen von Dokumenten wird eine vorzeitige Ablehnung von Dokumenten sichergestellt, die nicht dem angegebenen Filter entsprechen;
  • Die Volltextsuchmaschine ArangoSearch wurde verbessert, die Ranking unter BerĂŒcksichtigung der Ähnlichkeit von Daten unterstĂŒtzt. Die UnterstĂŒtzung eines Analysewerkzeugs fĂŒr die AutovervollstĂ€ndigung von Abfragen wurde hinzugefĂŒgt, ebenso die Funktionen TOKENS() und PHRASE() fĂŒr die dynamische Erstellung von Suchabfragen;
  • Die Einstellung maxRuntime wurde hinzugefĂŒgt, um die Laufzeit einer Abfrage gezielt zu begrenzen;
  • Die Option „—query.optimizer-rules“ wurde hinzugefĂŒgt, um die Aktivierung bestimmter Optimierungen bei der Verarbeitung von Abfragen zu steuern;
  • Die Möglichkeiten zur Organisation der Clusterarbeit wurden erweitert. Die Option „—cluster.upgrade“ wurde hinzugefĂŒgt, um den Modus zur Aktualisierung von Knoten im Cluster auszuwĂ€hlen;
  • Die UnterstĂŒtzung von TLS 1.3 zur VerschlĂŒsselung der Kommunikationsverbindung zwischen Kunde und Server wurde hinzugefĂŒgt (standardmĂ€ĂŸig verwendet der Kunde weiterhin TLS 1.2).

Quelle: opennet.ru

60GB SSD 8Gb DDR4