O novo sistema de banco de dados NoSQL da Amazon, Neptune, pode ser usado para criar e executar aplicativos que funcionam com conjuntos de dados altamente conectados. Ele também suporta leitura de réplicas, recuperação ponto-em-tempo, backup contínuo na Amazon S3 e replicação nas zonas de disponibilidade (AZ).
A equipe da Amazon anunciou uma prévia versãodo novo banco de dados no evento AWS re: Invent 2017 Conference.
O Amazon Neptune suporta modelos gráficos populares como o Property Graph e o Framework de Descrição de Recurso padrão do W3C (RDF versão 1.1) e suas respectivas linguagens de consulta Apache TinkerPop Gremlin e SPARQL (especificamente SPARQL Query 1.1, SPARQL Update 1.1 e SPARQL Protocol 2.2). Para RDF, o Neptune suporta quatro serializações: Turtle, N-Triples, N-Quads e RDF / XML.
O núcleo do Amazon Neptune é um mecanismo de banco de dados de grafos proposto para otimizar o armazenamento de grandes conjuntos de relacionamentos e consultar o grafo com menor latência. Está otimizado para realizar consultas a grafos e suporta até 15 réplicas de leituras de baixa latência em três zonas de disponibilidade para dinamizar a capacidade de leitura e executar várias consultas aos grafos por segundo.
O Neptune faz backup contínuo dos dados no Amazon S3 e possui uma recuperação de forma transparente em casos de falhas de armazenamento físico. É um banco de dados totalmente gerenciado e cuida de tarefas gerenciamento do banco de dados, como por exemplo provisionamento de hardware, correções de software, configurações ou backups.
Semelhante a outros bancos de dados gráficos, o Neptune usa elementos de dados gráficos como nós (entidades de dados), arestas (relacionamentos) e propriedades para representar e armazenar dados. Os relacionamentos são armazenados como elementos de primeira ordem no modelo de dados que permitem que os dados sejam diretamente vinculados, melhorando o desempenho das consultas que navegam nas relações dos dados.
Neptune também fornece segurança aos dados com suporte para criptografia em repouso e em trânsito. Existem vários níveis de segurança, incluindo o isolamento de rede usando o Amazon VPC, criptografia de dados em repouso usando o AWS Key Management Service (KMS) e criptografia de dados em trânsito usando TLS. Em uma instância encriptada do Neptune, todas as cópias de dados, incluindo backups automatizados, instantâneos e réplicas no mesmo cluster, são criptografadas. Para obter detalhes sobre todos os recursos, segue a página Neptune Features.
Neptune pode ser usado para implementar casos de uso de grafos, como redes sociais, mecanismos de recomendação, detecção de fraude, gráficos de reconhecimento, ciências da vida e operações de rede /TI.
Como usar Amazon Neptune
Existem dois mecanismos de consulta diferentes que pode ser utilizado com o Amazon Neptune, Gremlin e SPARQL. Para conectar-se Gremlin, pode utilizar o seguinte endpoint:
curl -X POST -d '{"gremlin":"g.V()"}' https://your-neptune-endpoint:8182/gremlin
Se você estiver usando o SPARQL como consulta de grafo, pode conectar-se ao endpoint do SPARQL digitando o seguinte comando no prompt:
curl -G https://your-neptune-endpoint:8182/sparql --data-urlencode 'query=select ?s ?p ?o where {?s ?p ?o}'
Se você estiver interessado em experimentar o novo banco de dados de grafos, é necessário se inscrever na prévia do Amazon Neptune que requer um número de conta AWS para solicitar acesso. Outros recursos úteis do novo de banco de bados gráfico incluem o Guia de Iniciação, Recursos para desenvolvedores e as perguntas frequentes (FAQs).