

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á.

# Práticas recomendadas para o Neptune ao usar openCypher e Bolt
<a name="best-practices-opencypher"></a>

Siga estas práticas recomendadas ao usar a linguagem de consulta openCypher e o protocolo Bolt com Neptune. Para obter informações sobre como usar o openCypher no Neptune, consulte [Acessar o grafo do Neptune com o openCypher](access-graph-opencypher.md).

**Topics**
+ [Criar uma conexão após o failover](#best-practices-opencypher-renew-connection)
+ [Tratamento de conexões para aplicações de longa duração](#best-practices-opencypher-long-connections)
+ [Manipulação de conexão para AWS Lambda](#best-practices-opencypher-lambda-connections)
+ [Preferir direcionar para bordas bidirecionais nas consultas](best-practices-opencypher-directed-edges.md)
+ [O Neptune não é compatível com várias consultas simultâneas em uma transação.](best-practices-opencypher-multiple-queries.md)
+ [Fechar objetos de driver ao concluir](best-practices-opencypher-close-driver.md)
+ [Usar modos de transação explícitos para leitura e gravação](best-practices-opencypher-use-explicit-txs.md)
+ [Lógica de novas tentativas para exceções](best-practices-opencypher-retry-logic.md)
+ [Definir várias propriedades de uma vez usando uma única cláusula SET](best-practices-content-0.md)
+ [Usar consultas parametrizadas](best-practices-content-2.md)
+ [Use mapas nivelados em vez de mapas aninhados na cláusula UNWIND](best-practices-content-3.md)
+ [Coloque nós mais restritivos no lado esquerdo em expressões de caminho de comprimento variável (VLP)](best-practices-content-4.md)
+ [Evitar verificações redundantes de rótulos de nó usando nomes de relacionamento granulares](best-practices-content-5.md)
+ [Especificar rótulos de borda sempre que possível](best-practices-content-6.md)
+ [Evitar usar a cláusula WITH quando possível](best-practices-content-7.md)
+ [Colocar filtros restritivos o mais cedo possível na consulta](best-practices-content-8.md)
+ [Verificar explicitamente se as propriedades existem](best-practices-content-9.md)
+ [Não usar o caminho nomeado (a menos que seja necessário)](best-practices-content-10.md)
+ [Evitar COLLECT(DISTINCT())](best-practices-content-11.md)
+ [Optar pela função de propriedades em vez da pesquisa de propriedades individuais ao recuperar todos os valores da propriedade](best-practices-content-12.md)
+ [Executar cálculos estáticos fora da consulta](best-practices-content-13.md)
+ [Agrupar entradas usando UNWIND em vez de declarações individuais](best-practices-content-14.md)
+ [Prefiro usar o personalizado IDs para nó/relacionamento](best-practices-content-15.md)
+ [Evitar fazer cálculos de \~id na consulta](best-practices-content-16.md)
+ [Atualizar/mesclar vários nós](best-practices-merge-multiple-nodes.md)

## Criar uma conexão após o failover
<a name="best-practices-opencypher-renew-connection"></a>

No caso de um failover, o driver do Bolt pode continuar se conectando à instância de gravador antiga e não à nova instância ativa, porque o nome do DNS foi resolvido para um endereço IP específico.

Para evitar isso, feche e reconecte o objeto `Driver` após qualquer failover.

## Tratamento de conexões para aplicações de longa duração
<a name="best-practices-opencypher-long-connections"></a>

Ao criar aplicações de longa duração, como aqueles executados em contêineres ou em instâncias do Amazon EC2, instancie um objeto `Driver` uma vez e, depois, reutilize esse objeto durante toda a vida útil da aplicação. O objeto `Driver` é seguro para threads, e a sobrecarga de inicializá-lo é considerável.

## Manipulação de conexão para AWS Lambda
<a name="best-practices-opencypher-lambda-connections"></a>

Os drivers de parafuso não são recomendados para uso em AWS Lambda funções, devido à sobrecarga de conexão e aos requisitos de gerenciamento. Em vez disso, use o [endpoint HTTPS](access-graph-opencypher-queries.md).