Geral

P: O que é o Amazon Neptune?

O Amazon Neptune é um serviço de banco de dados gráfico rápido, confiável e totalmente gerenciado que facilita a criação e a execução de aplicativos que trabalham com conjuntos de dados altamente conectados. As consultas SQL para dados altamente conectados são complexas e o ajuste de sua performance é difícil. Em vez disso, o Amazon Neptune permite usar linguagens de consultas gráficas abertas e comuns para executar consultas sofisticadas, fáceis de criar e com boa performance em dados conectados. O núcleo do Neptune é um mecanismo de banco de dados gráfico com projeto específico e alta performance, otimizado para armazenar bilhões de relacionamentos e consultar gráficos com latência de milissegundos. Você pode usar o Neptune para casos de uso de gráficos, como mecanismos de recomendação, detecção de fraudes, gráficos de conhecimento, descobertas de medicamentos e segurança de rede. O Amazon Neptune é totalmente gerenciado e se encarrega de tarefas demoradas como provisionamento, aplicação de patches, backup, recuperação, detecção de falhas e reparos. Você paga uma tarifa mensal para cada instância de banco de dados do Amazon Neptune que usar. Não há custos iniciais nem a necessidade de comprometimentos de longo prazo.

P: Como faço para experimentar o Amazon Neptune?

Para testar o Amazon Neptune, solicite acesso à demonstração.

P: Para quais linguagens de consulta gráfica populares o Amazon Neptune oferece suporte?

O Amazon Neptune oferece suporte à linguagem transversal gráfica Apache TinkerPop Gremlin de código aberto e à linguagem de consulta SPARQL do Resource Description Framework (RDF) padrão do W3C.

 

P: Como posso migrar um aplicativo atual do Apache TinkerPop Gremlin para o Amazon Neptune?

O Amazon Neptune disponibiliza um servidor Gremlin do Apache TinkerPop que oferece suporte a conexões Websocket e REST. Após provisionar uma instância do Amazon Neptune, você poderá configurar o aplicativo atual do TinkerPop para usar o endpoint fornecido pelo serviço. Veja também Como acessar o gráfico por meio do Gremlin.

P: Preciso alterar drivers do cliente para usar o servidor Gremlin do Amazon Neptune?

Não. O servidor Gremlin do Amazon Neptune oferece suporte a clientes compatíveis com o Apache TinkerPop versão 3.3 usando conexões Websocket e REST.

P: Como posso migrar de um armazenamento triplo com um endpoint SPARQL para o Amazon Neptune?

O Amazon Neptune oferece um endpoint HTTP REST que implementa o protocolo SPARQL 1.1. Após provisionar uma instância do serviço, você poderá configurar o aplicativo para apontar para o endpoint SPARQL. Veja também Como acessar o gráfico por meio do SPARQL.

P: Preciso alterar drivers do cliente para usar o endpoint SPARQL do Amazon Neptune?

Não. O endpoint SPARQL do Amazon Neptune funcionará com qualquer cliente que ofereça suporte ao protocolo SPARQL 1.1.  

P: O Neptune é compatível com ACID (atomicidade, isolamento, resiliência, conformidade)?

Sim, o Neptune é compatível com ACID com consistência imediata.

Performance

P: Preciso criar índices em meus dados com o Amazon Neptune?

Não. Usuários de banco de dados gráfico existentes são frequentemente forçados a tentar burlar a implementação do fornecedor. A manutenção explícita de índices é apenas um aspecto disso. O Amazon Neptune não exige a criação de índices específicos para conseguir uma boa performance de consultas e reduz a necessidade de fazer suposições sobre o projeto do banco de dados.

P: Que tipos de cargas de trabalho de consultas gráficas são otimizadas para funcionar com o Amazon Neptune?

O Amazon Neptune foi projetado para oferecer suporte a aplicativos gráficos que exigem consultas gráficas de alto throughput e baixa latência. Com suporte a até 15 réplicas de leitura, o Amazon Neptune pode oferecer suporte a centenas de milhares de consultas por segundo.

