Mecanismo do Amazon Neptune versão 1.3.0.0 (15/11/2023) - Amazon Neptune

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

Mecanismo do Amazon Neptune versão 1.3.0.0 (15/11/2023)

Desde 15/11/2023, a versão 1.3.0.0 do mecanismo está sendo implantada de forma geral. Observe que leva vários dias para que uma nova versão fique disponível em todas as regiões.

nota

A versão 1.3.0.0 do mecanismo introduziu um novo formato para grupos de parâmetros personalizados e grupos de parâmetros de cluster personalizados. Como resultado, se você estiver atualizando de uma versão de mecanismo anterior à 1.3.0.0 para a versão 1.3.0.0 ou posterior, deverá recriar todos os grupos de parâmetros personalizados e grupos de parâmetros de cluster personalizados existentes usando a família de grupos de parâmetros neptune1.3. As versões anteriores usavam a família de grupos de parâmetros neptune1 ou neptune1.2, e esses grupos de parâmetros não funcionarão com a versão 1.3.0.0 e posterior. Consulte Grupos de parâmetros do Amazon Neptune Para mais informações.

Novos recursos nesta versão do mecanismo

  • Lançamento da API de dados do Neptune.

    A API de dados do Amazon Neptune fornece suporte a SDK para mais de 40 operações de dados do Neptune, incluindo carregamento de dados, execução de consultas, consulta de dados e machine learning. Ela é compatível com as três linguagens de consulta (Gremlin, openCypher e SPARQL) e está disponível em todas as linguagens do SDK. Ela assina automaticamente as solicitações da API e simplifica consideravelmente a integração do Neptune às aplicações.

  • Foi adicionado suporte para integrar o OpenSearchServerless com o Neptune.

Melhorias nesta versão do mecanismo

Melhorias nas atualizações de mecanismo do Neptune

O Neptune mudou a forma como lança as atualizações do mecanismo para que você possa ter mais controle sobre o processo de atualização. Em vez de lançar patches para alterações ininterruptas, o Neptune agora lança versões secundárias que podem ser controladas usando o campo da instância AutoMinorVersionUpgrade e sobre as quais você pode receber notificações ao se inscrever no evento RDS-EVENT-0156.

Consulte Maintaining your Amazon Neptune DB Cluster para obter mais informações sobre essas alterações.

Melhoria da criptografia em trânsito

O Neptune não oferece mais suporte aos seguintes pacotes de criptografia:

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

O Neptune oferece suporte apenas aos seguintes conjuntos de criptografia fortes com o TLS 1.2:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Melhorias no Gremlin
  • Adição de suporte ao mecanismo do DFE para as seguintes etapas do Gremlin:

    • FoldStep

    • GroupStep

    • GroupCountStep

    • TraversalMapStep

    • UnfoldStep

    • LabelStep

    • PropertyKeyStep

    • PropertyValueStep

    • AndStep

    • OrStep

    • ConstantStep

    • CountGlobalStep

  • Planos de consulta do DFE do Gremlin otimizados para evitar varreduras completas de vértices ao usar a modulação by().

  • Desempenho significativamente aprimorado de consultas de baixa cardinalidade e baixa latência.

  • Foi adicionado suporte ao DFE para predicados TinkerPop Or de filtro.

  • Suporte aprimorado de percurso do DFE para filtros na mesma chave, para consultas como as seguintes:

    g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
  • Tratamento aprimorado de erros para a etapa fail().

Melhorias no openCypher
  • Desempenho significativamente aprimorado de consultas de baixa cardinalidade e baixa latência.

  • Melhor desempenho do planejamento de consultas quando a consulta contém muitos tipos de nós.

  • Latência reduzida de todas as consultas VLP.

  • Desempenho aprimorado com a remoção de junções de pipeline redundantes para consultas de padrões de nó único.

  • Desempenho aprimorado para consultas que contêm padrões de vários saltos com ciclos, como esta:

    MATCH (n)-->()-->()-->(m) RETURN n m
Melhorias no SPARQL
  • Introdução de um novo operador SPARQL: PipelineHashIndexJoin.

  • Melhor desempenho da validação de URI para consultas SPARQL.

  • Melhor desempenho das consultas de pesquisa de texto completo do SPARQL por meio da resolução em lote de termos do dicionário.

Defeitos corrigidos nesta versão do mecanismo

Correções do Gremlin
  • Correção de um erro do Gremlin em que ocorria um vazamento de transação ao conferir o endpoint de status da consulta do Gremlin para consultas com predicados em percursos secundários para etapas não processadas de modo nativo no mecanismo do DFE.

  • Correção de um erro do Gremlin que fazia com que valueMap() não fosse otimizado no mecanismo do DFE em by().

  • Correção de um erro do Gremlin que fazia com que um rótulo de etapa anexado a UnionStep não fosse propagado para o último elemento do caminho dos respectivos percursos secundários.

  • Corrigido um bug do Gremlin em que uma consulta falhava porque continha muitas TinkerPop etapas e, em seguida, não era limpa.

  • Correção de um erro do Gremlin em que NullPointerException era lançado nas etapas mergeV e mergeE.

  • Correção de um erro do Gremlin em que order() não classificava corretamente as saídas de string quando algumas delas continham um caractere de espaço.

  • Correção de um problema de correção do Gremlin que ocorria quando a etapa valueMap era processada no mecanismo do DFE.

  • Correção de um problema de correção do Gremlin que ocorria quando GroupStep ou GroupCountStep estava aninhado em um percurso de chaves.

