

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

 Neptunus mendukung pengumpulan sampah kamus (GC) untuk data grafik properti, yang dapat diaktifkan melalui parameter `neptune_lab_mode` [`neptune_streams`saat](parameters.md) tidak aktif. Saat diaktifkan, pekerjaan latar belakang ini membersihkan entri kamus yang tidak digunakan, berpotensi mengurangi laju pertumbuhan data. Fitur ini dapat berjalan dalam dua mode: soft\$1delete (menandai entri sebagai dihapus tanpa penghapusan eksplisit) dan diaktifkan (secara eksplisit menghapus entri). Proses GC dapat memengaruhi kinerja sistem dengan bersaing dengan utas kueri untuk sumber daya seperti CPU dan cache buffer, dan dapat berjalan dengan konkurensi maksimum 16 utas. 

 [Neptunus juga mendukung IDs tepi yang dihasilkan server sebaris, yang dapat diaktifkan melalui parameter konfigurasi saat neptune\$1streams tidak aktif.](parameters.md) Ketika fitur ini diaktifkan, server menghasilkan inline unik IDs untuk tepi yang tidak memiliki ID yang ditentukan pengguna, menggunakan awalan cadangan “neptune\$1reserved”. Inline ini tidak IDs disimpan dalam kamus, yang dapat meningkatkan efisiensi penyimpanan. 

**Topics**
+ [Pengumpulan sampah kamus Neptunus](storage-gc.md)
+ [ID tepi yang dihasilkan server sebaris Neptunus](storage-edge-id.md)

