Die dokumentenorientierte Datenbank MongoDB 6.0 ist verfügbar

Nach einem Jahr Entwicklung wurde die dokumentenorientierte Datenbank MongoDB 6.0 veröffentlicht, die eine Schnittstelle zwischen schnellen und skalierbaren Systemen, die mit Schlüssel-Wert-Daten arbeiten, und relationalen Datenbanken darstellt, die funktional und benutzerfreundlich in der Abfrageerstellung sind. Der Code von MongoDB ist in C++ geschrieben und wird unter der SSPL-Lizenz vertrieben, die auf der AGPLv3-Lizenz basiert, jedoch nicht offen ist, da sie diskriminierende Anforderungen an die Bereitstellung nicht nur des Anwendungs-Code, sondern auch des Quellcodes aller Komponenten enthält, die an der Bereitstellung des Cloud-Dienstes beteiligt sind.

MongoDB unterstützt die Speicherung von Dokumenten im JSON-ähnlichen Format, verfügt über eine flexible Abfragesprache, kann Indizes für verschiedene gespeicherte Attribute erstellen, ermöglicht die effiziente Speicherung großer Binärobjekte, unterstützt das Protokollieren von Datenänderungen und -hinzufügungen in der Datenbank, kann nach dem Map/Reduce-Paradigma arbeiten und unterstützt Replikation sowie den Aufbau von ausfallsicheren Konfigurationen.

MongoDB bietet integrierte Funktionen zur Segmentierung an, die eine Verteilung des Datensatzes über Server basierend auf einem bestimmten Schlüssel ermöglichen. In Kombination mit der Replikation lässt sich so ein horizontal skalierbarer Speichercluster erstellen, der keinen einzelnen Ausfallpunkt aufweist (ein Ausfall eines Knotens hat keine Auswirkungen auf die Funktionsweise der Datenbank). Außerdem wird eine automatisierte Wiederherstellung nach einem Ausfall unterstützt, sowie die Lastverlagerung von einem ausgefallenen Knoten. Die Erweiterung des Clusters oder die Umwandlung einer Instanz in einen Cluster erfolgt ohne Unterbrechung des Datenbankbetriebs, einfach durch das Hinzufügen neuer Maschinen. Server Die Hauptmerkmale der neuen Version sind:

Die Möglichkeit, Anfragen auszuführen, die Daten abdecken, die in verschlüsselter Form gespeichert sind (Queryable Encryption). Die Daten werden auf der Benutzerseite entschlüsselt und bleiben während der Anfrageverarbeitung verschlüsselt (die Anfrage wird über die verschlüsselten Daten ausgeführt, ohne sie vorher entschlüsseln zu müssen). Derzeit sind in den Anfragen nur Vergleichsausdrücke zulässig, aber es ist geplant, in Zukunft die Unterstützung für Bereichsprüfungen, Präfixe, Suffixe, Teilstrings und andere Operationen hinzuzufügen.

  • Реализована возможность выполнения запросов, охватывающих данные, хранимые в зашифрованном виде (Queryable Encryption). Данные расшифровываются на стороне пользователя и в процессе обработки запроса остаются зашифрованными (запрос выполняется над зашифрованными данными, без их предварительной расшифровки). В текущем виде в запросах допускаются только выражения сравнения, но в дальнейшем планируется добавить поддержку проверки диапазонов, префиксов, суффиксов, подстрок и других операций.
  • Die Möglichkeiten zur Speicherung von Zeitreihendaten wurden erweitert. Diese sind für die Speicherung von Werten, die in festgelegten Zeitintervallen erfasst werden (time und das entsprechende Set von Werten), optimiert. Solche Daten sind beispielsweise in Monitoring-Systemen, Finanzplattformen und Zustandserfassungs-Systemen von Sensoren erforderlich. In der neuen Version besteht die Möglichkeit, sekundäre und zusammengesetzte Indizes mit Zeitreihensammlungen zu verwenden. Es wurde eine Unterstützung zur Anfügung zusätzlicher Daten, wie geografischer Informationen zur Berücksichtigung von Entfernung und Standort, hinzugefügt. Die Leistung bei Lesevorgängen, der Ausführung von Abfragen und der Sortierung wurde verbessert.
  • Neue Werkzeuge zum Verfolgen von Änderungen wurden hinzugefügt ("Change Streams", API Change Streams), mit denen Sie Benachrichtigungen über Datenänderungen in der Datenbank an Anwendungen senden können. Änderungen werden in Echtzeit bereitgestellt und ermöglichen die Erstellung von Anwendungen mit reaktiven und ereignisgesteuerten Programmiermethoden. Ereignisse werden mithilfe der Methode watch verarbeitet, wobei erforderliche Ereignisse mit den Operatoren $match, $project und $redact gefiltert und aggregiert werden können. In der neuen Version wurde die Möglichkeit hinzugefügt, den vorherigen und nachfolgenden Zustand eines Dokuments abzurufen (zum Beispiel, wenn ein Dokument gelöscht oder geändert wurde). Neben DML-Operationen (Data Manipulation Language) unterstützt die neue Version auch DDL-Operationen (Data Definition Language), wie das Erstellen und Löschen von Indizes und Sammlungen. Darüber hinaus wurden Funktionen zur Filterung assoziierter Benachrichtigungen hinzugefügt.
  • In den Operatoren $lookup und $graphlookup wird eine vollständige Unterstützung für partitionierte (sharded) Speicher umgesetzt. Die Leistung der $lookup-Operation wurde optimiert; beispielsweise erfolgt die Zuordnung einer kleinen Anzahl von Dokumenten bei Vorhandensein eines Indexes auf dem Fremdschlüssel nun fünf- bis zehnmal schneller, während die Zuordnung einer großen Anzahl von Dokumenten doppelt so schnell ist. Bei Zuordnungen ohne Indexnutzung kann der Leistungszuwachs bis zu 100-fach betragen.
  • Die Möglichkeit zur Ausführung komplexer analytischer Abfragen über konsistente Snapshots des Arbeitsdatenstatus wurde bereitgestellt. Solche analytischen Abfragen können mehrere Segmente in großen verteilten MongoDB-Konfigurationen abdecken.
  • Neue Operatoren $maxN, $minN und $lastN wurden hinzugefügt, um Werte in Datensätzen zu bestimmen, sowie der Operator $sortArray zur Sortierung von Array-Elementen.
  • Die Effizienz der Segmentierung wurde erheblich gesteigert. Die standardmäßig verwendete Blockgröße für segmentierte Kollektionen wurde auf 128 MB erhöht. Der Befehl configureCollectionBalancing wurde hinzugefügt, um segmentierte Kollektionen zu defragmentieren.
  • In den Client-seitigen Feldverschlüsselungstechnologien (CSFLE) wurde die Unterstützung für KMIP-kompatible Schlüsselanbieter implementiert.
  • Es wurde die Möglichkeit hinzugefügt, Protokolle zur Benutzeraktivität der Datenbank zu komprimieren und zu verschlüsseln.
  • Ein experimenteller Modus zur Datensynchronisation zwischen MongoDB-Clustern (Cluster-to-Cluster Sync) wurde realisiert.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster