Conceitos básicos do Amazon Neptune

Os bancos de dados gráficos, como o Amazon Neptune, foram criados especificamente para armazenar relacionamentos e navegar por eles. Esses bancos de dados são vantajosos em relação aos bancos de dados relacionais em casos de uso como redes sociais, mecanismos de recomendação e detecção de fraudes, onde é necessário criar relacionamentos entre os dados e consultar rapidamente esses relacionamentos. Há muitos desafios na criação desse tipo de aplicativos usando um banco de dados relacional. São necessárias várias tabelas com várias chaves estrangeiras. As consultas SQL para navegar nesses dados exigem consultas aninhadas e associações complexas que ficam rapidamente difíceis de controlar. Além disso, a performance das consultas sofre com o crescimento dos dados com o tempo. No re:Invent 2018, nós apresentamos um ponto de partida para bancos de dados de gráficos que oferece mais informações e mais detalhes.

O Neptune usa estruturas gráficas como nós (entidades de dados), bordas (relacionamentos) e propriedades para representar e armazenar dados. Os relacionamentos são armazenados como cidadãos de primeira ordem no modelo de dados. Isso permite que os dados dos nós sejam vinculados diretamente, aprimorando drasticamente a performance de consultas que navegam em relacionamentos nos dados. A performance interativa do Neptune em grande escala possibilita um amplo conjunto de casos de uso de gráficos.

Se você já tiver seus dados em um modelo grafo, é fácil começar a usar o Amazon Neptune. Você pode carregar dados nos formatos CSV ou RDF e começar a escrever consultas gráficas com o Gremlin do Apache TinkerPop, SPARQL ou openCypher. Você pode usar a documentação de conceitos básicos ou visualizar o AWS Online Tech Talk nos links abaixo. Consolidamos as Práticas recomendadas para o Amazon Neptune. 

 
Uma vez que o Amazon Neptune suporta APIs de gráficos e linguagens de consulta abertas, nós apresentamos os links para documentação externa para o Gremlin, SPARQL e openCypher. Clientes que usam o Gremlin com Neptune muitas vezes consultam o livro online, Practical Gremlin: An Apache TinkerPop Tutorial, como uma referência útil para aumentar a Documentação do Apache TinkerPop. Para clientes que usam RDF e SPARQL com Neptune, a Visão geral do SPARQL 1.1 do World Wide Web Consortium é um guia útil. O openCypher é uma linguagem de consulta declarativa para grafos de propriedades que foi originalmente desenvolvida pela Neo4j, depois de código aberto em 2015, e contribuiu para o projeto openCypher sob uma licença de código aberto Apache 2. Sua sintaxe está documentada no Cypher Query Language Reference, Versão 9.

Se você tiver interesse em entender como visualizar seus dados em formato gráfico, está disponível no GitHub a apresentação Working Backwards to your Graph Data Model and Queries with Amazon Neptune, feita no re:Invent 2018, junto com um código de exemplo.

Há outras amostras e exemplos disponíveis para ajudar você com os conceitos básicos. Nós temos um código de exemplo para você visualizar seu gráfico no Neptune. Nós temos uma aplicação do ETL IMDB no Neptune usando Aws Glue para testar a consulta gráfica e encontrar "Six Degrees of Kevin Bacon". Nós temos um exemplo de mecanismo de recomendações que mostra como usar a filtragem colaborativa.

Se você estiver interessado em habilitar o GraphQL para acessar o Amazon Neptune, há um exemplo de aplicação mostrando como usar o AWS Appsync GraphQL e o Amazon Neptune.

Se você quiser migrar para o Amazon Neptune, há a apresentação no re:Invent 2018, Migrating to Amazon Neptune. Nós também temos um utilitário para converter dados do GraphML para o formato Neptune CSV, e há uma biblioteca do Python para ajudá-lo a escrever para o Neptune a partir de tarefas do Aws Glue.

Suas perguntas respondidas

Acesse a página de perguntas frequentes sobre o Amazon Neptune.

Saiba mais 
Cadastre-se para obter uma conta gratuita

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

Cadastrar-se 
Comece a criar no console

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

Fazer login