Mecanismo do Amazon Neptune versão 1.1.0.0 (19/11/2021) - 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.1.0.0 (19/11/2021)

Desde 19/11/2021, a versão 1.1.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.

Importante

A atualização para esta versão do mecanismo a partir de uma versão anterior à 1.1.0.0 também aciona uma atualização do sistema operacional em todas as instâncias do cluster de banco de dados. Como as solicitações de gravação ativas que ocorrem durante a atualização do sistema operacional não serão processadas, você deve pausar todas as workloads de gravação no cluster que está sendo atualizado, incluindo carregamentos de dados em massa, antes de iniciar a atualização.

Para concluir a atualização com êxito, todas as sub-redes em cada zona de disponibilidade (AZ) devem ter pelo menos um endereço IP disponível por instância do Neptune. Por exemplo, se houver uma instância de gravador e duas instâncias de leitor na sub-rede 1 e duas instâncias de leitor na sub-rede 2, a sub-rede 1 deverá ter pelo menos três endereços IP livres e a sub-rede 2 deverá ter pelo menos dois endereços IP livres antes de iniciar a atualização.

No início da atualização, o Neptune gera um snapshot com um nome composto de preupgrade seguido por um identificador gerado automaticamente com base nas informações do cluster de banco de dados. Você não será cobrado por esse snapshot e poderá usá-lo para restaurar o cluster de banco de dados se algo der errado durante o processo de atualização.

Quando a atualização do mecanismo em si for concluída, a nova versão do mecanismo estará disponível brevemente no sistema operacional antigo, mas em menos de cinco minutos todas as instâncias do cluster iniciarão simultaneamente uma atualização do sistema operacional. O cluster de banco de dados ficará indisponível nesse momento por alguns minutos. Você poderá retomar as workloads de gravação após a conclusão da atualização.

Esse processo gera os seguintes eventos:

  • Mensagens de eventos por cluster:

    • Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]

    • Database cluster major version has been upgraded

  • Mensagens de eventos por instância:

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

nota

A partir desta versão do mecanismo, o Neptune não é mais compatível com os tipos de instância R4. Se você estiver usando uma instância R4 no cluster de banco de dados, deverá substituí-la manualmente por um tipo de instância diferente antes de fazer a atualização para esta versão. Se a instância de gravador for uma R4, siga estas instruções para movê-la.

Versões de patch subsequentes para esta versão

Novos recursos nesta versão do mecanismo

  • Introdução de instâncias de banco de dados T4g de uso geral e R6g otimizadas para memória, equipadas com o processador AWSGraviton2. As instâncias baseadas no Graviton2 oferecem uma relação preço/desempenho significativamente melhor do que as instâncias comparáveis baseadas em x86 da geração atual para uma série de workloads. As aplicações funcionam normalmente nesses novos tipos de instância e não há necessidade de portar o código da aplicação ao realizar a atualização para eles.

    Para obter mais informações sobre disponibilidade de regiões e preços, consulte a página de preços do Amazon Neptune.

  • Introdução de modelos personalizados no Neptune ML

  • Adição de suporte para consultas de inferência do SPARQL no Neptune ML.

  • Adição de um novo endpoint de fluxos para dados de grafos de propriedades, a saber:

    https://Neptune-DNS:8182/propertygraph/stream

    O formato de saída desse endpoint, denominado PG_JSON, é exatamente o mesmo da saída de formato GREMLIN_JSON do antigo gremlin/stream.

    O novo endpoint propertygraph/stream estende o suporte aos fluxos do Neptune para o openCypher e substitui o endpoint gremlin/stream pelo formato de saída GREMLIN_JSONassociado.

Melhorias nesta versão do mecanismo

  • Fizemos melhorias nos fluxos do Neptune:

  • Adição de suporte para obter a pontuação de confiança da inferência nas consultas de classificação e regressão de nós do Gremlin.

  • Adição de suporte para a cláusula OPTIONAL MATCH no openCypher.

  • Adição de suporte para a cláusula MERGE no openCypher.

  • Adição de suporte para usar ORDER BY em cláusulas WITH no openCypher.

  • Adição de suporte para compreensão de padrões ao openCypher e suporte estendido para expressão de padrões além da verificação de existência.

  • Suporte estendido para as cláusulas DELETE e DELETE DETACH no openCypher, para que agora elas possam ser usadas com outras cláusulas de atualização.

  • Suporte estendido para as cláusulas CREATE e UPDATE usadas com RETURN no openCypher.

  • Adição de suporte ao mecanismo do DFE para as etapas limit, range e skip do Gremlin.

  • Melhoria da execução de consultas no mecanismo do DFE quando explain nem profile é solicitado.

  • Melhoria da execução de consultas no mecanismo do DFE para a expressão value.

  • Melhoria de vários padrões de inserção condicional do Gremlin encadeados para evitar exceções de modificação simultânea e permitir o encadeamento de padrões de consulta como estes:

    • Inserção condicional de vértices por ID, como:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID))
    • Inserção condicional de vértices com vários rótulos, como:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1::L2").property(id,ID))
    • Inserção condicional de bordas por ID, como:

      g.E(ID).fold().coalesce(unfold(), V(from).addE(label).to(V(to)).property(id, ID))
    • Inserção condicional de bordas com vários rótulos, como:

      g.E(ID).fold().coalesce(unfold(), g.addE(label).from(V(from)).to(V(to)).property(id, ID))
    • Inserção condicional seguida por uma consulta, como:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • Inserção condicional com propriedades adicionadas, como:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID).property("name","pumba"))

Defeitos corrigidos nesta versão do mecanismo

  • Desativação do atributo estatísticas em tipos de instância T3.medium, que não podiam aceitá-lo.

  • Correção de um erro do SPARQL em explain com uma função IN que usava valores não constantes.

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.1.0.0, assegure-se de que o projeto seja compatível com estas versões da linguagem de consulta:

  • Gremlin versão: 3.4.11

  • SPARQL versão: 1.1

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

É possível atualizar manualmente qualquer versão anterior do mecanismo do Neptune para esta versão.

A atualização para esta versão não será automática.

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 essa 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.1.0.0 \ --allow-major-version-upgrade \ --apply-immediately

Para Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.1.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, é necessário usar o parâmetro allow-major-version-upgrade. 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. Em caso de dúvidas ou preocupações, o AWS Support está disponível nos fóruns da comunidade e por meio do AWS Premium Support.