노드/관계에 사용자 지정 IDs - Amazon Neptune

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

노드/관계에 사용자 지정 IDs

Neptune을 사용하면 사용자가 노드 및 관계에 IDs 명시적으로 할당할 수 있습니다. ID는 데이터 세트에서 전역적으로 고유해야 하며 유용하려면 결정론적이어야 합니다. 결정론적 ID는 속성과 마찬가지로 조회 또는 필터링 메커니즘으로 사용할 수 있지만, ID를 사용하는 것은 속성을 사용하는 것보다 쿼리 실행 관점에서 훨씬 더 최적화되어 있습니다. 사용자 지정 IDs.

  • 속성은 기존 개체에 대해 null일 수 있지만 ID가 있어야 합니다. 이렇게 하면 쿼리 엔진이 실행 중에 최적화된 조인을 사용할 수 있습니다.

  • 동시 변형 쿼리를 실행하면 강제 고유성으로 인해 속성보다 IDs에 대해 취하는 잠금이 적기 때문에 IDs를 사용하여 노드에 액세스할 때 동시 수정 예외(CMEs)가 발생할 가능성이 크게 줄어듭니다.

  • Neptune은 속성IDs에 고유성을 적용하므로 IDs를 사용하면 중복 데이터가 생성되지 않습니다.

다음 쿼리 예제에서는 사용자 지정 ID를 사용합니다.

참고

속성~id은 ID를 지정하는 데 사용되는 반면, id는 다른 속성으로만 저장됩니다.

CREATE (n:Person {`~id`: '1', name: 'alice'})

사용자 지정 ID를 사용하지 않는 경우:

CREATE (n:Person {id: '1', name: 'alice'})

후자 메커니즘을 사용하는 경우 고유성 적용이 없으며 나중에 쿼리를 실행할 수 있습니다.

CREATE (n:Person {id: '1', name: 'john'})

이렇게 하면 id=1 이름이 인 두 번째 노드가 생성됩니다john. 이 시나리오에서는 이제가 있는 노드가 두 개 id=1있으며, 각 노드의 이름은 서로 다릅니다(알리스 및 조인).