Pular para o conteúdo principal

Amazon Neptune

Alta performance e escalabilidade

Abrir tudo

Com algumas etapas no AWS Management Console, você pode escalar os recursos de computação e memória que potencializam ou diminuem seu cluster de produção. Com o banco de dados Neptune, você pode escalar criando novas instâncias de réplica do tamanho desejado ou removendo instâncias. As operações de escalabilidade de computação normalmente são concluídas em alguns minutos.

O banco de dados Neptune usa uma arquitetura de armazenamento compartilhada e distribuída que cresce automaticamente, à medida que as suas necessidades de armazenamento de dados também crescem. Os dados do Neptune são armazenados em um volume de cluster com alta disponibilidade em várias zonas (multi-AZ). Quando um cluster do banco de dados do Neptune é criado, ele é alocado para um segmento único de 10 GiB. À medida que o volume de dados aumenta e excede o armazenamento atualmente alocado, o Neptune expande automaticamente o volume do cluster com a adição de novos segmentos. Um volume de cluster do Neptune pode crescer até um tamanho máximo de 128 TiB nas regiões com suporte da AWS, exceto China e GovCloud. Você não precisa provisionar armazenamento em excesso para seu banco de dados para lidar com o crescimento futuro.

Com o banco de dados Neptune, você pode aumentar a throughput de leitura para oferecer suporte aos altos volumes de solicitações das aplicações criando até 15 réplicas de leitura de banco de dados. As réplicas do Neptune compartilham o mesmo armazenamento subjacente que a instância de origem, reduzindo os custos e evitando a necessidade de fazer gravações em nós de réplica. Isso libera mais capacidade de processamento para atender às solicitações de leitura e reduz a defasagem das réplicas para menos de dez milissegundos, na maioria das vezes. Além disso, o Neptune oferece um único endpoint para consultas de leitura. Dessa forma, o aplicativo pode se conectar sem necessidade de acompanhar as réplicas adicionadas e removidas.

O Neptune é um banco de dados de grafos de alta performance criado para uso específico. O Neptune armazena e navega de forma eficiente nos dados de grafos e usa uma arquitetura de escalabilidade vertical otimizada na memória para permitir rapidez na avaliação de consultas em grafos grandes. Com o banco de dados Neptune, você pode usar o Gremlin, o openCypher ou o SPARQL para executar consultas avançadas, fáceis de criar e com boa performance. Com o Neptune Analytics, você pode usar o openCypher.

Alta disponibilidade e resiliência

Abrir tudo

O banco de dados global do Amazon Neptune foi projetado para aplicativos distribuídos globalmente, permitindo que um único banco de dados do Neptune abranja várias regiões. Ele replica os dados de grafos com pouco impacto no desempenho do banco de dados, permite leituras locais rápidas com baixa latência em cada região e oferece recuperação de desastres em caso de interrupções em toda a região.

Em caso de falha de instância, o Neptune executa automaticamente um failover para uma das até 15 réplicas do Neptune criadas em uma das três AZs. Em caso de falha, se nenhuma réplica do Neptune tiver sido provisionada, ele tentará criar automaticamente uma instância de banco de dados para você.

A integridade do banco de dados do Neptune e de sua instância do EC2 subjacente é monitorada continuamente. Se a instância que sustenta o banco de dados falhar, o banco de dados e seus processos associados serão reiniciados automaticamente. A recuperação do Neptune não exige a reprodução dos logs de repetição, potencialmente demorada. Dessa forma, os tempos de reinício de instância são normalmente de 30 segundos ou menos. O serviço também isola o cache do buffer do banco de dados dos processos do banco de dados, permitindo que o cache sobreviva a uma reinicialização do banco de dados.

