Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Préférez utiliser la personnalisation IDs pour le nœud ou la relation
Neptune permet aux utilisateurs d'attribuer des nœuds et des relations IDs de manière explicite. L'identifiant doit être globalement unique dans l'ensemble de données et déterministe pour être utile. Un identifiant déterministe peut être utilisé comme mécanisme de recherche ou de filtrage, tout comme les propriétés ; toutefois, l'utilisation d'un identifiant est beaucoup plus optimisée du point de vue de l'exécution des requêtes que celle des propriétés. L'utilisation de la personnalisation présente plusieurs avantages IDs :
-
Les propriétés peuvent être nulles pour une entité existante, mais l'ID doit exister. Cela permet au moteur de requête d'utiliser une jointure optimisée lors de l'exécution.
-
Lorsque des requêtes de mutation simultanées sont exécutées, les risques d'exceptions de modification simultanées (CMEs) sont considérablement réduits lorsqu'elles IDs sont utilisées pour accéder à des nœuds, car le nombre de verrous requis est inférieur à IDs celui des propriétés en raison de leur caractère unique imposé.
-
L'utilisation IDs permet d'éviter de créer des doublons de données, car Neptune impose l'unicité, contrairement aux IDs propriétés.
L'exemple de requête suivant utilise un identifiant personnalisé :
Note
La propriété ~id
est utilisée pour spécifier l'ID, alors qu'elle id
est simplement stockée comme n'importe quelle autre propriété.
CREATE (n:Person {`~id`: '1', name: 'alice'})
Sans utiliser d'identifiant personnalisé :
CREATE (n:Person {id: '1', name: 'alice'})
Si vous utilisez ce dernier mécanisme, il n'y a pas d'application de l'unicité et vous pouvez exécuter la requête ultérieurement :
CREATE (n:Person {id: '1', name: 'john'})
Cela crée un deuxième nœud id=1
nomméjohn
. Dans ce scénario, vous auriez maintenant deux nœuds portant id=1
chacun un nom différent - (alice et john).