P: O Amazon Neptune executa otimização de consultas?

Sim. O Amazon Neptune usa otimização de consultas para consultas SPARQL e consultas transversais do Gremlin.

P: O Amazon Neptune foi criado com base em um banco de dados relacional?

Não. O Amazon Neptune é um mecanismo de banco de dados gráfico com projeto específico e alta performance. O Neptune armazena e navega eficientemente dados gráficos e usa uma arquitetura de escalabilidade vertical na memória, otimizada para permitir rapidez de avaliação de consultas em gráficos grandes.

Definição de preço

P: Quanto custa o Amazon Neptune?

Consulte a nossa página de definição de preço para obter informações atualizadas.

P: Em quais regiões da AWS o Amazon Neptune está disponível?

Consulte a nossa página de definição de preço para obter informações atualizadas sobre regiões e preços.

P: O Amazon Neptune replica cada bloco do volume do meu banco de dados seis vezes em três zonas de disponibilidade. Isso significa que meu preço de armazenamento efetivo será três ou seis vezes o que é mostrado na página de definição de preço?

Não. A replicação do Amazon Neptune está incluída no preço. Você é cobrado com base no armazenamento consumido pelo seu banco de dados na camada de armazenamento, não pelo armazenamento consumido na camada de armazenamento virtualizado do Amazon Neptune.

P: O que é uma E/S no Amazon Neptune e como ela é calculada?

As E/Ss são operações de entrada/saída executadas pelo Amazon Neptune em uma camada de armazenamento virtualizado baseado em SSD. Cada operação de leitura de página de banco de dados conta como uma E/S. O Amazon Neptune emite leituras na camada de armazenamento para obter as páginas que não estão presentes no cache do buffer. Cada página do Amazon Neptune tem 16 KB.
O Amazon Neptune foi concebido para eliminar operações de E/S desnecessárias a fim de reduzir custos e garantir a disponibilidade de recursos para atender ao tráfego de leitura/gravação. As operações de E/S de gravação são consumidas apenas durante o envio de registros de log para a camada de armazenamento com o intuito de tornar as gravações mais duradouras. As operações de E/S de gravação são contadas em unidades de 4 KB. Por exemplo, um registro de log de transação com 1024 bytes será contado como uma operação de E/S. Porém, operações de gravação simultâneas com log de transações inferior a 4 KB poderão ser armazenadas juntas em lotes pelo mecanismo de banco de dados do Amazon Neptune para otimizar o consumo de E/S. Ao contrário dos mecanismos de banco de dados tradicionais, o Amazon Neptune nunca envia páginas de banco de dados modificadas para a camada de armazenamento, o que resulta em economias de consumo de E/S ainda maiores.

Hardware e escalabilidade

P: Quais são os limites mínimo e máximo de armazenamento de um banco de dados do Amazon Neptune?

O armazenamento mínimo é 10 GB. De acordo com a utilização do banco de dados, o armazenamento do Amazon Neptune aumentará automaticamente até 64 TB, em incrementos de 10 GB, sem afetar a performance do banco de dados. Não há necessidade de provisionar antecipadamente o armazenamento.

P: Como posso escalar os recursos computacionais associados a uma instância de banco de dados do Amazon Neptune?

Você pode escalar os recursos de computação alocados para uma instância de banco de dados no Console de Gerenciamento da AWS selecionando a instância de banco de dados desejada e clicando no botão Modify. Os recursos de memória e de CPU são modificados alterando a classe da sua instância de banco de dados.
Ao modificar sua classe de instância de banco de dados, suas alterações solicitadas serão aplicadas durante sua janela de manutenção especificada. Como alternativa, você pode usar o marcador "Aplicar imediatamente" para aplicar suas solicitações de escalabilidade imediatamente. As duas opções afetarão a disponibilidade por alguns minutos enquanto a operação de escalabilidade é realizada. Lembre-se de que qualquer outra alteração pendente do sistema também será aplicada.

Backup e restauração

P: Como eu habilito os backups para minha instância de banco de dados?