Para o Banco de Dados do Neptune, cada fragmento de 10 GiB do seu volume de banco de dados fica resiliente em três zonas de disponibilidade. O banco de dados Neptune usa armazenamento tolerante a falhas e trata de forma transparente a perda de até duas cópias de dados, sem afetar a disponibilidade de gravação do banco de dados, bem como a perda de até três cópias sem afetar a disponibilidade de leitura. Além disso, o armazenamento do Banco de Dados do Neptune conta com recuperação automática. Os blocos de dados e os discos são verificados continuamente para detecção de erros e substituição automática.

O recurso de backup no Amazon Neptune permite a recuperação point-in-time da sua instância. Isso permite que você restaure seu banco de dados a qualquer segundo durante o período de retenção, até os últimos cinco minutos. O período de retenção do backup automático pode ser configurado para até 35 dias. Os backups automatizados são armazenados no Amazon S3, que foi projetado para oferecer durabilidade de 99,999999999%. Os backups do Neptune são automáticos, incrementais e contínuos, e não afetam a performance do banco de dados.

Os snapshots do banco de dados são backups iniciados pelo usuário da instância armazenada no Amazon S3 que serão mantidos até que você explicitamente os exclua. Eles usam os snapshots incrementais automáticos para reduzir o tempo e o armazenamento necessários. É possível criar uma nova instância com base em um snapshot de banco de dados a qualquer momento.

Altamente seguro

Abrir tudo

O Neptune Database é executado na Amazon Virtual Private Cloud (Amazon VPC), que permite isolar seu banco de dados em sua própria rede virtual e conectar-se à sua infraestrutura de TI local usando VPNs IPsec criptografadas padrão do setor. Além disso, usando a configuração da VPC do Neptune, é possível configurar as definições do firewall e controlar o acesso de rede às instâncias de banco de dados.

O Neptune é integrado ao AWS Identity and Access Management (IAM) e oferece a capacidade de controlar as ações que seus usuários e grupos do IAM podem realizar em recursos específicos do Neptune, incluindo instâncias de banco de dados, snapshots de banco de dados, grupos de parâmetros de banco de dados, assinaturas de eventos de banco de dados e grupos de opções de banco de dados. Além disso, é possível atribuir tags aos recursos do Neptune e controlar as ações que seus usuários e grupos do IAM podem executar em grupos de recursos que tenham a mesma tag (e valor de tag). Por exemplo, você pode configurar suas regras do IAM para assegurar que os desenvolvedores possam modificar as instâncias de banco de dados de “desenvolvimento”, mas apenas administradores do banco de dados possam modificar e excluir instâncias de banco de dados de “produção”.

O Neptune fornece acesso minucioso aos usuários que recuperam as APIs do plano de dados do Neptune com o IAM para executar ações de dados de grafos, como ler, gravar e excluir dados de grafos, e ações que não são de dados de grafos, como iniciar e monitorar as atividades do Amazon Neptune ML e verificar o status das atividades contínuas do plano de dados. Por exemplo, crie uma política com acesso "somente leitura" para analistas de dados que não precisam manipular dados de grafos, uma política com acesso de "leitura e gravação" para desenvolvedores que usam grafos nas aplicações e uma política para cientistas de dados que precisam acessar comandos do Neptune ML.

O Neptune é compatível com criptografia em trânsito com o TLS versão 1.2. O Neptune permite que você criptografe seus bancos de dados usando chaves que você cria e controla por meio do AWS Key Management Service (AWS KMS). Em uma instância de banco de dados em execução com a criptografia do Neptune, os dados em repouso 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.

O Neptune permite registrar eventos de banco de dados em logs com impacto mínimo no desempenho do banco de dados. Posteriormente, os logs podem ser analisados para fins de gerenciamento de banco de dados, segurança, governança, conformidade normativa e outras finalidades. Você também pode monitorar a atividade enviando registros de auditoria para o Amazon CloudWatch.

O Neptune está no escopo de mais de 20 padrões internacionais de conformidade, desde o FedRAMP (Moderate e High) até o SOC (1, 2, 3), além de ser qualificado para a HIPAA. A lista completa de padrões com os quais o Neptune está em conformidade pode ser encontrada na lista do AWS Services in Scope by Compliance Program.

