

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Informações gerais sobre a migração do Neo4j para o Neptune
<a name="migrating-from-neo4j-general"></a>

Com o [suporte para a linguagem de consulta openCypher](feature-opencypher-compliance.md), você pode mover a maioria das workloads do Neo4j que usam o protocolo Bolt ou HTTPS para o Neptune. No entanto, o openCypher é uma especificação de código aberto que contém a maioria, mas não todas, as funcionalidades compatíveis com outros bancos de dados, como o Neo4j.

Apesar de ser compatível de várias maneiras, o Neptune não é um substituto imediato do Neo4j. O Neptune é um serviço de banco de dados de grafos totalmente gerenciado com atributos corporativos, como alta disponibilidade e alta durabilidade, que é arquitetonicamente diferente do Neo4j. O Neptune é baseado em instâncias, com uma única instância de gravador principal e até 15 instâncias de réplica de leitura que permitem escalar a capacidade de leitura horizontalmente. Usando o [Neptune Serverless](neptune-serverless.md), é possível aumentar ou reduzir a escala da capacidade computacional verticalmente, dependendo do volume de consultas. Isso é independente do armazenamento do Neptune, que é escalado automaticamente à medida que você adiciona dados.

O Neptune é compatível com a [especificação padrão do openCypher de código aberto, versão 9](https://s3.amazonaws.com/artifacts.opencypher.org/openCypher9.pdf). Na AWS, acreditamos que o código aberto é bom para todos e estamos comprometidos em trazer o valor do código aberto aos nossos clientes e em levar a excelência operacional das AWS comunidades de código aberto.

No entanto, muitas aplicações executadas no Neo4j também usam atributos exclusivos que não são de código aberto e que o Neptune não aceita. Por exemplo, o Neptune não é compatível com procedimentos APOC, algumas cláusulas e funções específicas do Cypher e os tipos de dados `Char`, `Date` e `Duration`. O Neptune converte automaticamente os tipos de dados ausentes em [tipos de dados compatíveis](bulk-load-tutorial-format-opencypher.md#bulk-load-tutorial-format-opencypher-data-types).

Além do OpenCypher, o Neptune também suporta a linguagem de consulta [Apache TinkerPop Gremlin](https://tinkerpop.apache.org/docs/current/reference/#traversal) para gráficos de propriedades (bem como SPARQL para dados RDF). O Gremlin pode interoperar com o openCypher no mesmo grafo de propriedades e, em muitos casos, é possível usar o Gremlin para fornecer funcionalidades não oferecidas pelo openCypher. Veja uma comparação rápida das duas linguagens:


|  | openCypher | Gremlin | 
| --- | --- | --- | 
| Estilo | Declarativa | Imperativa | 
| Sintaxe | Correspondência de padrão<pre>Match p=(a)-[:route]->(d)<br />WHERE a.code='ANC'<br />RETURN p<br /></pre> | Baseada em percurso<pre>g.V().has('code', 'ANC').<br />out('route').path().<br />by(elementMap())</pre> | 
| Facilidade de uso | Inspirada em SQL, legível por não programadores | Curva de aprendizado mais íngreme, semelhante a linguagens de programação como Java | 
| Flexibilidade | Baixo | Alto | 
| Compatível com consultas | Consultas baseadas em strings | Consultas baseadas em strings ou código em linha compatíveis com bibliotecas de cliente | 
| Clientes | HTTPS e Bolt | HTTPS e Websockets | 

Em geral, não é necessário alterar o modelo de dados para migrar do Neo4j para o Neptune, porque tanto o Neo4j quanto o Neptune são compatíveis com dados de grafos de propriedades rotulados (LPG). No entanto, o Neptune tem algumas diferenças de arquitetura e modelo de dados que você pode aproveitar para otimizar o desempenho. Por exemplo:
+  IDs Netuno é tratado como cidadão de primeira classe.
+ O Neptune usa [políticas do AWS Identity and Access Management (IAM)](iam-auth.md) para proteger o acesso aos dados de grafos de forma flexível e granular.
+ O Neptune oferece várias maneiras de [usar os cadernos Jupyter](graph-notebooks.md) para executar consultas e [visualizar os resultados](notebooks-visualization.md). O Neptune também trabalha com [ferramentas de visualização de terceiros](visualization-tools.md).
+ Embora o Neptune não tenha um substituto imediato para a biblioteca Neo4j Graph Data Science (GDS), no momento, ele é compatível com a análise de grafos por meio de uma variedade de soluções. Por exemplo, vários [notebooks de amostra](https://github.com/aws/graph-notebook/tree/main/src/graph_notebook/notebooks/01-Neptune-Database/03-Sample-Applications/06-Data-Science-Samples) demonstram como aproveitar a [integração do Neptune com o SDK do AWS Pandas em ambientes Python para executar](https://github.com/amazon-archives/fully-automated-neo4j-to-neptune) análises em dados gráficos.

Entre em contato com o AWS suporte ou entre em contato com a equipe de sua AWS conta se tiver dúvidas. Usamos seus comentários para priorizar novos atributos que atendam às suas necessidades.