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.
Migración de Neo4j a Amazon Neptune
Tanto Neo4j como Amazon Neptune son bases de datos de gráficos, diseñadas para cargas de trabajo de gráficos transaccionales en línea que admiten el modelo de datos de gráficos de propiedades etiquetadas. Estas similitudes hacen de Neptune una opción común para los clientes que buscan migrar sus aplicaciones de Neo4j actuales. Sin embargo, estas migraciones no son simples procesos de migrar mediante lift-and-shift, ya que existen diferencias en cuanto a la compatibilidad con los lenguajes y las características, las características operativas, la arquitectura de los servidores y las capacidades de almacenamiento entre las dos bases de datos.
En esta página se explica el proceso de migración y se presentan aspectos a tener en cuenta antes de migrar una aplicación de gráficos de Neo4j a Neptune. Estos aspectos suelen aplicarse a cualquier aplicación de gráficos de Neo4j, ya sea que funcione con una base de datos Community, Enterprise o Aura. Aunque cada solución sea única y pueda requerir procedimientos adicionales, todas las migraciones siguen el mismo patrón general.
Cada uno de los pasos descritos en las siguientes secciones incluye aspectos a tener en cuenta y recomendaciones para simplificar el proceso de migración. Además, hay herramientas de código abierto y publicaciones de blog que describen el proceso, así como una sección de compatibilidad de características con opciones arquitectónicas recomendadas.
Temas
- Información general sobre la migración de Neo4j a Neptune
- Preparación para migrar de Neo4j a Neptune
- Aprovisionamiento de la infraestructura al migrar de Neo4j a Neptune
- Migración de datos de Neo4j a Neptune
- Migración de aplicaciones de Neo4j a Neptune
- Compatibilidad de Neptune con Neo4j
- Reescritura de consultas de Cypher para ejecutarlas en openCypher en Neptune
- Recursos para migrar de Neo4j a Neptune
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
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
openCypher | Gremlin | |
---|---|---|
Style (Estilo) |
Declarativo |
Imperativo |
Sintaxis |
Coincidencia de patrones
|
Basado en la transversalidad
|
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 |
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 |
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:
Los ID de Neptune se tratan como ciudadanos de primera clase.
Neptune utiliza políticas de AWS Identity and Access Management (IAM) para proteger el acceso a los datos de sus gráficos de forma flexible y detallada.
Neptune ofrece varias formas de utilizar los cuadernos de Jupyter para ejecutar consultas y visualizar los resultados. Neptune también funciona con herramientas de visualización de terceros.
>Aunque Neptune no tiene un sustituto directo para la biblioteca Graph Data Science (GDS) de Neo4j, Neptune admite el análisis de gráficos en la actualidad a través de una variedad de soluciones. Por ejemplo, varios cuadernos de muestra
muestran cómo sacar partido de la integración de Neptune con AWS SDK para Pandas en entornos de Python para ejecutar análisis en datos de gráficos.
Si tiene alguna pregunta, póngase en contacto con AWS Support o con el equipo de cuentas de AWS. Usamos sus comentarios para priorizar las nuevas características que se adapten a sus necesidades.