Economia

Abrir tudo

Não há compromissos antecipados com o Neptune. Você paga um valor por hora para cada instância que executar ou pelos recursos do banco de dados que consumir para a tecnologia sem servidor. Quando você não precisar mais de uma instância de banco de dados do Neptune, poderá excluí-la. Não é necessário provisionar armazenamento excedente como margem de segurança. Você paga apenas pelo armazenamento realmente consumido. Para ver mais detalhes, visite a página de preços do Neptune.

Totalmente gerenciado

Abrir tudo

Você pode começar a usar o Neptune lançando uma nova instância de banco de dados do Neptune ou um gráfico do Neptune Analytics usando o AWS Management Console. As instâncias de banco de dados do Neptune são pré-configuradas com parâmetros e definições adequados para a classe de instâncias de banco de dados selecionada. Você pode iniciar uma instância de banco de dados e conectar sua aplicação em minutos, sem necessidade de configuração adicional. Os grupos de parâmetros de bancos de dados oferecem controle granular e ajuste do seu banco de dados.

O Neptune fornece métricas do CloudWatch para instâncias de banco de dados. É possível usar o console para visualizar mais de 20 das principais métricas operacionais de instâncias de banco de dados, incluindo recursos computacionais, memória, armazenamento, throughput de consultas e conexões ativas.

O Neptune mantém o banco de dados atualizado com os patches mais recentes. Você pode controlar a aplicação de patches na instância por meio do gerenciamento de versões do mecanismo de banco de dados.

O Neptune pode enviar notificações por e-mail ou SMS sobre eventos de banco de dados importantes, como um failover automatizado. Você pode usar o console para assinar diferentes eventos dos bancos de dados associados aos seus bancos de dados no Neptune.

O Neptune oferece suporte a operações de clonagem rápidas e eficientes que permitem clonar clusters de banco de dados de vários terabytes em alguns minutos. A clonagem é útil para diversas finalidades, incluindo desenvolvimento de aplicativos, testes, atualizações de banco de dados e execução de consultas analíticas. A disponibilidade imediata de dados pode acelerar consideravelmente projetos de desenvolvimento e atualização de software, bem como aumentar a precisão das análises de dados.

Você pode clonar um banco de dados do Neptune com apenas algumas etapas no console, sem afetar o ambiente de produção. O clone é distribuído e replicado em três AZs.

IA generativa e ML

Abrir tudo

O Neptune Analytics oferece suporte a algoritmos para a descoberta de caminhos, detecção de comunidades (clusters), identificação de dados importantes (centralidade) e quantificação de semelhanças. Os algoritmos de descoberta de caminhos determinam com eficiência a rota mais curta ou ideal entre dois nós. Os algoritmos de descoberta de caminhos permitem modelar situações do mundo real, como redes rodoviárias ou redes sociais, como nós e bordas interconectados. A descoberta dos caminhos mais curtos ou ideais entre vários pontos é crucial em aplicações como planejamento de rotas para sistemas GPS, otimização da logística e até mesmo na solução de problemas complexos em áreas como biologia ou engenharia.

Os algoritmos de detecção da comunidade calculam grupos ou clusters significativos de nós em uma rede, revelando padrões e estruturas ocultos que podem fornecer informações sobre a organização e a dinâmica de sistemas complexos. Isso é valioso em áreas como análise de redes sociais, biologia (para identificar módulos funcionais em redes de interação proteína-proteína) e até mesmo para entender o fluxo de informações e a propagação da influência em vários domínios.

Os algoritmos de centralidade ajudam a identificar os nós mais influentes ou importantes em uma rede, fornecendo informações sobre os principais participantes ou pontos críticos de interação. Isso é valioso em áreas como análise de redes sociais, onde ajuda a identificar pessoas influentes, ou em redes de transporte, onde ajuda a identificar centros cruciais para roteamento eficiente e alocação de recursos.

