기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Neptune은 인라인 서버 생성 엣지 IDs 지원합니다. 가 활성화되지 않은 neptune_enable_inline_server_generated_edge_id
경우 Neptune 구성 파라미터를 통해 활성화할 수 neptune_streams
있습니다. 이 기능은 엔진 릴리스 1.4.3.0부터 Gremlin 쿼리에 사용할 수 있으며 향후 릴리스에서 OpenCypher 쿼리에 사용할 수 있습니다.
엣지 ID는 엣지의 고유 식별자입니다. 엣지를 삽입할 때 엣지 ID를 제공할 수 있습니다. ID가 제공되지 않은 경우 서버는 기본적으로 UUID 기반 ID를 생성하고 엣지에 할당합니다. 사용자 정의 ID와 마찬가지로 UUID 기반 서버 생성 ID는 사전에 저장됩니다.
neptune_enable_inline_server_generated_edge_id
기능이 활성화되면 쿼리에 ID가 제공되지 않을 때 서버가 고유한 인라인 ID를 생성합니다. 인라인 엣지 IDs는 사전에 저장되지 않으므로 스토리지 효율성이 향상됩니다. 서버 생성 인라인 IDs는 예약된 접두사 로 시작합니다neptune_reserved
.
주의
Neptune은 서버에서 생성된 인라인 ID의 'neptune_reserved'
접두사를 예약합니다. IDs 예약된 접두사로 시작하는 사용자 정의 ID로 데이터를 삽입하려고 시도하는 쿼리에 대해 오류가 표시됩니다.
인라인 서버 생성 엣지 ID 기능은 클러스터 수준 파라미터를 로 설정하여 활성화neptune_enable_inline_server_generated_edge_id
할 수 있습니다1
. 인스턴스를 재부팅해야 합니다. 다음 예제에서는 서버 생성 엣지 ID 기능을 활성화합니다.
"ParameterName=neptune_enable_inline_server_generated_edge_id,ParameterValue=1,ApplyMethod=pending-reboot"
기능이 활성화되어 있는지 확인하려면 엔진 상태의 기능을 확인할 수 있습니다. 이 neptune_streams
활성화되면이 기능이 자동으로 비활성화됩니다. 다음 예제 출력은 활성화된 기능의 엔진 상태를 보여줍니다.
"features":{"InlineServerGeneratedEdgeId":"enabled"}
다음 Gremlin 예제에서는 인라인 서버 생성 엣지 ID 기능이 활성화된 경우 사용자 정의 ID 없이 엣지를 추가합니다.
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": []
}
}
}