Capturar alterações do grafo em tempo real usando os fluxos do Neptune - 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á.

Capturar alterações do grafo em tempo real usando os fluxos do Neptune

Os fluxos do Neptune registram em log todas as alterações feitas no grafo à medida que ocorrem e na ordem em que ocorrem, de forma totalmente gerenciada. Assim que você habilita os fluxos, o Neptune cuida da disponibilidade, do backup, da segurança e da validade.

nota

Esse atributo estava disponível no modo de laboratório a partir de Versão 1.0.1.0.200463.0 (15/10/2019) e está disponível para uso em produção a partir da versão 1.0.2.2.R2 do mecanismo do Neptune.

Veja a seguir alguns dos muitos casos de uso em que você pode desejar capturar alterações em um gráfico à medida que ocorrem:

  • Você pode desejar que seu aplicativo notifique as pessoas automaticamente quando determinadas alterações forem feitas.

  • Talvez você também queira manter uma versão atual dos seus dados gráficos em outro armazenamento de dados, como Amazon OpenSearch Service, Amazon ou Amazon ElastiCache Simple Storage Service (Amazon S3).

O Neptune usa o mesmo armazenamento nativo para o fluxo de logs de alterações e para os dados do grafo. Ele grava entradas de log de alterações de forma síncrona junto com a transação que fez essas alterações. Você recupera esses registros de alterações do fluxo de log usando uma API REST HTTP. (Para obter informações, consulte Chamar a API do Streams.)

O diagrama a seguir mostra como os dados do log de alterações podem ser recuperados dos fluxos do Neptune.

Diagrama que mostra como os dados do log de alterações podem ser recuperados de instâncias de gravador e de réplicas de leitura.
Garantias dos fluxos do Neptune
  • As alterações feitas por uma transação ficam imediatamente disponíveis para leitura do gravador e dos leitores assim que a transação é concluída (além de qualquer atraso de replicação normal nos leitores).

  • Os registros de alterações aparecem estritamente de forma sequencial, na ordem em que ocorreram (isso inclui as alterações feitas em uma transação).

  • Os fluxos de alterações não contêm duplicatas. Cada alteração é registrada em log somente uma vez.

  • Os fluxos de alterações são completos. Nenhuma alteração é perdida ou omitida.

  • Os fluxos de alterações contêm todas as informações necessárias para determinar o estado completo do próprio banco de dados a qualquer momento, desde que o estado inicial seja conhecido.

  • O Streams pode ser ativado ou desativado a qualquer momento.

Propriedades operacionais de fluxos do Neptune
  • O fluxo de logs de alterações é totalmente gerenciado.

  • Os dados do log de alterações são gravados de forma síncrona como parte da mesma transação que faz uma alteração.

  • Quando os fluxos do Neptune estão habilitados, são geradas cobranças de E/S e armazenamento associadas aos dados do log de alterações.

  • Por padrão, os registros de alterações são removidos automaticamente uma semana após a criação. A partir da versão 1.2.0.0 do mecanismo, esse período de retenção pode ser alterado usando o parâmetro de cluster de banco de dados neptune_streams_expiry_days para qualquer número de dias entre um e noventa.

  • O desempenho de leitura nos fluxos é dimensionado junto com as instâncias.

  • Você pode obter alta disponibilidade e taxa de transferência de leitura usando réplicas de leitura. Não há limite para o número de leitores de fluxos que você pode criar e usar simultaneamente.

  • Os dados do log de alterações são replicados em várias zonas de disponibilidade, o que os torna resilientes.

  • Os dados do log são tão seguros quanto os dados do próprio gráfico. Os dados podem ser criptografados em repouso e em trânsito. O acesso pode ser controlado usando IAM, Amazon VPC e AWS Key Management Service ()AWS KMS. Assim como os dados do gráfico, eles podem ser copiados e restaurados posteriormente usando point-in-time restaurações (PITR).

  • A gravação síncrona dos dados de fluxo como parte de cada transação provoca uma leve degradação no desempenho geral de gravação.

  • Os dados do fluxo não são fragmentados, porque o Neptune é um único fragmento por design.

  • A API GetRecords do fluxo de logs usa os mesmos recursos que todas as outras operações de grafo do Neptune. Isso significa que os clientes precisam balancear a carga entre solicitações de fluxo e outras solicitações de banco de dados.

  • Quando os fluxos são desabilitados, todos os dados do log se tornam inacessíveis imediatamente. Isso significa que você deve ler todos os dados de seu interesse antes de desabilitar o registro em log.

  • Atualmente, não há integração nativa com AWS Lambda o. O fluxo de logs não gera um evento que possa acionar uma função do Lambda.