Información general sobre la migración de Neo4j a Neptune - 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.

Información general sobre la migración de Neo4j a Neptune

Con la compatibilidad de Neptune con el lenguaje de consulta de openCypher, puede mover la mayoría de las cargas de trabajo de Neo4j que utilizan el protocolo Bolt o HTTPS a Neptune. Sin embargo, openCypher es una especificación de código abierto que incluye la mayoría de las funciones compatibles con otras bases de datos, como Neo4j, aunque no todas.

A pesar de ser compatible en muchos aspectos, Neptune no es un sustituto directo de Neo4j. Neptune es un servicio de base de datos de gráficos totalmente gestionado con características empresariales como alta disponibilidad y alta durabilidad que es arquitectónicamente diferente de Neo4j. Neptune se basa en instancias, con una única instancia de escritor principal y hasta 15 instancias de réplica de lectura que permiten escalar la capacidad de lectura horizontalmente. Con Neptune sin servidor, puede escalar y reducir verticalmente y de forma automática su capacidad informática en función del volumen de consultas. Esto es independiente del almacenamiento de Neptune, que se escala automáticamente a medida que se van añadiendo datos.

Neptune es compatible con la especificación estándar de openCypher de código abierto, versión 9. En AWS, creemos que el código abierto es bueno para todos y estamos comprometidos tanto a llevar el valor del código abierto a nuestros clientes como a llevar la excelencia operativa AWS a las comunidades de código abierto.

Sin embargo, muchas aplicaciones que se ejecutan en Neo4j también utilizan características propias que no son de código abierto y que Neptune no admite. Por ejemplo, Neptune no admite los procedimientos de APOC, algunas cláusulas y funciones específicas de Cypher ni tipos de datos Char, Date o Duration. Neptune convierte automáticamente los tipos de datos que faltan en tipos de datos compatibles.

Además de OpenCypher, Neptune también es compatible con el lenguaje de consulta Apache TinkerPop Gremlin para gráficos de propiedades (así como con SPARQL para datos RDF). Gremlin puede interoperar con openCypher en el mismo gráfico de propiedades y, en muchos casos, se puede usar Gremlin para proporcionar funciones que openCypher no proporciona. A continuación se muestra una comparación rápida de los dos lenguajes:

openCypher Gremlin

Style (Estilo)

Declarativo

Imperativo

Sintaxis

Coincidencia de patrones

Match p=(a)-[:route]->(d) WHERE a.code='ANC' RETURN p

Basado en la transversalidad

g.V().has('code', 'ANC'). out('route').path(). by(elementMap())

Facilidad de uso

Inspirado en SQL, legible por personas que no son programadores

Curva de aprendizaje más pronunciada, similar a la de lenguajes de programación como Java

Flexibilidad

Bajo

Alto

Soporte de consultas

Consultas basadas en cadenas

Consultas basadas en cadenas o código en línea compatibles con las bibliotecas cliente

Clientes

HTTPS y Bolt

HTTPS y Websockets

Por lo general, no es necesario cambiar el modelo de datos para migrar de Neo4j a Neptune, ya que tanto Neo4j como Neptune admiten datos de gráficos de propiedades etiquetadas (LPG). Sin embargo, Neptune presenta algunas diferencias en la arquitectura y el modelo de datos que puede sacar partido para optimizar el rendimiento. Por ejemplo:

Si tienes alguna duda, ponte en contacto con el servicio de AWS asistencia o con el equipo de tu AWS cuenta. Usamos sus comentarios para priorizar las nuevas características que se adapten a sus necesidades.