Os backups automáticos estão sempre habilitados nas instâncias de banco de dados do Amazon Neptune. Os backups não afetam a performance do banco de dados.

 

P: Posso fazer snapshots de banco de dados e mantê-los disponíveis pelo tempo que quiser?

Sim, e não há impacto no desempenho ao fazer snapshots. Observe que restaurar dados a partir de snapshots do banco de dados exige a criação de uma nova instância de banco de dados.

P: Se o meu banco de dados falhar, qual é meu caminho de recuperação?

O Amazon Neptune mantém automaticamente 6 cópias de seus dados em três zonas de disponibilidade e tentará recuperar automaticamente seu banco de dados em uma zona de disponibilidade íntegra sem perda de dados. No caso improvável de seus dados estarem indisponíveis no armazenamento do Amazon Neptune, você pode restaurar a partir de um DB snapshot ou realizar uma operação de restauração point-in-time para uma nova instância. Observe que o último momento restaurável para uma operação de restauração point-in-time pode ser de até 5 minutos atrás.

P: O que acontece com meus backups e DB snapshots automatizados se eu excluir minha instância de banco de dados?

Você pode escolher criar um snapshot de banco de dados final ao excluir sua instância de banco de dados. Se fizer isso, pode usar o snapshot de banco de dados para restaurar a instância de banco de dados excluída posteriormente. O Amazon Neptune retém esse DB snapshot final criado pelo usuário junto com todos os outros DB snapshots criados manualmente após a instância de banco de dados ser excluída. Apenas DB snapshots são mantidos depois da exclusão da instância de banco de dados (ou seja, os backups automáticos criados para restauração point-in-time não são mantidos).

P: Posso compartilhar meus snapshots com outra conta da AWS?

Sim. O Neptune permite criar snapshots de bancos de dados, que podem ser usados posteriormente para restaurar um banco de dados. Você pode compartilhar um snapshot com uma conta diferente da AWS e o proprietário da conta de destino pode usar esse snapshot para restaurar um banco de dados com os seus dados. Você pode até mesmo optar por tornar seus snapshots públicos, ou seja, qualquer pessoa pode restaurar um BD contendo seus dados (públicos). É possível usar este recurso para compartilhar dados entre seus vários ambientes (produção, des./teste, preparação, etc.) que tenham contas diferentes da AWS, como também manter backups de todos os seus dados seguros em uma conta separada, caso sua conta principal da AWS sofra uma ameaça em algum momento.

P: Serei cobrado por snapshots compartilhados?

Não há cobrança pelo compartilhamento de snapshots entre contas. No entanto, podem haver cobranças pelos snapshots em si, como também por qualquer banco de dados que você restaurar usando os snapshots compartilhados. Saiba mais sobre a definição de preço do Amazon Neptune.

P: Posso compartilhar snapshots automaticamente?

Nós não sustentamos o compartilhamento de snapshots automáticos de BD. Para compartilhar um snapshot automático, você deve criar manualmente uma cópia do snapshot e, então, compartilhar a cópia.

P: Com quantas contas posso compartilhar snapshots?

Você pode compartilhar snapshots manuais com até 20 IDs de conta da AWS. Caso deseje compartilhar um snapshot com mais de 20 contas, torne-o público ou entre em contato com o suporte para aumentar a sua cota.

P: Em quais regiões posso compartilhar meus snapshots do Amazon Neptune?

Você poderá compartilhar seus snapshots do Neptune em todas as regiões da AWS onde o Amazon Neptune estiver disponível.

P: Posso compartilhar meus snapshots do Amazon Neptune entre regiões diferentes?

Não. Seus snapshots compartilhados do Amazon Neptune só poderão ser acessados por contas na mesma região da conta que os compartilha.

P: Posso compartilhar um snapshot criptografado do Amazon Neptune?

Sim, você pode compartilhar snapshots criptografados do Amazon Neptune.

Alta disponibilidade e replicação

P: Como o Amazon Neptune melhora a tolerância a falhas de disco do meu banco de dados?

