

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Neptune 딕셔너리 폐영역 회수
<a name="storage-gc"></a>

 Neptune은 속성 그래프 데이터에 대한 `neptune_lab_mode` [파라미터를](parameters.md) 통해 활성화할 수 있는 딕셔너리 폐영역 회수(GC)를 지원합니다. `neptune_streams`가 활성화되지 않은 경우 속성 그래프 데이터만 있는 클러스터에 대해 활성화할 수 있습니다. `neptune_streams`가 활성화되어 있거나 만료되지 않은 `neptune_streams` 데이터가 있는 경우 기능이 자동으로 비활성화됩니다. 이 기능을 활성화하려면 라이터 인스턴스를 재부팅해야 합니다. 이 기능은 엔진 릴리스 [1.4.3.0](https://docs.aws.amazon.com/releases/release-1.4.3.0.xml)부터 사용할 수 있습니다.

 활성화하면 사용하지 않는 딕셔너리 항목이 백그라운드 작업에 의해 정리됩니다. 를 줄이지 않고 `VolumeBytesUsed`인덱스에서 새 삽입을 위한 공간을 확보합니다. `VolumeBytesUsed`의 성장률은 딕셔너리 GC를 활성화하면 그렇지 않은 경우에 비해 낮을 수 있습니다.

 딕셔너리 폐영역 회수는 백그라운드에서 실행되며 모든 그래프 및 딕셔너리 데이터를 스캔하여 사용하지 않는 용어를 찾습니다. 데이터의 약 6%가 변경되면 시작 시 새 실행이 트리거됩니다. GC는 CPU, 버퍼 캐시, 실행 취소 로그 생성 및 쓰기 I/O 작업과 같은 서버 리소스의 쿼리 스레드와 경쟁하여 쿼리 처리량을 잠재적으로 줄일 수 있습니다. GC는 쿼리에 의해 적극적으로 참조되지 않는 데이터를 스캔하므로, 작성자 노드의 버퍼 캐시에 영향을 미칠 수 있습니다. GC가 새 삭제를 수행하면 클러스터에 추가 쓰기 I/O 작업이 표시되고 제거할 실행 취소 로그가 더 많아져 `UndoLogListSize` 지표 값이 높아질 수도 있습니다.

 GC는 `soft_delete` 및의 두 가지 모드로 실행할 수 있습니다`enabled`. `soft_delete` 모드에서 실행하면 미사용 사전 항목이 삭제됨(soft\$1delete)으로 표시되지만 명시적으로 삭제되지는 않습니다. 이 모드는 백그라운드 작업을 켠 후 성능 특성을 이해하는 데에도 사용할 수 있습니다. `enabled` 모드를 사용하면 항목이 명시적으로 삭제됩니다('하드' 삭제). `soft_delete` 모드로 전환하기 전에 일정 기간 동안 `enabled` 모드에서 GC를 실행하는 것이 좋습니다.

 딕셔너리 GC는 최대 16개의 동시성을 지원합니다(코어가 16개 이상인 시스템에서). 기본적으로 단일 스레드로 실행되지만 처음 활성화하면 더 높은 동시성으로 실행할 수 있습니다. 딕셔너리 GC 스레드(들)는 쿼리 스레드와 동일한 우선 순위로 실행되며 라이터의 리소스와 동등하게 경쟁합니다.

 딕셔너리 GC는 `DictionaryGCMode` 키를 설정하여 `neptune_lab_mode` [파라미터를](parameters.md) 통해 활성화할 수 있습니다. 이 키는 `disabled`(기본값), `soft_delete`, `enabled`의 세 가지 값을 가질 수 있습니다. 예를 들어, 다음 코드 샘플은 `DictionaryGCMode`를 `soft_delete`로 설정합니다.

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

 동시성 [파라미터](parameters.md)인 `DictionaryGCConcurrency`는 선택 사항이며 1부터 16 사이의 값을 가질 수 있습니다. 최소 16과 코어 수보다 높은 값으로 설정된 경우 동시성은 해당 값으로 제한됩니다.

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

 사용 가능한 데이터가 있으면 서버가 시작된 후 백그라운드에서 딕셔너리 GC 작업이 활성화됩니다. 엔진 상태에는 딕셔너리 GC의 현재 상태가 표시됩니다. 아래 표시된 예제 출력은 딕셔너리 GC가 `soft_delete` 모드에 있고 동시성 2로 실행 중임을 보여줍니다. 백그라운드 작업이 실행 중인 경우 사용되지 않는 딕셔너리 항목을 적극적으로 스캔하여 삭제하거나 새 GC 라운드를 트리거하기 위해 새 삭제 집합을 대기할 수 있습니다.

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

 다음 조건 중 하나라도 충족되면 딕셔너리 GC가 일시 중지됩니다.
+  활성 대량 로드입니다.
+  사용 가능한 메모리는 15Gb 미만입니다.
+  `UndoLogListSize`가 1,000,000보다 높습니다.