Perguntas frequentes sobre o Amazon Neptune

Geral

O Amazon Neptune é um serviço que inclui um mecanismo de banco de dados de grafos, mecanismo de banco de dados de análise de grafos, machine learning (ML) de grafos e ferramentas de visualização que podem ser usadas individualmente ou em conjunto. O serviço Neptune facilita o trabalho com dados de grafos na AWS. Com o Amazon Neptune Database, você pode escalar seus grafos com mais de 100.000 consultas por segundo para as aplicações mais exigentes usando um banco de dados de grafos com tecnologia sem servidor projetado para oferecer escalabilidade e disponibilidade superiores. Com o Amazon Neptune Analytics, você pode obter insights e encontrar tendências processando rapidamente grandes quantidades de dados de grafos. É possível obter resultados em segundos invocando algoritmos analíticos de grafos populares

O Amazon Neptune Database fornece um banco de dados de grafos criado especificamente com um conjunto completo de recursos e integrações corporativos. O Neptune Database oferece suporte a aplicações de grafos de missão crítica que exigem alta disponibilidade, recuperação de desastres, escalabilidade dinâmica e outros recursos exigidos pelas aplicações corporativas.

O Neptune Analytics é um mecanismo de banco de dados analítico que permite analisar rapidamente grandes quantidades de dados de grafos para obter insights e encontrar tendências.

O Neptune ML é um novo recurso do Neptune Database que usa redes neurais de grafos (GNNs), uma técnica de ML para grafos, para fazer previsões fáceis, rápidas e mais precisas usando dados de grafos.

O Neptune Database, com as ferramentas de desenvolvedor do Neptune, é a escolha certa para criar sistemas de missão crítica em grande escala. Sistemas como mecanismos de recomendação de produtos, sistemas de gerenciamento de identidade e acesso e sistemas de conformidade geralmente exigem recursos distribuídos geograficamente que estão disponíveis no Neptune Global Database. O Neptune Database armazena dezenas de bilhões de relacionamentos e pode processar centenas de milhares de consultas de grafos interativas por segundo.

O Neptune Analytics, com os cadernos do Neptune, é a escolha certa para interagir com dados para produzir insights. Esses recursos permitem que os usuários interajam com os dados usando ferramentas conhecidas, como Pandas, Jupyter e Python, para descobrir e identificar interações e padrões de comportamento nos dados que são indicativos de fraude, atividades ilegais, oportunidades de otimização e muito mais.

Alguns casos de uso comuns do Neptune Analytics incluem análise efêmera, execução de consultas analíticas de baixa latência, execução de algoritmos de grafos integrados e pesquisa por similaridade vetorial. Com a pesquisa por similaridade vetorial, o Neptune Analytics pode ser usado para criar aplicações de geração aumentada de recuperação (RAG) que pesquisam por meio de representações de dados densas fornecidas por incorporações. Os resultados da pesquisa vetorial podem ser combinados com representações de dados contextualmente conscientes em grafos para fornecer informações contextuais ricas relacionadas a relacionamentos.

O Neptune ML pode ser usado para projetar, construir, otimizar e prever relacionamentos e categorizações usando GNNs de última geração. Para aumentar as tabelas de recursos, o Neptune Analytics pode ser usado para derivar recursos críticos de dados conectados usando algoritmos comuns, como agrupamento em clusters, centralidade e descoberta de caminhos.

Sim. Consulte o SLA do Amazon Neptune.

Neptune Database

Sim. Consulte o SLA do Amazon Neptune. O Banco de Dados do Neptune é compatível com duas linguagens de consulta para o modelo de dados do grafo de propriedades, a linguagem de passagem de grafos Apache TinkerPop Gremlin de código aberto e a linguagem de consulta OpenCypher. Para o modelo de dados Resource Description Framework (RDF), o Neptune é compatível com a linguagem de consulta SPARQL de padrão aberto da W3C.

