기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Neptune 대량 로드 최적화
다음 전략을 사용하여 Neptune 대량 로드의 로드 시간을 최소로 유지하세요.
-
데이터 정리:
로드하기 전에 데이터를 지원되는 데이터 형식으로 변환해야 합니다.
중복된 항목이나 알려진 오류를 모두 제거하세요.
고유한 조건자(예: 엣지 및 버텍스 속성)의 수를 최대한 줄이세요.
-
파일 최적화:
Amazon S3 버킷에서 파일과 같은 대용량 CSV 파일을 로드하는 경우 로더는 병렬로 로드할 수 있는 청크로 구문 분석하여 동시성을 관리합니다. 크기가 작은 파일을 너무 많이 사용하면 이 프로세스가 느려질 수 있습니다.
Amazon S3 폴더에서 여러 파일을 로드하는 경우, 로더는 자동으로 버텍스 파일을 먼저 로드한 다음 엣지 파일을 로드합니다.
파일을 압축하면 전송 시간이 단축됩니다. 로더는 소스 파일의
gzip
압축을 지원합니다.
-
로더 설정 확인:
-
로드 중에 다른 작업을 수행할 필요가 없는 경우 OVERSUBSCRIBE parallelism 파라미터를 사용하세요. 이 파라미터 설정을 사용하면 대량 로더가 실행될 때 사용 가능한 모든 CPU 리소스를 사용합니다. 일반적으로 I/O 제약 조건이 허용하는 만큼 빠르게 작업을 실행하려면 CPU 용량의 60%~70%가 필요합니다.
참고
parallelism
이OVERSUBSCRIBE
또는HIGH
(기본 설정)로 설정되면 스레드에 레이스 조건 및 교착 상태가 발생하여LOAD_DATA_DEADLOCK
오류가 발생할 수 있는 openCypher 데이터를 로드할 때 위험이 있습니다. 이런 경우에는 더 낮은 설정으로parallelism
을 설정하고 로드를 다시 시도하세요. 로드 작업에 로드 요청이 여러 개 포함될 경우
queueRequest
파라미터를 사용하세요.queueRequest
를TRUE
로 설정하면 Neptune이 요청을 대기열에 올릴 수 있으므로, 요청이 완료될 때까지 기다렸다가 다른 요청을 발행할 필요가 없습니다.로드 요청이 대기 중인 경우
dependencies
파라미터로 종속성 수준을 설정하여 한 작업이 실패하면 종속 작업이 실패하도록 할 수 있습니다. 이렇게 하면 로드된 데이터의 불일치를 방지할 수 있습니다.-
로드 작업에 이전에 로드한 값을 업데이트해야 하는 경우
updateSingleCardinalityProperties
파라미터를TRUE
로 설정해야 합니다. 그렇지 않으면 로더는 기존 단일 카디널리티 값을 업데이트하려는 시도를 오류로 간주합니다. Gremlin 데이터의 경우 카디널리티는 속성 열 헤더에도 지정됩니다(속성 열 헤더 참조).참고
Resource Description Framework(RDF) 데이터에는
updateSingleCardinalityProperties
파라미터를 사용할 수 없습니다. failOnError
파라미터를 사용하여 오류 발생 시 대량 로드 작업이 실패할지 아니면 계속할지 여부를 결정할 수 있습니다. 또한mode
파라미터를 사용하여 이미 로드된 데이터를 다시 로드하지 않고 이전 작업이 실패한 지점부터 로드 작업이 다시 시작되도록 할 수 있습니다.
-
-
스케일 업 – 대량 로드 전에 DB 클러스터의 라이터 인스턴스를 최대 크기로 설정합니다. 단, 이렇게 하려면 DB 클러스터의 읽기 전용 복제본 인스턴스도 모두 스케일 업하거나 데이터 로드가 완료될 때까지 제거해야 합니다.
대량 로드가 완료되면 라이터 인스턴스의 규모를 다시 축소해야 합니다.
중요
대량 로드 중에 복제 지연으로 인해 읽기 전용 복제본이 반복적으로 재시작되면 복제본이 DB 클러스터의 라이터 속도를 따라가지 못할 수 있습니다. 리더를 라이터보다 크게 확장하거나 대량 로드 중에 일시적으로 제거한 다음, 완료 후 다시 생성하세요.
로더 요청 파라미터 설정에 대한 자세한 내용은 요청 파라미터 섹션을 참조하세요.