Introdução
Com o Amazon Neptune, você pode criar aplicativos gráficos sofisticados e interativos que podem consultar bilhões de relacionamentos em milissegundos. 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 as linguagens populares de consultas com grafos Apache TinkerPop Gremlin, SPARQL e openCypher do W3C para executar consultas sofisticadas, fáceis de criar e com boa performance nos dados conectados. Assim, a complexidade do código é reduzida de forma significativa, o que permite criar rapidamente aplicações que processam relacionamentos.
O Neptune tem um SLA de 99,9%, aumentando a performance e a disponibilidade do banco de dados ao integrar totalmente o mecanismo de banco de dados com uma camada de armazenamento virtualizada em SSD criada especificamente para workloads de banco de dados. O armazenamento do Neptune oferece tolerância a falhas e recuperação automática. As falhas de disco são corrigidas no segundo plano, sem perda de disponibilidade do banco de dados. O Neptune foi projetado para detectar automaticamente falhas de banco de dados e reiniciar sem necessidade de recuperação de falhas ou de recriar o cache do banco de dados. Se a instância inteira falhar, o Neptune executará automaticamente um failover para uma das 15 réplicas de leitura.
Você pode iniciar rapidamente uma instância de banco de dados do Neptune com alguns cliques no console do Neptune. O Neptune escala automaticamente o armazenamento, aumentando-o e redistribuindo as E/Ss para fornecer performance consistente sem precisar de provisionamento excessivo.
Alta performance e escalabilidade
Opção de tecnologia sem servidor
O Amazon Neptune com tecnologia sem servidor é uma opção de implantação sob demanda que ajusta automaticamente a capacidade do banco de dados de acordo com as necessidades da aplicação. O Neptune com tecnologia sem servidor escala as workloads do banco de dados de grafos instantaneamente para milhares de consultas. O Neptune com tecnologia sem servidor ajusta a capacidade para fornecer a quantidade de recursos do banco de dados que o aplicativo precisa, e você paga somente pela capacidade que consumir, economizando até 90% em custos do banco de dados para a capacidade do horário de pico.
Alto throughput e baixa latência para consultas com grafo
O Neptune é um mecanismo de banco de dados de grafos de alta performance, criada para esse fim 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 Neptune, você pode usar o Gremlin, o openCypher ou o SPARQL para executar consultas avançadas, fáceis de criar e com boa performance.
Escalabilidade fácil de recursos computacionais do banco de dados
Com algumas etapas no Console de gerenciamento da AWS, você pode aumentar ou reduzir a escala dos recursos de computação e memória que sustentam o cluster de produção por meio da criação de novas instâncias de réplica com o tamanho desejado ou da remoção de instâncias. As operações de escalabilidade de computação normalmente são concluídas em alguns minutos.
Armazenamento com escalabilidade automática
O 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 que tem alta disponibilidade multi-AZ Quando um cluster do banco de dados do Neptune é criado, ele é alocado para um segmento único de 10 GB. À 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 aumentar para um tamanho máximo de 128 tebibytes (TiB) nas regiões com suporte, com exceção da China e GovCloud. Você não precisa provisionar armazenamento em excesso para o banco de dados a fim de lidar com o crescimento futuro.
Réplicas de leitura de baixa latência
Aumente o throughput de leitura para oferecer suporte a altos volumes de solicitações de aplicativos 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.
Alta disponibilidade e resiliência
Monitoramento e reparo de instâncias
A integridade do banco de dados do Neptune e de sua instância 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. Isso 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.
Implantações Multi-AZ com réplicas de leitura
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 zonas de disponibilidade. Em caso de falha, se nenhuma réplica do Neptune foi provisionada, ele tentará criar automaticamente uma nova instância de banco de dados.
Armazenamento tolerante a falhas e com correção automática
Cada bloco de 10 GB do volume de banco de dados é replicado seis vezes em três zonas de disponibilidade. O 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 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.
Backup automático, contínuo, incremental e restauração point-in-time
O recurso de backup do Neptune permite a recuperação point-in-time da instância. Isso permite que você restaure o banco de dados para 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 automáticos são armazenados no Amazon S3, que foi projetado para ter 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.
Snapshots 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.
Banco de dados global
O Banco de Dados Global do Amazon Neptune foi projetado para aplicativos distribuídos globalmente, permitindo que um único banco de dados Neptune abranja várias regiões da AWS. Ele replica os dados de grafos com pouco impacto na performance 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.
APIs de gráfico aberto
Suporte a Apache TinkerPop Gremlin para grafos de propriedades
Os grafos de propriedades são muito usados porque são conhecidos dos desenvolvedores habituados a modelos relacionais. A linguagem transversal Gremlin oferece uma forma rápida de percorrer transversalmente gráficos de propriedades. O Amazon Neptune oferece suporte ao modelo de gráfico de propriedades usando a linguagem transversal de código aberto Apache TinkerPop Gremlin. Além disso, disponibiliza um servidor de Gremlin Websockets que oferece suporte ao 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.
Oferece suporte ao Resource Description Framework (RDF) 1.1 do W3C e ao SPARQL 1.1
O RDF é popular porque oferece flexibilidade para a modelagem de domínios de informações complexos. Há vários conjuntos de dados gratuitos ou públicos disponíveis em RDF, incluindo Wikidata e PubChem, um banco de dados de moléculas químicas. O Amazon Neptune oferece suporte aos padrões Semantic Web do W3C para RDF 1.1 e SPARQL 1.1 (consulta e atualização) e disponibiliza 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.
Suporte ao openCypher v9 para grafos de propriedades
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. 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 a executar aplicações que usam o protocolo Bolt para se conectar ao Neptune
Machine learning
O Amazon Neptune machine learning (ML) é um novo recurso do Neptune desenvolvido pelo Amazon SageMaker que usa redes neurais de grafos (GNNs – Graph Neural Networks), uma técnica de ML desenvolvida especificamente para grafos, que faz previsões fáceis, rápidas e mais precisas usando dados de grafos. Com o Neptune ML, é possível aprimorar a exatidão das principais 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 nos grafos pode demorar, exige habilidades especializadas de desenvolvedores e produz previsões abaixo do ideal.
Altamente seguro
Isolamento da rede
O Neptune é executado na Amazon VPC, que permite que você isole seu banco de dados em sua própria rede virtual e conecte-o à sua infraestrutura de TI on-premises 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.
Permissões a nível de recurso
O Amazon 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 AWS 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 etiquetas 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 etiqueta (e valor de etiqueta). 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”.
Controle de acesso minucioso
O Neptune fornece acesso minucioso aos usuários que recuperam as APIs do plano de dados do Neptune com o AWS Identity and Access Management (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.
Criptografia
O Neptune é compatível com criptografia em trânsito com o TLS versão 1.2. O Neptune permite criptografar bancos de dados usando chaves criadas e controladas pelo AWS Key Management Service (KMS). Em uma instância de banco de dados em execução com a criptografia do 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.
Auditoria avançada
O Amazon Neptune permite registrar eventos de banco de dados em logs com impacto mínimo na performance 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. Também é possível monitorar a atividade enviando logs de auditoria ao Amazon CloudWatch.
Totalmente gerenciados
Mais fácil de usar
Para começar a usar o Neptune, basta iniciar uma nova instância de banco de dados do Neptune usando o Console de Gerenciamento da AWS. 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 seu aplicativo em minutos, sem necessidade de configuração adicional. Os grupos de parâmetros de bancos de dados oferecem controle granular e ajuste fino do seu banco de dados.
Mais fácil de operar
O Neptune facilita a operação de um banco de dados de grafos com alta performance. Com o Neptune, não é necessário criar índices personalizados para dados de grafos. O Neptune oferece limites de tempo e uso de memória para reduzir o impacto de consultas com consumo excessivo de recursos.
Monitoramento e métricas
O Neptune gera métricas do Amazon CloudWatch para instâncias de banco de dados. É possível usar o Console de Gerenciamento da AWS para visualizar mais de 20 das principais métricas operacionais de instâncias de banco de dados, incluindo computação, memória, armazenamento, throughput de consultas e conexões ativas.
Correção automática de software
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 de banco de dados por meio do gerenciamento de versão do mecanismo do banco de dados.
Notificações de eventos de banco de dados
O Neptune pode notificar você por e-mail ou SMS sobre eventos de banco de dados importantes, como um failover automatizado. Você pode usar o Console de Gerenciamento da AWS para assinar diferentes eventos dos bancos de dados associados com seus bancos de dados no Amazon Neptune.
Clonagem rápida de banco de dados
O Neptune oferece suporte a operações de clonagem rápidas e eficientes, o que permite clonar clusters de banco de dados de vários terabytes em 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 de gerenciamento da AWS, sem afetar o ambiente de produção. O clone é distribuído e replicado em três zonas de disponibilidade.
Carregamento rápido de dados em massa
Carregamento em massa de grafos de propriedades
O Neptune oferece suporte rápido e paralelo ao carregamento em massa de dados de grafos de propriedades armazenados no S3. Você pode usar uma interface REST para especificar a localização dos dados no S3. Os dados são carregados em nós e bordas usando um formato CSV delimitado. Consulte a documentação de carregamento em massa de grafos de propriedade do Neptune para obter mais detalhes.
Carregamento em massa de RDF
O Neptune oferece suporte ao carregamento em massa rápido e paralelo de dados de RDF armazenados no S3. Você pode usar uma interface REST para especificar a localização dos dados no 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 de RDF do Neptune para obter mais detalhes.
Programas de conformidade
Ampla cobertura do programa de conformidade
O Neptune está no escopo de mais de 20 padrões de conformidade internacionais, desde o FedRAMP (alto e moderado) até o SOC (1, 2, 3), além de ser qualificado para o HIPAA. A lista completa de padrões com os quais o Neptune é compatível está disponível nos Serviços da AWS no escopo por programa de conformidade.
Econômico
Pague somente pelo que usar
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 você 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 obter mais detalhes, acesse a página de Preço do Neptune.

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

Obtenha acesso instantâneo ao nível gratuito da AWS.

Comece a criar com o Amazon Neptune no console de gerenciamento da AWS.