Sim, cada cluster do Neptune Database pode armazenar dados RDF e dados de grafos de propriedade. O Neptune fornece um endpoint do Gremlin (HTTPS e WebSocket), um endpoint do openCypher (HTTPS e Bolt) e um endpoint REST do protocolo SPARQL 1.1.

Para grafos de propriedade, você pode executar uma consulta do Gremlin ou do openCypher sobre os mesmos dados, independentemente do idioma usado para inserir esses dados. Talvez você ache mais conveniente usar o Gremlin para algumas workloads e o openCypher para outras. Você não pode executar uma consulta para dados de grafos de propriedade (Gremlin ou openCypher) sobre dados RDF ou vice-versa.

O Neptune Database fornece um servidor Gremlin do Apache TinkerPop compatível com conexões HTTPS e WebSocket. Após provisionar uma instância do Neptune, você poderá configurar a aplicação atual do TinkerPop para usar o endpoint fornecido pelo serviço. Consulte também como acessar o grafo com Gremlin.‏

Não, o servidor Gremlin do Neptune oferece suporte a clientes compatíveis com o Apache TinkerPop usando conexões WebSockets e HTTPS REST. A versão mais recente do Neptune Database é compatível com o TinkerPop 3.6.x. Consulte a documentação para obter mais informações.

Com o suporte do Neptune à linguagem de consultas openCypher, você pode mover a maioria das workloads do Cypher ou do Neo4j que usam o protocolo Bolt ou HTTPS para o Neptune. Para obter informações mais detalhadas sobre como migrar uma aplicação openCypher, leia o guia de migração na documentação.

O Neptune fornece um endpoint HTTPS REST que implementa o Protocolo SPARQL 1.1. Depois de provisionar uma instância do serviço, você poderá configurar a aplicação para apontar para o endpoint SPARQL. Consulte também como acessar o grafo com SPARQL.

Não, o endpoint Neptune SPARQL funcionará com qualquer cliente com suporte para o protocolo SPARQL 1.1.

Sim, o Neptune é compatível com ACID, com consistência imediata na instância principal de gravador e consistência eventual nas instâncias da réplica de leitura.

O Neptune Database é um mecanismo de banco de dados de grafos de alta performance, criada para esse fim específico. Para determinados recursos de gerenciamento, como gerenciamento do ciclo de vida de instâncias, criptografia em repouso com chaves do AWS Key Management Service (AWS KMS) e gerenciamento de grupos de segurança, o Neptune utiliza a tecnologia operacional que é compartilhada com o Amazon Relational Database Service (Amazon RDS).

O Neptune Database foi projetado para oferecer suporte a aplicações de grafos que exigem consultas de grafos de alto throughput e baixa latência. Com suporte para até 15 réplicas de leitura, o Neptune Database pode oferecer suporte a centenas de milhares de consultas por segundo.

Sim, o Neptune usa otimização de consultas para consultas Gremlin, openCypher e SPARQL. Para saber mais, consulte The Amazon Neptune alternative query engine (DFE).

Não. O Neptune é um mecanismo de banco de dados de grafos de alta performance e criada para fins específicos. 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.

Consulte nossa página de preços para obter informações atuais sobre preços.

Para obter mais informações sobre todas as regiões da AWS em que o Neptune Database está disponível, consulte a Tabela de regiões da AWS.

Não. A replicação do Neptune Database está incluída no preço. A cobrança é feita com base no armazenamento consumido pelo seu banco de dados na camada de do banco de dados, e não pelo armazenamento consumido na camada de armazenamento virtualizado do Neptune.

O Neptune Database foi projetado para remover 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 1.024 bytes será contado como uma operação de E/S.

Porém, operações de gravação simultâneas com log de transação inferior a 4 KB poderão ser armazenadas juntas em lotes pelo mecanismo de banco de dados do Neptune para otimizar o consumo de E/S. Diferentemente dos mecanismos de banco de dados tradicionais, o 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.