Os algoritmos de grafos por similaridade permitem comparar e analisar as semelhanças ou diferenças estruturais entre diferentes estruturas de grafos, permitindo insights sobre relacionamentos, padrões e semelhanças em diversos conjuntos de dados. Isso é inestimável em vários campos, como biologia (para comparar estruturas moleculares), redes sociais (para identificar comunidades semelhantes) e sistemas de recomendação (para sugerir itens semelhantes com base nas preferências do usuário).

O Neptune ML é desenvolvido pelo SageMaker, que usa GNNs, uma técnica de ML criada especificamente para gráficos, para fazer previsões rápidas e precisas usando dados gráficos. Com o Neptune ML, é possível melhorar a exatidão da maioria das previsões de grafos em cerca de 50% em comparação com previsões que utilizam métodos sem grafos.

Fazer previsões exatas em grafos com bilhões de relacionamentos pode ser difícil e demorado. As abordagens de ML existentes, como o XGBoost, não podem operar de modo eficaz em grafos porque foram projetadas para dados tabulares. Como resultado, a utilização desses métodos em grafos pode demorar, exigir habilidades especializadas de desenvolvedores e produzir previsões abaixo do ideal.

Produtividade do desenvolvedor

Abrir tudo

Os grafos de propriedades são populares porque são familiares aos desenvolvedores habituados a modelos relacionais. A linguagem transversal Gremlin oferece uma forma rápida de percorrer transversalmente gráficos de propriedades. O Neptune oferece suporte ao modelo de grafos de propriedades usando a linguagem transversal de código aberto Apache TinkerPop Gremlin. Além disso, disponibiliza um servidor de Gremlin Websockets compatível com TinkerPop versão 3.3. Com o Neptune, você consegue criar rapidamente consultas transversais rápidas do Gremlin em gráficos de propriedades. Os aplicativos Gremlin existentes podem usar facilmente o Neptune mediante a alteração da configuração do serviço do Gremlin para que aponte para uma instância do Neptune.

O Resource Description Framework (RDF) é popular porque oferece flexibilidade para modelar domínios de informações complexos. Existem vários conjuntos de dados públicos ou gratuitos disponíveis no RDF, incluindo o Wikidata e o PubChem, um banco de dados de moléculas químicas. O Neptune suporta os padrões da Web Semântica do W3C de RDF 1.1 e SPARQL 1.1 (Consulta e Atualização) e fornece um endpoint HTTP REST que implementa o Protocolo SPARQL 1.1. Com o Neptune, você pode usar facilmente o endpoint SPARQL para aplicações de grafos novas e existentes.

O Neptune oferece suporte à criação de aplicações de grafos usando o openCypher, atualmente uma das linguagens de consulta mais populares para desenvolvedores que trabalham com bancos de dados de grafos. Desenvolvedores, analistas de negócios e cientistas de dados gostam da sintaxe inspirada em SQL do openCypher porque fornece uma estrutura habitual para compor consultas para aplicações de grafos. Para o banco de dados Neptune, as linguagens de consulta openCypher e Gremlin podem ser usadas juntas nos mesmos dados de grafos de propriedades. O suporte para openCypher é compatível com o protocolo Bolt para continuar executando aplicações que usam o protocolo Bolt para se conectar ao Neptune.

O Neptune oferece suporte ao carregamento em massa rápido e paralelo de dados de grafos de propriedades armazenados no Amazon S3. Você pode usar uma interface REST para especificar a localização dos dados no Amazon S3. Os dados são carregados em nós e bordas usando um formato CSV delimitado. Consulte a documentação de carregamento em massa do gráfico de propriedades do Neptune para obter mais detalhes.

O Banco de Dados do Neptune oferece suporte ao carregamento em massa rápido e paralelo de dados RDF armazenados no Amazon S3. Você pode usar uma interface REST para especificar a localização dos dados no Amazon S3. Há suporte para serializações N-Triples (NT), N-Quads (NQ), RDF/XML e Turtle RDF 1.1. Consulte a documentação de carregamento em massa do Neptune RDF para obter mais detalhes.