Neue Version des DBMS ArangoDB 3.6

Veröffentlicht Veröffentlichung eines Mehrzweck-DBMS ArangoDB 3.6, das flexible Modelle zum Speichern von Dokumenten, Diagrammen und Schlüsselwertdaten bietet. Die Arbeit mit der Datenbank erfolgt über eine SQL-ähnliche Abfragesprache AQL oder durch spezielle Erweiterungen in JavaScript. Datenspeichermethoden sind ACID-konform (Atomizität, Konsistenz, Isolation, Haltbarkeit), unterstützen Transaktionen und bieten sowohl horizontale als auch vertikale Skalierbarkeit. Das DBMS kann über eine Weboberfläche oder einen Konsolenclient verwaltet werden Arango SH. ArangoDB-Code vertrieben von lizenziert unter Apache 2. Das Projekt ist in C und JavaScript geschrieben.

Hauptmerkmale von ArangoDB:

  • Die Möglichkeit, auf die Definition eines Datenspeicherschemas zu verzichten (Schema-frei) – Daten werden in Form von Dokumenten strukturiert, in denen Metadaten und Informationen über die Struktur von Benutzerdaten getrennt sind;
  • Unterstützung für die Verwendung von ArangoDB als Server für Webanwendungen in JavaScript mit der Möglichkeit, über REST/Web API auf die Datenbank zuzugreifen;
  • Verwendung von JavaScript für Browseranwendungen, die auf die Datenbank 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 Datenspeichermodell, das Schlüssel-Wert-Paare, Dokumente und Parameter kombinieren kann, die Beziehungen zwischen Datensätzen definieren (stellt Tools zum Durchlaufen von Diagrammscheitelpunkten bereit);
  • Verschiedene Datendarstellungsmodelle (Dokumente, Diagramme und Schlüssel-Wert-Paare) können in einer Abfrage gemischt werden, was die Aggregation heterogener Daten vereinfacht;
  • Unterstützung für Zusammenführungsabfragen (JOIN);
  • Die Möglichkeit, den Indextyp auszuwählen, der den zu lösenden Aufgaben entspricht (Sie können den Index beispielsweise für die Volltextsuche verwenden);
  • Anpassbare Zuverlässigkeit: Die Anwendung selbst kann bestimmen, was ihr wichtiger ist: höhere Zuverlässigkeit oder höhere Leistung;
  • Effizienter Speicher, der die Vorteile moderner Hardware (z. B. SSDs) voll ausnutzt und große Caches nutzen kann;
  • Transaktionen: die Möglichkeit, Abfragen für mehrere Dokumente oder Sammlungen gleichzeitig mit optionaler Transaktionskonsistenz und -isolation auszuführen;
  • Unterstützung für Replikation und Sharding: die Möglichkeit, Master-Slave-Konfigurationen zu erstellen und Datensätze abhängig von einer bestimmten Funktion auf verschiedene Server zu verteilen;
  • Zur Erstellung von Microservices wird ein JavaScript-Framework mitgeliefert Foxx, ausgeführt innerhalb eines DBMS-Servers mit direktem Zugriff auf Daten.

Änderungenin der Version ArangoDB 3.6 vorgeschlagen:

  • Die Leistung von Unterabfragen sowie UPDATE- und REPLACE-Vorgängen wurde optimiert;
  • Die Möglichkeit, die Ausführung von AQL-Abfragen zu parallelisieren, wurde implementiert, was es ermöglicht, die Zeit für die Erfassung von Daten zu verkürzen, die über verschiedene Clusterknoten verteilt sind;
  • Implementierung der verzögerten Materialisierung von Dokumenten, wodurch in manchen Situationen die Notwendigkeit entfällt, irrelevante Dokumente vollständig abzurufen;
  • Beim Scannen von Dokumenten wird sichergestellt, dass Dokumente, die nicht dem angegebenen Filter entsprechen, frühzeitig verworfen werden;
  • Die Volltextsuchmaschine ArangoSearch wurde verbessert und unterstützt ein Ranking basierend auf Datenähnlichkeit. Analyseunterstützung für die automatische Vervollständigung von Abfragen hinzugefügt, TOKENS()- und PHRASE()-Funktionen zur dynamischen Generierung von Suchabfragen implementiert;
  • Einstellung „maxRuntime“ hinzugefügt, um die Ausführungszeit der Abfrage selektiv zu begrenzen;
  • Option „—query.optimizer-rules“ hinzugefügt, um die Aktivierung bestimmter Optimierungen bei der Verarbeitung von Abfragen zu steuern;
  • Die Möglichkeiten zur Organisation des Clusterbetriebs wurden erweitert. Option „—cluster.upgrade“ hinzugefügt, um den Upgrade-Modus der Knoten im Cluster auszuwählen;
  • Unterstützung für TLS 1.3 hinzugefügt, um den Kommunikationskanal zwischen Client und Server zu verschlüsseln (standardmäßig verwendet der Client weiterhin TLS 1.2).

Source: opennet.ru

Kommentar hinzufügen