Prefiera usar la opción personalizada IDs para el nodo o la relación - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prefiera usar la opción personalizada IDs para el nodo o la relación

Neptune permite a los usuarios asignar nodos y relaciones IDs de forma explícita. El ID debe ser único a nivel mundial en el conjunto de datos y determinista para que sea útil. Un identificador determinista se puede utilizar como mecanismo de búsqueda o filtrado, al igual que las propiedades; sin embargo, utilizar un identificador está mucho más optimizado desde la perspectiva de la ejecución de consultas que utilizar propiedades. El uso de la personalización tiene varias ventajas: IDs

  • Las propiedades pueden ser nulas para una entidad existente, pero el ID debe existir. Esto permite que el motor de consultas utilice una unión optimizada durante la ejecución.

  • Cuando se ejecutan consultas de mutación simultáneas, las probabilidades de que se produzcan excepciones de modificación simultáneas (CMEs) se reducen considerablemente cuando se IDs utilizan para acceder a los nodos, ya que se utilizan menos bloqueos IDs que propiedades debido a su unicidad obligatoria.

  • El uso IDs evita la posibilidad de crear datos duplicados, ya que Neptune impone la singularidad, a diferencia de las IDs propiedades.

En el siguiente ejemplo de consulta se utiliza un identificador personalizado:

nota

La propiedad ~id se usa para especificar el ID, mientras que solo id se almacena como cualquier otra propiedad.

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

Sin usar un ID personalizado:

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

Si utiliza este último mecanismo, no se aplica la unicidad y puede ejecutar la consulta más adelante:

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

Esto crea un segundo nodo con id=1 nombrejohn. En este escenario, ahora tendrías dos nodos con id=1 un nombre diferente: (alice y john).