O armazenamento mínimo é de 10 GiB. Com base na utilização do seu banco de dados, o seu armazenamento do Neptune aumentará automaticamente até 128 TiB, em incrementos de 10 GiB, sem afetar a performance do banco de dados. Não há necessidade de provisionar antecipadamente o armazenamento.

Você pode escalar os recursos computacionais alocados para sua instância de banco de dados no Console de Gerenciamento da AWS selecionando a instância de banco de dados desejada e escolhendo o botão Modificar. Os recursos de memória e de CPU são modificados alterando a classe da sua instância de banco de dados.

Quando sua classe de instância de banco de dados é modificada, suas alterações solicitadas serão aplicadas durante sua janela de manutenção especificada. Como alternativa, é possível 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.

É possível aumentar ou reduzir automaticamente a escala da capacidade do seu banco de dados verticalmente com o Amazon Neptune Sem Servidor. O Neptune Sem Servidor permite executar e escalar instantaneamente workloads de grafos sem necessidade de gerenciar e otimizar a capacidade. O Neptune Sem Servidor determina e provisiona automaticamente os recursos de computação e memória para executar o banco de dados de grafos e escala a capacidade com base na evolução dos requisitos das workloads para manter uma performance consistente.

Sim, o Neptune é compatível com escalabilidade automática de réplicas de leitura de instâncias. Você pode configurar a escalabilidade automática para adicionar ou remover automaticamente réplicas de leitura em resposta a mudanças em seus requisitos de conectividade ou workload. Para obter mais informações, consulte a documentação.

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

Sim, e não há impacto na performance durante a criação de 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.

O Neptune Database mantém automaticamente cópias dos seus dados em três zonas de disponibilidade e tentará recuperar automaticamente o 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 Neptune, será possível restaurá-los de um snapshot de banco de dados ou realizar uma operação de restauração para um ponto anterior no tempo 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.

Você pode escolher criar um snapshot de banco de dados final ao excluir a sua instância de banco de dados. Se fizer isso, poderá usar o snapshot de banco de dados para restaurar a instância de banco de dados excluída posteriormente. O Neptune retém esse snapshot de banco de dados final criado pelo usuário junto com todos os outros snapshots de bancos de dados criados manualmente após a instância de banco de dados ser excluída. Apenas snapshots bancos de dados são retidos após a exclusão da instância de banco de dados (por exemplo, os backups automáticos criados para uma restauração para um ponto anterior no tempo não são mantidos).

Sim. O Neptune permite criar snapshots de bancos de dados que podem ser usados posteriormente para restaurar um banco de dados. É possível 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 banco de dados contendo seus dados (públicos). É possível usar este recurso para compartilhar dados entre seus vários ambientes (produção, desenvolvimento/teste, preparação e mais) que possuem contas da AWS diferentes, como também manter backups de todos os seus dados seguros em uma conta separada para o caso de sua conta da AWS principal sofrer uma ameaça em algum momento.

Não há cobrança pelo compartilhamento de snapshots entre contas. No entanto, pode 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 os preços do Amazon Neptune.

Não oferecemos suporte ao compartilhamento automáticos de snapshots de bancos de dados. Para compartilhar um snapshot automático, você deve criar manualmente uma cópia do snapshot e, então, compartilhar a cópia.

É possível 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.

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

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

Sim, você pode compartilhar snapshots criptografados do banco de dados do Neptune.

Não, os snapshots do Neptune só podem ser usados dentro do serviço.

Um cluster do Neptune Database só pode ser criado em uma Amazon VPC que tenha pelo menos duas sub-redes em pelo menos duas zonas de disponibilidade. Ao distribuir suas instâncias de cluster em pelo menos duas zonas de disponibilidade, o Neptune ajuda a garantir que haja instâncias disponíveis em seu cluster de banco de dados no caso improvável de uma falha na zona de disponibilidade. O volume do cluster do seu cluster do Neptune Database sempre abrange três zonas de disponibilidade para fornecer armazenamento durável com menos possibilidade de perda de dados. O Neptune foi 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 Neptune também conta com recuperação automática. Os blocos e discos de dados são varridos continuamente em busca de erros e corrigidos automaticamente.

