Verwaltung der Dokumentenkomprimierung auf Sammlungsebene - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwaltung der Dokumentenkomprimierung auf Sammlungsebene

Mit der Dokumentenkomprimierung auf Sammlungsebene von Amazon DocumentDB können Sie die Speicher- und I/O-Kosten senken, indem Sie die Dokumente in Ihren Sammlungen komprimieren. Sie können die Dokumentenkomprimierung auf Sammlungsebene aktivieren und bei Bedarf Komprimierungsmetriken anzeigen, indem Sie den Speicherzuwachs anhand von Komprimierungsmetriken wie der Speichergröße komprimierter Dokumente und dem Komprimierungsstatus messen. Amazon DocumentDB verwendet den LZ4 Komprimierungsalgorithmus, um Dokumente zu komprimieren.

Amazon DocumentDB unterstützt die Dokumentenkomprimierung ab Version 5.0. Im Folgenden finden Sie Funktionen zur Komprimierung von Dokumenten auf Sammlungsebene:

  • Standardverhalten — Die Standardkomprimierungseinstellung für neue Sammlungen in einem Cluster wird durch den Cluster-Parameter bestimmt. default_collection_compression Dieser Parameter ist standardmäßig auf „deaktiviert“ gesetzt.

  • Komprimieren vorhandener Sammlungen — Die Komprimierungseinstellungen für bestehende Sammlungen können mit dem collMod Befehl geändert werden.

  • Ändern des Komprimierungsschwellenwerts — Der Standardschwellenwert für die Komprimierung beträgt 2 KB. Dieser Wert kann für neue Sammlungen mit dem createCollection Befehl angegeben und für bestehende Sammlungen mit dem collMod Befehl geändert werden.

Anmerkung

Die Amazon DocumentDB DocumentDB-Dokumentenkomprimierung wird in den Amazon DocumentDB DocumentDB-Versionen 3.6 und 4.0 nicht unterstützt.

Verwaltung der Dokumentenkomprimierung

Aktivieren der Dokumentenkomprimierung in einer Sammlung

Aktivieren Sie die Dokumentenkomprimierung beim Erstellen einer Sammlung onAmazon DocumentDB mit der folgenden db.createCollection() Methode:

db.createCollection( sample_collection,{ storageEngine : { documentDB: { compression:{enable: <true | false>} } } })

Aktivieren der Dokumentenkomprimierung in einem Cluster

Die Dokumentenkomprimierung kann standardmäßig für alle neuen Sammlungen auf Clusterebene aktiviert werden, indem der Cluster-Parameter default_collection_compression auf „enabled“ gesetzt wird. Wenn dieser Parameter auf „aktiviert“ gesetzt ist, ist für neu erstellte Sammlungen auf dem Cluster die Komprimierung standardmäßig aktiviert, wobei der Komprimierungsschwellenwert 2 KB beträgt.

Komprimieren vorhandener Sammlungen

Sie können auch die Komprimierungseinstellungen für eine vorhandene Sammlung ändern, indem Sie den collMod Vorgang verwenden und die folgende storageEngine Konfiguration angeben. Bitte beachten Sie, dass die mit diesem Befehl vorgenommene Änderung nur für neu eingefügte/aktualisierte Dokumente gilt und dass sich die Komprimierung zuvor eingefügter Dokumente nicht ändert.

db.runCommand({ collMod: "orders", storageEngine: { documentDB: {compression: {enable: <true | false>} } } })

Einstellung der Schwellenwerte für die Komprimierung

Standardmäßig liegt der Komprimierungsschwellenwert für komprimierte Sammlungen bei 2032 Byte. Dieser Schwellenwert kann im createCollection Befehl festgelegt werden, wenn eine neue Sammlung mit aktivierter Komprimierung erstellt wird:

db.createCollection( sample_collection, { storageEngine : { documentDB: { compression: { enable: true, threshold: <128 - 8000> } } } })

Sie können den Komprimierungsschwellenwert für eine vorhandene komprimierte Sammlung auch ändern, indem Sie den collMod Vorgang verwenden und die folgende storageEngine Konfiguration angeben:

db.runCommand({ collMod: "orders", storageEngine: { documentDB: { compression: { enable: true, threshold: <128 - 8000> } } } })

Bitte beachten Sie, dass der Komprimierungsschwellenwert nur auf einen Wert zwischen 128 und 8000 Byte festgelegt werden kann. Außerdem muss die enable Option bei der Angabe des Komprimierungsschwellenwerts auf „true“ gesetzt werden.

Überwachung der Dokumentenkomprimierung

Sie können überprüfen, ob eine Sammlung komprimiert ist, und ihr Komprimierungsverhältnis wie folgt berechnen.

Zeigen Sie die Komprimierungsstatistiken an, indem Sie den db.collection.stats() Befehl db.printCollectionStats() oder in der Mongo-Shell ausführen. Die Ausgabe zeigt Ihnen die Originalgröße und die komprimierte Größe, die Sie vergleichen können, um die Speichergewinne durch die Dokumentenkomprimierung zu analysieren. In diesem Beispiel werden die Statistiken für eine Sammlung mit dem Namen „sample_collection“ unten angezeigt. Im Folgenden wird ein Skalierungsfaktor von 1024*1024 verwendet, um die Werte und in MB auszugeben. size storageSize

db.sample_collection.stats(1024*1024)

Das Folgende ist ein Beispiel für die Ausgabe für den obigen Befehl:

{ "ns" : "test.sample_collection", "count" : 1000000, "size" : 3906.3, "avgObjSize" : 4096, "storageSize" : 1953.1, compression:{"enabled" : true,"threshold" : 2032}, ... }
  • Größe — Die Originalgröße der Dokumentensammlung.

  • avgObjSize- Die durchschnittliche Dokumentgröße vor der Komprimierung, abgerundet auf die erste Dezimalzahl. Die Maßeinheit ist Byte.

  • storageSize- Die Speichergröße der Sammlung nach der Komprimierung. Die Maßeinheit ist Byte.

  • aktiviert — Zeigt an, ob die Komprimierung aktiviert oder deaktiviert ist.

Um das tatsächliche Komprimierungsverhältnis zu berechnen, dividieren Sie die Sammlungsgröße durch die Speichergröße (size/storageSize). Für das obige Beispiel lautet die Berechnung 3906,3/1953,1, was einem Kompressionsverhältnis von 2:1 entspricht.