O Amazon Neptune divide automaticamente o volume do seu banco de dados em segmentos de 10 GB em vários discos. Cada bloco de 10 GB do seu volume de banco de dados é replicado seis vezes em três zonas de disponibilidade. O Amazon Neptune é projetado para tratar de maneira transparente a perda de até duas cópias de dados sem afetar a disponibilidade de gravação do banco de dados e até três cópias sem afetar a disponibilidade de leitura. O armazenamento do Amazon Neptune também tem recuperação automática. Os blocos e discos de dados são varridos continuamente em busca de erros e corrigidos automaticamente.

 

P: Como o Amazon Neptune melhora o tempo de recuperação depois de uma falha do banco de dados?

Ao contrário dos outros bancos de dados, depois de uma falha, o Amazon Neptune não precisa reproduzir o log de repetição do último ponto de verificação do banco de dados (normalmente, 5 minutos) e confirmar que todas as alterações foram aplicadas antes de disponibilizar o banco de dados para operações. Isso reduz os tempos de reinicialização do banco de dados para menos de 60 segundos na maioria dos casos. O Amazon Neptune move o cache do buffer para fora do processo do banco de dados e o disponibiliza imediatamente no momento da reinicialização. Isso evita que você tenha que controlar o acesso até que o cache esteja preenchido novamente para evitar comprometimentos de performance.

P: Com que tipo de réplicas o Neptune é compatível?

O Amazon Neptune oferece suporte a réplicas de leitura, que compartilham o mesmo volume subjacente da instância primária. As atualizações feitas pela instância principal são visíveis para todas as réplicas do Amazon Neptune.

Recurso                                                Réplicas do Amazon Neptune

Número de réplicas                                            Até 15

Tipo de replicação                                  Assíncrona (milissegundos)

Impacto de performance na principal                         Baixo

Atua como destino de failover                                  Sim (sem perda de dados)

Failover automatizado                                              Sim

 

P: Posso ter réplicas entre regiões com o Amazon Neptune?

Não. O Amazon Neptune não oferece suporte a réplicas entre regiões.

P: Eu posso priorizar algumas réplicas como alvos de failover sobre outras?

R: Sim. Você pode atribuir uma camada de prioridade de promoção para cada instância no seu cluster. Quando a instância principal falhar, o Amazon Neptune promoverá a réplica com a maior prioridade como principal. Se houver contenção entre 2 ou mais réplicas na mesma camada de prioridade, o Amazon Neptune promoverá a réplica que tenha o mesmo tamanho da instância principal.

P: Posso modificar as camadas de prioridade para instâncias depois que elas forem criadas?

R: Você pode modificar a camada de prioridade para uma instância a qualquer momento. Apenas a modificação de camadas de prioridade não acionará um failover.

P: Posso evitar que determinadas réplicas sejam promovidas para a instância principal?

R: Você pode atribuir camadas de prioridade mais baixas para réplicas que você não deseja promover para a instância primária. No entanto, se as réplicas de prioridade mais alta no cluster não estiverem saudáveis ou disponíveis por alguma razão, o Amazon RDS promoverá a réplica de prioridade mais baixa.

P: Como posso melhorar a disponibilidade de um único banco de dados do Amazon Neptune?

Você pode adicionar réplicas do Amazon Neptune. As réplicas do Amazon Neptune compartilham o mesmo armazenamento subjacente da instância principal. Qualquer réplica do Amazon Neptune pode ser promovida para principal sem nenhuma perda de dados e, portanto, pode ser usada para melhorar a tolerância a falhas no caso de falha de uma instância principal do banco de dados. Para aumentar a disponibilidade do banco de dados, crie de 1 a 15 réplicas em qualquer uma das três zonas de disponibilidade e o Amazon Neptune as incluirá automaticamente na seleção de principal durante o failover no caso de interrupção de um banco de dados.

P: O que acontece durante o failover e quanto tempo leva?

