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.
Neptune unterstützt Dictionary Garbage Collection (GC), die über den neptune_lab_mode
Parameter für Eigenschaftsdiagrammdaten aktiviert werden kann. Es kann für Cluster aktiviert werden, die nur Eigenschaftsdiagrammdaten enthalten, wenn neptune_streams
es nicht aktiviert ist. Die Funktion wird automatisch deaktiviert, wenn sie aktiviert neptune_streams
ist oder neptune_streams
Daten noch nicht abgelaufen sind. Für die Aktivierung der Funktion ist ein Neustart der Writer-Instanz erforderlich. Diese Funktion ist ab Engine-Version 1.4.3.0 verfügbar.
Wenn diese Option aktiviert ist, werden die ungenutzten Glossareinträge durch einen Hintergrundjob bereinigt. Es reduziert nichtVolumeBytesUsed
, sondern gibt stattdessen Platz im Index für neue Einfügungen frei. Die Wachstumsrate von VolumeBytesUsed
ist wahrscheinlich geringer, wenn Dictionary-GC aktiviert ist, als wenn sie nicht aktiviert ist.
Die Wörterbuchbereinigung läuft im Hintergrund und scannt alle Diagramm- und Wörterbuchdaten, um Begriffe zu finden, die nicht verwendet werden. Ein neuer Lauf wird beim Start ausgelöst, sobald sich etwa 6% der Daten geändert haben. Er hat es mit Abfrage-Threads für Hauptknotenressourcen wie CPU, Puffercache, Undo-Log-Generierung und I/O-Schreiboperationen zu tun, was sich negativ auf den Abfragedurchsatz auswirken könnte. Da GC Daten scannt, die nicht aktiv von Abfragen betroffen sind, kann sich dies auf den Puffercache auf dem Writer-Knoten auswirken. Wenn GC neue Löschungen durchführt, kann es im Cluster zu zusätzlichen I/O-Schreibvorgängen kommen und es müssen mehr Undo-Logs gelöscht werden, was auch zu höheren Werten für die UndoLogListSize
Metrik führen kann.
GC kann in zwei Modi ausgeführt werden, undsoft_delete
. enabled
Wenn sie in diesem soft_delete
Modus ausgeführt werden, werden unbenutzte Glossareinträge als gelöscht markiert (soft_delete), aber nicht explizit gelöscht. Dieser Modus könnte auch verwendet werden, um die Leistungsmerkmale nach dem Einschalten des Hintergrundvorgangs zu verstehen. Wenn der aktivierte Modus verwendet wird, werden Einträge explizit gelöscht („hartes Löschen“). Es wird empfohlen, GC für eine gewisse Zeit im soft_delete
Modus laufen zu lassen, bevor in den enabled
Modus gewechselt wird.
Dictionary GC unterstützt eine maximale Parallelität von 16 (auf Computern mit 16 oder mehr Kernen). Es läuft standardmäßig mit einem einzigen Thread, kann aber auch mit höherer Parallelität ausgeführt werden, wenn es zum ersten Mal aktiviert wird. Dictionary-GC-Threads werden mit derselben Priorität wie die Abfrage-Threads ausgeführt, und sie haben auch mit Ressourcen auf dem Writer zu kämpfen.
Dictionary-GC kann über den neptune_lab_mode
Parameter aktiviert werden, indem der DictionaryGCMode
Schlüssel gesetzt wird. Es akzeptiert drei mögliche Werte: disabled
(Standard)soft_delete
, oderenabled
. Im folgenden Codebeispiel würde beispielsweise der Wert DictionaryGCMode
auf festgelegt werdensoft_delete
:
neptune_lab_mode = 'DictionaryGCMode=soft_delete'
Der Parallelitätsparameter,DictionaryGCConcurrency
, ist optional und kann einen Wert zwischen 1 und 16 annehmen. Wenn er auf einen höheren Wert als das Minimum von 16 und die Anzahl der Kerne gesetzt ist, ist die Parallelität auf diesen Wert begrenzt.
neptune_lab_mode = 'DictionaryGCMode=soft_delete,DictionaryGCConcurrency=2'
Der Wörterbuch-GC-Job wird nach dem Serverstart im Hintergrund aktiviert, sobald einige Daten verfügbar sind. Der Engine-Status zeigt den aktuellen Status von Dictionary-GC an. Die unten gezeigte Beispielausgabe zeigt, dass sich das Wörterbuch GC im soft_delete
Modus befindet und mit einer Parallelität von 2 ausgeführt wird. Wenn der Hintergrundjob ausgeführt wird, sucht er möglicherweise aktiv nach unbenutzten Glossareinträgen und löscht sie oder er wartet auf neue Löschungen, um eine neue GC-Runde auszulösen.
"labMode":{"DictionaryGC":"{Mode=soft_delete,Concurrency=2}"}
Dictionary GC wird angehalten, wenn eine der folgenden Bedingungen erfüllt ist:
-
Aktiver Massenladevorgang.
-
Der freie Speicherplatz beträgt weniger als 15 GB.
-
UndoLogListSize
ist höher als 1.000.000.