# Pengumpulan sampah kamus Neptunus
<a name="storage-gc"></a>

 Neptunus mendukung pengumpulan sampah kamus (GC) yang dapat diaktifkan melalui parameter untuk data grafik `neptune_lab_mode` [properti](parameters.md). Ini dapat diaktifkan untuk cluster dengan hanya data grafik properti ketika tidak `neptune_streams` diaktifkan. Fitur ini secara otomatis dinonaktifkan jika `neptune_streams` diaktifkan atau ada data yang belum kedaluwarsa`neptune_streams`. Fitur ini membutuhkan reboot instance penulis untuk mengaktifkan. Fitur ini tersedia dari rilis mesin [1.4.3.0](https://docs.aws.amazon.com/releases/release-1.4.3.0.xml). 

 Saat diaktifkan, entri kamus yang tidak digunakan dibersihkan oleh pekerjaan latar belakang. Itu tidak mengurangi`VolumeBytesUsed`, melainkan membebaskan ruang dalam indeks untuk sisipan baru. Tingkat pertumbuhan cenderung `VolumeBytesUsed` lebih kecil ketika kamus GC diaktifkan relatif terhadap saat tidak. 

 Pengumpulan sampah kamus berjalan di latar belakang dan memindai semua grafik dan data kamus untuk menemukan istilah yang tidak digunakan. Proses baru dipicu saat start up setelah sekitar 6% dari data telah berubah. GC bersaing dengan utas kueri untuk sumber daya server seperti CPU, cache buffer, undo pembuatan log, dan I/O operasi tulis, yang berpotensi mengurangi throughput kueri. Karena GC memindai data yang tidak disentuh secara aktif oleh kueri, itu dapat memengaruhi cache buffer pada node penulis. Cluster dapat melihat I/O operasi penulisan tambahan dan memiliki lebih banyak log batal untuk dibersihkan saat GC melakukan penghapusan baru, yang juga dapat menghasilkan nilai yang lebih tinggi untuk metrik. `UndoLogListSize` 

 GC dapat dijalankan dalam dua mode, `soft_delete` dan`enabled`. Saat dijalankan dalam `soft_delete` mode, entri kamus yang tidak digunakan ditandai dihapus (soft\$1delete) tetapi tidak dihapus secara eksplisit. Mode ini juga dapat digunakan untuk memahami karakteristik kinerja setelah operasi latar belakang dihidupkan. Saat `enabled` mode digunakan, entri dihapus secara eksplisit (hapus 'keras'). Disarankan untuk menjalankan GC dalam `soft_delete` mode untuk jangka waktu tertentu sebelum beralih ke `enabled` mode. 

 Kamus GC mendukung konkurensi maksimum 16 (pada mesin dengan 16 atau lebih core). Ini berjalan secara default dengan satu utas, tetapi dapat dijalankan dengan konkurensi yang lebih tinggi saat diaktifkan untuk pertama kalinya. Thread GC Kamus berjalan pada prioritas yang sama dengan utas kueri, dan mereka bersaing dengan sumber daya pada penulis secara setara. 

 Kamus GC dapat diaktifkan melalui `neptune_lab_mode` [parameter](parameters.md) dengan mengatur `DictionaryGCMode` kunci. Ia menerima tiga nilai yang mungkin: `disabled` (default),`soft_delete`, atau`enabled`. Misalnya, contoh kode berikut akan mengatur `DictionaryGCMode` ke`soft_delete`: 

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

 [Parameter](parameters.md) konkurensi,`DictionaryGCConcurrency`, adalah opsional dan dapat mengambil nilai antara 1 dan 16. Jika diatur ke nilai yang lebih tinggi dari minimum 16 dan jumlah core, konkurensi dibatasi pada nilai itu. 

```
neptune_lab_mode = 'DictionaryGCMode=soft_delete,DictionaryGCConcurrency=2'
```

 Pekerjaan kamus GC diaktifkan di latar belakang setelah server dimulai, setelah ada beberapa data yang tersedia. Status mesin menampilkan status kamus GC saat ini. Contoh output yang ditunjukkan di bawah ini menunjukkan bahwa kamus GC dalam `soft_delete` mode dan berjalan dengan konkurensi 2. Jika pekerjaan latar belakang berjalan, itu bisa secara aktif memindai entri kamus yang tidak digunakan dan menghapusnya, atau menunggu set penghapusan baru untuk memicu babak baru GC. 

```
{"status":"healthy",...,"labMode":{"ObjectIndex":"disabled","DictionaryGC":"{Mode=enabled,Concurrency=2}"},...}
```

 Kamus GC dijeda ketika salah satu dari kondisi ini terpenuhi: 
+  Beban massal aktif. 
+  Memori yang dapat dibebaskan kurang dari 15Gb. 
+  `UndoLogListSize`lebih tinggi dari 1.000.000. 

# ID tepi yang dihasilkan server sebaris Neptunus
<a name="storage-edge-id"></a>

 Neptunus mendukung Server-Generated Edge sebaris. IDs Ini dapat diaktifkan melalui `neptune_enable_inline_server_generated_edge_id` parameter [konfigurasi](parameters.md) Neptunus `neptune_streams` ketika tidak diaktifkan. Fitur ini tersedia untuk kueri Gremlin yang dimulai dengan rilis mesin [1.4.3.0](https://docs.aws.amazon.com/releases/release-1.4.3.0.xml), dan akan tersedia untuk kueri OpenCypher di rilis mendatang. 

 Edge ID adalah pengidentifikasi unik untuk sebuah edge. ID tepi dapat diberikan saat memasukkan tepi. Jika tidak ada ID yang disediakan, server menghasilkan dan menetapkan ID berbasis UUID ke edge secara default. Seperti ID yang ditentukan pengguna, ID yang dihasilkan server berbasis UUID disimpan dalam kamus. 

 Ketika `neptune_enable_inline_server_generated_edge_id` fitur diaktifkan, server menghasilkan ID inline yang unik ketika tidak ada ID yang disediakan dalam kueri. Tepi sebaris tidak IDs disimpan dalam kamus, meningkatkan efisiensi penyimpanan. Inline yang dihasilkan server IDs dimulai dengan awalan cadangan. `neptune_reserved` 

**Awas**  
 Neptunus mencadangkan awalan untuk server `'neptune_reserved'` yang dihasilkan sebaris. IDs Kesalahan akan ditampilkan untuk kueri yang mencoba menyisipkan data dengan ID yang ditentukan pengguna yang dimulai dengan awalan cadangan. 

 Fitur ID tepi yang dihasilkan server sebaris dapat diaktifkan dengan menyetel parameter tingkat cluster ke. `neptune_enable_inline_server_generated_edge_id` `1` Diperlukan reboot instance. Contoh berikut memungkinkan fitur ID tepi yang dihasilkan server: 

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

 Untuk memverifikasi apakah fitur diaktifkan, Anda dapat memeriksa fitur dalam status mesin. Fitur ini secara otomatis dinonaktifkan jika `neptune_streams` diaktifkan. Contoh keluaran berikut menunjukkan status mesin untuk fitur yang diaktifkan: 

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

 Contoh Gremlin berikut menambahkan tepi tanpa ID yang ditentukan pengguna saat fitur ID tepi yang dihasilkan server sebaris diaktifkan: 

```
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": []
        }
    }
}
```