O failover é controlado automaticamente pelo Amazon Neptune para que seus aplicativos possam retomar as operações de banco de dados o mais rapidamente possível sem intervenção administrativa manual.

  • Se você tiver uma réplica do Amazon Neptune na mesma zona de disponibilidade ou em outra, ao fazer o failover, o Amazon Neptune alterará o registro de nome canônico (CNAME) de seu endpoint principal do banco de dados para apontar para a réplica íntegra, que, por sua vez, será promovida como a nova principal. Normalmente, o failover é concluído em até 30 segundos. Além disso, o endpoint de réplicas de leitura não exige nenhuma atualização de CNAME durante o failover.
  • Se você não tiver uma réplica do Amazon Neptune (ou seja, uma instância única), o Neptune primeiro tentará criar uma nova instância de banco de dados na mesma zona de disponibilidade da instância original. Se não conseguir, o Neptune tentará criar uma nova instância de banco de dados em uma zona de disponibilidade diferente. Do início ao fim, o failover normalmente é concluído em menos de 15 minutos.

Seu aplicativo deve tentar novamente as solicitações de banco de dados em caso de perda de conexão.

P: Se eu tiver um banco de dados principal e uma réplica do Amazon Neptune processando ativamente o tráfego de leitura e ocorrer um failover, o que acontecerá?

O Amazon Neptune detectará automaticamente um problema com sua instância principal e começará a encaminhar seu tráfego de leitura/gravação para uma réplica do Amazon Neptune. Na média, o failover é concluído em até 30 segundos. Além disso, o tráfego de leitura atendido pelas réplicas do Amazon Neptune será brevemente interrompido.

P: Qual a defasagem entre a principal e as réplicas?

Como as réplicas do Amazon Neptune compartilham o mesmo volume de dados da instância principal, praticamente não há atraso na replicação. Normalmente, observamos defasagens de dezenas de milissegundos.

 

Segurança

P: Posso usar o Amazon Neptune na Amazon Virtual Private Cloud (Amazon VPC)?

Sim, todas as instâncias de banco de dados do Amazon Neptune devem ser criadas em uma VPC. Com a Amazon VPC, é possível definir uma topologia de rede virtual muito semelhante a uma rede tradicional em operação no seu próprio datacenter. Isso oferece a você total controle sobre quem acessa seus bancos de dados do Amazon Neptune.

 

P: O Amazon Neptune criptografa meus dados em trânsito e ociosos?

Sim. O Amazon Neptune oferece suporte à criptografia de dados em trânsito usando TLS (HTTPS), incluindo o conjunto de cifras AES-256, para proteger a conexão entre a instância de banco de dados e o aplicativo. No momento, esse recurso não é habilitado por padrão, mas é possível configurá-lo por meio do parameter group do cluster. O Amazon Neptune também permite criptografar bancos de dados usando chaves gerenciadas por meio do AWS Key Management Service (KMS). Em uma instância de banco de dados em execução com a criptografia do Amazon Neptune, os dados ociosos mantidos no armazenamento subjacente são criptografados, bem como os backups automáticos, as réplicas de leitura e os snapshots desses dados no mesmo cluster. A criptografia e a descriptografia são processadas de forma transparente. Para obter mais informações sobre o uso do KMS com o Amazon Neptune, consulte o Guia do usuário do Amazon Neptune.

P: Posso criptografar um banco de dados não criptografado existente?

No momento, não há suporte para a criptografia de uma instância do Neptune não criptografada. Para usar a criptografia do Amazon Neptune para um banco de dados descriptografado existente, crie uma nova instância de banco de dados com criptografia habilitada e migre seus dados para ela.

P: Como posso acessar meu banco de dados do Amazon Neptune?

O acesso aos bancos de dados do Amazon Neptune deve ser feito através da porta HTTP/HTTPS inserida na criação do banco de dados. Isso é feito para proporcionar uma camada adicional de segurança para seus dados. Instruções detalhadas sobre como se conectar ao seu banco de dados do Amazon Neptune são fornecidas no Guia do usuário do Amazon Neptune.

Saiba mais sobre a definição de preço do Amazon Neptune

Acesse a página de definição de preço