Ao contrário de outros bancos de dados, depois de uma falha, o Neptune não precisa reproduzir o log de reconstruçã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 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.

O Amazon Neptune é compatível com réplicas de leitura que compartilham o mesmo volume subjacente da instância principal. As atualizações feitas pela instância principal são visíveis para todas as réplicas do Amazon Neptune. Um cluster do Neptune pode ter uma instância de gravador e até 15 réplicas de leitura. No caso de uma falha na instância do gravador, uma réplica de leitura será automaticamente promovida para uma instância do gravador.

Sim, o Banco de Dados do Neptune é compatível com replicação entre regiões mediante a configuração do cluster do Neptune para usar o Banco de Dados Global do Neptune.

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 Neptune Database promoverá a réplica com a maior prioridade para principal. Se houver contenção entre duas ou mais réplicas na mesma camada de prioridade, o Neptune promoverá a réplica que tiver o mesmo tamanho da instância principal.

É possível modificar a camada de prioridade para uma instância a qualquer momento. Um failover não é acionado apenas com a modificação de camadas de prioridade.

É possível atribuir camadas de prioridade mais baixas para réplicas que você não deseja promover para a instância principal. No entanto, se as réplicas de prioridade mais alta no cluster não estiverem íntegras ou disponíveis por alguma razão, o Neptune promoverá a réplica de prioridade mais baixa.

É possível adicionar réplicas do Neptune, as quais compartilham o mesmo armazenamento subjacente da instância principal. Qualquer réplica do 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, basta criar de 1 a 15 réplicas. O Neptune as incluirá automaticamente na seleção principal de failover no caso de interrupção de um banco de dados.

