

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.

# Speicher
<a name="storage"></a>

 Neptune unterstützt Dictionary Garbage Collection (GC) für Eigenschaftsgraphdaten, die über den `neptune_lab_mode` [Parameter](parameters.md) aktiviert werden kann, wenn er nicht aktiv `neptune_streams` ist. Wenn er aktiviert ist, bereinigt dieser Hintergrundjob ungenutzte Glossareinträge und reduziert so potenziell die Geschwindigkeit des Datenwachstums. Die Funktion kann in zwei Modi ausgeführt werden: soft\$1delete (Markierung von Einträgen als gelöscht, ohne sie explizit zu entfernen) und aktiviert (explizites Löschen von Einträgen). Der GC-Prozess kann die Systemleistung beeinträchtigen, indem er mit Abfrage-Threads für Ressourcen wie CPU und Puffercache zu kämpfen hat. Er kann mit einer maximalen Parallelität von 16 Threads ausgeführt werden. 

 Neptune unterstützt auch servergeneriertes Inline-Edge IDs, das über einen [Konfigurationsparameter](parameters.md) aktiviert werden kann, wenn neptune\$1streams nicht aktiv ist. Wenn diese Funktion aktiviert ist, generiert der Server eindeutige Inlines IDs für Kanten, die keine benutzerdefinierte ID haben, wobei das reservierte Präfix „neptune\$1reserved“ verwendet wird. Diese Inlines IDs werden nicht im Wörterbuch gespeichert, wodurch die Speichereffizienz verbessert werden kann. 

**Topics**
+ [Müllabfuhr im Neptun-Wörterbuch](storage-gc.md)
+ [Neptune-integrierte servergenerierte Edge-ID](storage-edge-id.md)

# Müllabfuhr im Neptun-Wörterbuch
<a name="storage-gc"></a>

 Neptune unterstützt Dictionary Garbage Collection (GC), die über den `neptune_lab_mode` [Parameter](parameters.md) 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](https://docs.aws.amazon.com/releases/release-1.4.3.0.xml) verfügbar. 

 Wenn diese Option aktiviert ist, werden die ungenutzten Glossareinträge durch einen Hintergrundjob bereinigt. Es reduziert nicht`VolumeBytesUsed`, sondern gibt Platz im Index für neue Einfügungen frei. Die Wachstumsrate von `VolumeBytesUsed` ist wahrscheinlich geringer, wenn die Wörterbuch-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. GC konkurriert mit Abfrage-Threads um Serverressourcen wie CPU, Puffercache, Undo-Log-Generierung und I/O Schreibvorgänge, wodurch der Abfragedurchsatz potenziell reduziert wird. 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, und`soft_delete`. `enabled` Bei der Ausführung im `soft_delete` Modus werden unbenutzte Glossareinträge als gelöscht markiert (soft\$1delete), aber nicht explizit gelöscht. Dieser Modus könnte auch verwendet werden, um die Leistungsmerkmale nach dem Einschalten des Hintergrundvorgangs zu verstehen. Wenn der `enabled` 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](parameters.md) aktiviert werden, indem der `DictionaryGCMode` Schlüssel gesetzt wird. Es akzeptiert drei mögliche Werte: `disabled` (Standard)`soft_delete`, oder`enabled`. Im folgenden Codebeispiel würde beispielsweise der Wert `DictionaryGCMode` auf festgelegt werden`soft_delete`: 

```
neptune_lab_mode = 'DictionaryGCMode=soft_delete'
```

 Der [Parallelitätsparameter](parameters.md),`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. 

```
{"status":"healthy",...,"labMode":{"ObjectIndex":"disabled","DictionaryGC":"{Mode=enabled,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. 

# Neptune-integrierte servergenerierte Edge-ID
<a name="storage-edge-id"></a>

 Neptune unterstützt servergeneriertes Inline-Edge. IDs Es kann über den [Neptune-Konfigurationsparameter](parameters.md) aktiviert werden, `neptune_enable_inline_server_generated_edge_id` wenn `neptune_streams` es nicht aktiviert ist. Diese Funktion ist ab der Engine-Version [1.4.3.0](https://docs.aws.amazon.com/releases/release-1.4.3.0.xml) für Gremlin-Abfragen verfügbar und wird in einer future Version für OpenCypher Abfragen verfügbar sein. 

 Die Edge-ID ist eine eindeutige Kennung für eine Kante. Beim Einfügen einer Kante kann eine Kanten-ID angegeben werden. Wenn keine ID angegeben wird, generiert der Server standardmäßig eine UUID-basierte ID und weist sie der Kante zu. Wie die benutzerdefinierte ID wird auch die UUID-basierte, vom Server generierte ID im Wörterbuch gespeichert. 

 Wenn die `neptune_enable_inline_server_generated_edge_id` Funktion aktiviert ist, generiert der Server eine eindeutige Inline-ID, wenn in der Abfrage keine ID angegeben wird. Die eingebetteten Kanten IDs werden nicht im Wörterbuch gespeichert, wodurch die Speichereffizienz verbessert wird. Die vom Server generierten Inlines IDs beginnen mit dem reservierten Präfix. `neptune_reserved` 

**Warnung**  
 Neptune reserviert das `'neptune_reserved'` Präfix für den Server, der inline generiert wurde. IDs Bei Abfragen, bei denen versucht wird, Daten mit einer benutzerdefinierten ID einzufügen, die mit dem reservierten Präfix beginnt, wird ein Fehler angezeigt. 

 Die vom Server generierte Inline-Edge-ID-Funktion kann aktiviert werden, indem der Parameter auf Clusterebene auf gesetzt wird. `neptune_enable_inline_server_generated_edge_id` `1` Ein Neustart der Instanz ist erforderlich. Das folgende Beispiel aktiviert die servergenerierte Edge-ID-Funktion: 

```
"ParameterName=neptune_enable_inline_server_generated_edge_id,ParameterValue=1,ApplyMethod=pending-reboot"
```

 Um zu überprüfen, ob die Funktion aktiviert ist, können Sie die Funktionen im Engine-Status überprüfen. Diese Funktion wird automatisch deaktiviert, wenn sie aktiviert `neptune_streams` ist. Die folgende Beispielausgabe zeigt den Engine-Status für die aktivierte Funktion: 

```
"features":{"InlineServerGeneratedEdgeId":"enabled"}
```

 Das folgende Gremlin-Beispiel fügt eine Kante ohne benutzerdefinierte ID hinzu, wenn die vom Inline-Server generierte Edge-ID-Funktion aktiviert ist: 

```
curl - X POST--url https: //<neptune-cluster-endpoint>:8182/gremlin/ --data '{"gremlin":"g.withSideEffect(\"Neptune#disablePushdownOptimization\", true).addV().property(id, \"a\").addV().property(id, \"b\").addE(\"el\").to(V(\"a\"))"}'
{
    "requestId": "b6b84605-53ad-4c04-baf1-7f0f31a3aeaf",
    "status": {
        "message": "",
        "code": 200,
        "attributes": {
            "@type": "g:Map",
            "@value": []
        }
    },
    "result": {
        "data": {
            "@type": "g:List",
            "@value": [{
                "@type": "g:Edge",
                "@value": {
                    "id": "neptune_reserved_231850767",
                    "label": "el",
                    "inVLabel": "vertex",
                    "outVLabel": "vertex",
                    "inV": "a",
                    "outV": "b"
                }
            }]
        },
        "meta": {
            "@type": "g:Map",
            "@value": []
        }
    }
}
```