Correções do openCypher
  • Correção de um problema do openCypher envolvendo o tratamento de erros em torno de caracteres NULL.

  • Correção de um erro do openCypher no tratamento de transações do Bolt.

Correções do SPARQL
  • Correção de um erro do SPARQL em que os valores dentro de funções recursivas não eram resolvidos adequadamente.

  • Correção de um erro do SPARQL que causava degradação do desempenho quando um grande número de valores eram injetados usando uma cláusula VALUES.

  • Correção de um erro do SPARQL em que uma chamada para o operador REGEX em um literal marcado com uma linguagem nunca tinha êxito.

Versões de linguagem de consulta compatíveis com esta versão

Antes de atualizar um cluster de banco de dados para a versão 1.3.0.0, assegure-se de que o projeto seja compatível com estas versões da linguagem de consulta:

  • Versão compatível mais antiga do Gremlin: 3.6.2

  • Versão compatível mais recente do Gremlin: 3.6.4

  • openCypher versão: Neptune-9.0.20190305-1.0

  • SPARQL versão: 1.1

Caminhos de atualização para a versão 1.3.0.0 do mecanismo

Você pode atualizar para esta versão a partir da versão 1.2.0.0 ou superior.

Atualizar para esta versão

Se um cluster de banco de dados estiver executando uma versão do mecanismo a partir da qual haja um caminho de atualização para esta versão, ele estará elegível para ser atualizado agora. Você pode atualizar qualquer cluster elegível usando as operações do cluster de banco de dados no console ou usando o SDK. O seguinte comando da CLI atualizará imediatamente um cluster elegível:

Para Linux, OS X ou Unix:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.3.0.0 \ --allow-major-version-upgrade \ --apply-immediately

Para Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.3.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately

Em vez de --apply-immediately, é possível especificar --no-apply-immediately. Para realizar uma atualização de versão principal, o allow-major-version-upgrade parâmetro é necessário. Além disso, não se esqueça de incluir a versão do mecanismo ou ele poderá ser atualizado para outra versão.

Se o cluster usar um grupo de parâmetros de cluster personalizado, não se esqueça de incluir este parâmetro para especificá-lo:

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

Da mesma forma, se alguma instância no cluster usar um grupo de parâmetros de banco de dados personalizado, não se esqueça de incluir este parâmetro para especificá-lo:

--db-instance-parameter-group-name (name of the custom instance parameter group)

Sempre teste antes de fazer a atualização

Quando uma nova versão principal ou secundária do mecanismo do Neptune for lançada, sempre teste as aplicações do Neptune antes de atualizá-la. Mesmo uma atualização secundária pode introduzir novos atributos ou comportamentos que afetem o código.

Comece comparando as páginas de notas da versão atual com as da versão de destino para ver se haverá alterações nas versões da linguagem de consulta ou outras alterações importantes.

A melhor maneira de testar uma nova versão antes de atualizar o cluster de banco de dados de produção é clonar o cluster de produção para que o clone execute a nova versão do mecanismo. Depois, você pode executar consultas no clone sem afetar o cluster de banco de dados de produção.

Sempre crie um snapshot manual antes de fazer a atualização

Antes de fazer uma atualização, é altamente recomendável sempre criar um snapshot manual do cluster de banco de dados. Ter um snapshot automático só oferece proteção de curto prazo, enquanto um snapshot manual permanece disponível até que você o exclua explicitamente.

Em determinados casos, o Neptune cria um snapshot manual para você como parte do processo de atualização, mas não confie nisso e, em qualquer caso, crie o próprio snapshot manual.

Quando você tiver certeza de que não precisará reverter o cluster de banco de dados para o estado de pré-atualização, poderá excluir explicitamente o snapshot manual criado, bem como o snapshot manual que o Neptune tenha criado. Se o Neptune criar um snapshot manual, ele terá um nome que começa com preupgrade, seguido pelo nome do cluster de banco de dados, a versão do mecanismo de origem, a versão do mecanismo de destino e a data.

nota

Se você estiver tentando atualizar com uma ação pendente em andamento, poderá encontrar um erro como o seguinte:

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

Se você encontrar esse erro, aguarde a conclusão da ação pendente ou acione imediatamente uma janela de manutenção para permitir que a atualização anterior seja concluída.

Para obter mais informações sobre como atualizar a versão do mecanismo, consulte Manter o cluster de banco de dados do Amazon Neptune. Se você tiver alguma dúvida ou preocupação, a equipe de AWS Suporte está disponível nos fóruns da comunidade e por meio do AWS Premium Support.