O failover é gerenciado automaticamente pelo Neptune Database para que suas aplicações possam retomar as operações do banco de dados o mais rápido possível sem intervenção administrativa manual. Se você tiver uma réplica do Neptune, na mesma zona de disponibilidade ou em outra, ao fazer o failover, o Neptune transforma o registro de nome canônico (CNAME) do endpoint primário do banco de dados em uma réplica íntegra, que por sua vez é promovida para se tornar a nova primária. 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 Neptune (como 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.

O Neptune Database 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 Neptune Database. Em média, o failover é concluído em até 30 segundos. Além disso, o tráfego de leitura atendido pelas réplicas do Neptune Database será interrompido brevemente.

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.

Sim, todas as instâncias do Amazon Neptune Database devem ser criadas em uma VPC. Com o Amazon VPC, é possível definir uma topologia de rede virtual que lembra muito uma rede tradicional que você poderá operar no seu próprio Datacenter. Isso oferece a você controle total sobre quem acessa seus bancos de dados do Neptune.

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

O acesso aos bancos de dados do Neptune deve ser feito por meio da porta HTTPS fornecida na criação do banco de dados dentro da sua VPC. Isso é feito para proporcionar uma camada adicional de segurança para seus dados. Instruções detalhadas sobre como se conectar ao Banco de Dados do Neptune são fornecidas no Guia do usuário do Amazon Neptune.

Neptune Analytics

É possível usar o openCypher, um projeto de código aberto que facilita o uso da linguagem Cypher para processamento de grafos, invocando os algoritmos do Neptune Analytics, e para pesquisa por similaridade vetorial.

O Neptune Analytics é adequado para consultas de grafos que acessam grandes partes de um grafo ou grafos inteiros. O Neptune Analytics é um mecanismo na memória e pode carregar esses grafos grandes na memória para fornecer uma resposta em questão de segundos. Além disso, o Neptune Analytics pode atender a milhares de consultas analíticas por segundo usando uma biblioteca de algoritmos de análise de grafos populares para operações como classificar influenciadores sociais, detectar grupos em busca de fraudes ou encontrar padrões na atividade da rede. Para aplicações de IA generativas, o Neptune Analytics pode armazenar incorporações vetoriais e fornecer pesquisas de similaridade vetorial.

É possível selecionar um cluster existente do Neptune como fonte de dados, o qual será automaticamente carregado no Neptune Analytics.

O Neptune Analytics oferece suporte a 12 algoritmos para localização de caminhos, detecção de comunidades (agrupamento em clusters), identificação de dados importantes (centralidade) e quantificação de semelhanças. Os algoritmos de localização de caminhos são usados para casos de uso, como planejamento de rotas para otimização da cadeia de suprimentos, enquanto algoritmos de centralidade, como page rank, identificam os vendedores mais influentes em um grafo. Da mesma forma, algoritmos como componentes conectados, clustering e algoritmos de centralidade podem ser usados em casos de uso de detecção de fraudes para determinar se a rede conectada é um grupo de amigos ou um anel de fraude formado por um conjunto de fraudadores coordenados.

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

O Neptune Analytics oferece suporte a um índice de pesquisa vetorial em incorporações (até 65.000 dimensões) armazenadas em seus dados de grafos.

O Neptune Analytics oferece suporte a um índice de pesquisa vetorial em incorporações armazenadas em seus dados de grafos.

Não, você não precisa de um banco de dados de vetores separado com o Neptune Analytics. O Neptune Analytics oferece suporte a um índice de pesquisa vetorial em incorporações (até 65.000 dimensões) armazenadas em seus dados de grafos. O Neptune Analytics fornece uma pesquisa vetorial eficiente que pode ser chamada diretamente da linguagem de consultas openCypher usada para escrever suas consultas gráficas.

O Neptune Analytics armazena os vetores e suporta a Hierarchical Navigable Small Worlds (HNSW) para realizar indexação vetorial e pesquisa por similaridade. Você deverá usar um banco de dados de vetores separado se quiser usar diferentes algoritmos de pesquisa de indexação e similaridade ou se quiser usar vários índices criados em propriedades diferentes.

Sim, você pode usar o Neptune Analytics na Amazon VPC. Para acesso privado, é possível criar um grafo com o “acesso público” desativado (padrão) e especificar as sub-redes em uma VPC. O Neptune Analytics criará um endpoint de interface da VPC gerenciado pelo solicitante por grafo em sua VPC. Você poderá anexar grupos de segurança e políticas de endpoint aos endpoints, mas não poderá excluir os endpoints. Tarifas padrão de endpoint da interface da VPC serão aplicadas.

Sim. Opcionalmente, você pode habilitar um endpoint público específico do grafo para se conectar ao grafo pela Internet. Com o Neptune Analytics, todos os clientes devem se autenticar, todas as solicitações precisam ser assinadas pelo SigV4 e todas as conexões devem usar o ID do grafo para interagir com ele.

Sim, o Neptune Analytics oferece implantações Multi-AZ com maior disponibilidade e durabilidade. Por padrão, ele provisiona um standby a quente em uma zona de disponibilidade separada. Com um standby a quente, o tempo de failover é da ordem de segundos. Sem um standby, o serviço fornece uma nova capacidade computacional subjacente em questão de minutos.

Consulte a página de preços do Neptune para obter informações atualizadas.

Para obter mais informações sobre as regiões em que o Neptune Analytics está disponível, consulte a tabela de Regiões da AWS.

Neptune ML

O Gremlin e o SPARQL são compatíveis com o Neptune ML.

O Neptune ML fornece classificação de nós, classificação multiclasse, regressão de nós, classificação de borda, classificação de classe única, regressão de borda e previsão de link (borda). Para obter mais detalhes, visite o Guia do usuário do Neptune.

Os detalhes dos preços podem ser encontrados na página de preços do Neptune.