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 el soporte de Neptune para el lenguaje de openCypher consultas, puedes mover la mayoría de las cargas de trabajo de Neo4j que utilizan el protocolo Bolt o a Neptune. HTTPS Sin embargo, openCypher es una especificación de código abierto que contiene 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 openCypher estándar de código abierto, versión 9. En AWS, creemos que el código abierto es bueno para todos y tenemos el compromiso tanto de llevar el valor del código abierto a nuestros clientes como de llevar la excelencia operativa a las comunidades de AWS 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 APOC procedimientos, algunas cláusulas y funciones específicas de Cypher ni tipos de datosChar. Date Duration Neptune convierte automáticamente los tipos de datos que faltan en tipos de datos compatibles.

AdemásopenCypher, Neptune también es compatible con el lenguaje de consulta Apache TinkerPop Gremlin para gráficos de propiedades (así como SPARQL para datos). RDF Gremlin puede interoperar con openCypher el mismo gráfico de propiedades y, en muchos casos, puede utilizar Gremlin para proporcionar funciones que no proporciona. openCypher 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

SQL-inspirado, legible por personas que no sean programadores

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

Flexibilidad

Baja

Alta

Soporte de consultas

Consultas basadas en cadenas

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

Clientes

HTTPSy Bolt

HTTPSy Websockets

En general, no es necesario cambiar el modelo de datos para migrar de Neo4j a Neptuno, 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.