Conceitos básicos do Amazon Neptune - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceitos básicos do Amazon Neptune

O Amazon Neptune é um serviço de banco de dados gráfico totalmente gerenciado que pode ser dimensionado para lidar com bilhões de relacionamentos e permite consultá-los com latência de milissegundos, a um baixo custo para esse tipo de capacidade.

Se você está procurando informações mais detalhadas sobre Neptune, consulteVisão geral dos recursos do Amazon Neptune.

Se você já conhece gráficos, vá paraUsar blocos de anotações de gráfico. Ou, se você deseja criar um banco de dados do NeptuneUsar umAWS CloudFormationStack para criar um cluster de banco de dados Neptune.

Caso contrário, talvez você queira saber um pouco mais sobre bancos de dados gráficos antes de começar.

O queéum banco de dados gráfico?

Os bancos de dados gráficos são otimizados para armazenar e consultar orelaçõesentre itens de dados.

Eles próprios armazenam itens de dados comovérticesdo gráfico e as relações entre eles comolimites. Cada aresta tem um tipo e é direcionada de um vértice (o início) para outro (o final). Relacionamentos podem ser chamadospredicadosbem como pontos e vértices também são ocasionalmente chamadosnós. Nos chamados gráficos de propriedades, tanto os vértices quanto as arestas podem terpropriedadesassociado a eles também.

Aqui está um pequeno gráfico que representa amigos e hobbies em uma rede social:

Diagrama que mostra relações entre pessoas e hobbies em uma rede social.

As arestas são mostradas como setas nomeadas, e os vértices representam pessoas e hobbies específicos que eles conectam.

Um simples percurso desse gráfico pode dizer o que os amigos de Justin curtem.

Por que usar um banco de dados gráfico?

Sempre que conexões ou relacionamentos entre entidades estiverem no centro dos dados que você está tentando modelar, um banco de dados gráfico é sua escolha natural.

Por um lado, é fácil modelar interconexões de dados como um gráfico e, em seguida, escrever consultas complexas que extraem informações do mundo real do gráfico.

Construir um aplicativo equivalente usando um banco de dados relacional requer que você crie muitas tabelas com várias chaves estrangeiras e, em seguida, grave consultas SQL aninhadas e junções complexas. Essa abordagem não só rapidamente se torna difícil de manejar do ponto de vista da codificação, como também seu desempenho se degrada rapidamente à medida que a quantidade de dados aumenta.

Por outro lado, um banco de dados gráfico como o Neptune pode consultar relações entre bilhões de vértices sem se atolar.

O que você pode fazer com um banco de dados gráfico?

Os gráficos podem representar as inter-relações de entidades do mundo real de várias maneiras, em termos de ações, propriedade, parentesco, opções de compra, conexões pessoais, laços familiares e assim por diante.

Aqui estão algumas das áreas mais comuns em que bancos de dados gráficos são usados:

  • Gráficos— Os gráficos de conhecimento permitem organizar e consultar todos os tipos de informações conectadas para responder a perguntas gerais. O uso de um gráfico de conhecimento permite adicionar informações tópicas a catálogos de produtos e modelar informações diversas, como as contidasWikidata.

    Para saber mais sobre como os gráficos de conhecimento funcionam e onde eles estão sendo usados, consulteGráficos de conhecimentoAWS.

  • Gráficos de identidade— em um banco de dados gráfico, é possível armazenar relacionamentos entre categorias de informações, como os interesses do cliente, os amigos e o histórico de compras e, em seguida, consultar esses dados para fazer recomendações personalizadas e relevantes.

    Por exemplo, você pode usar um banco de dados gráfico para fazer recomendações de produtos a um usuário com base em produtos que são comprados por outros que são adeptos do mesmo esporte e têm histórico de compras semelhante. Ou pode identificar pessoas que têm um amigo em comum, mas que ainda não se conhecem, e fazer uma recomendação de amizade.

    Gráficos desse tipo são conhecidos como gráficos de identidade e são amplamente usados para personalizar interações com usuários. Para saber mais, consulteGráficos de identidadeAWS. Para começar a criar seu próprio gráfico de identidade, você pode começar com oGráfico de identidade usando o Amazon NeptuneExemplo do.

  • Gráficos— Esse é um uso comum para bancos de dados gráficos. Eles podem ajudá-lo a rastrear compras com cartão de crédito e locais de compra para detectar uso não característico, ou para detectar que um comprador está tentando usar o mesmo endereço de e-mail e cartão de crédito usados em um caso de fraude conhecido. Eles permitem que você verifique se há várias pessoas associadas a um endereço de e-mail pessoal ou várias pessoas em locais físicos diferentes que compartilham o mesmo endereço IP.

    Considere o seguinte gráfico. Ele mostra o relacionamento de três pessoas e suas informações de identidade. Cada pessoa tem um endereço, uma conta bancária e um número de identidade. No entanto, é possível ver que Matt e Justin compartilham o mesmo número de identidade, o que é irregular e indica uma possível fraude por um deles. Uma consulta a um gráfico de fraude pode revelar conexões desse tipo para que possam ser examinadas.

    Diagrama que mostra as relações entre pessoas e suas informações pessoais.

    Para saber mais sobre gráficos de fraude e onde eles estão sendo usados, consulteGráficosAWS.

  • Redes sociais— Uma das primeiras e mais comuns áreas em que os bancos de dados gráficos são usados é em aplicativos de redes sociais.

    Por exemplo, suponha que você queira criar um feed social em um site. Você pode usar facilmente um banco de dados gráfico no back-end para fornecer resultados aos usuários que refletem as atualizações mais recentes de sua família, seus amigos, de pessoas cujas atualizações eles gostam “Like” e de pessoas que vivem próximas a eles.

  • Direções— Um gráfico pode ajudar a encontrar a melhor rota de um ponto de partida até um destino, dado o tráfego atual e os padrões de tráfego típicos.

  • Logística— Os gráficos podem ajudar a identificar a maneira mais eficiente de usar os recursos de envio e distribuição disponíveis para atender aos requisitos do cliente.

  • Diag— Os gráficos podem representar árvores de diagnóstico complexas que podem ser consultadas para identificar a origem dos problemas e falhas observados.

  • Pesquisa científica— Com um banco de dados gráfico, você cria aplicativos que armazenam e navegam dados científicos e até informações médicas confidenciais usando criptografia de dados em repouso. Por exemplo, você pode armazenar modelos de doença e interações genéticas. Você pode pesquisar padrões de gráficos em percursos proteicos para encontrar outros genes que podem ser associados a uma doença. Você pode modelar compostos químicos como um gráfico e consultar padrões em estruturas moleculares. Você pode correlacionar dados de pacientes de registros médicos em diferentes sistemas. Você pode organizar publicações de pesquisa por tópicos para encontrar informações relevantes rapidamente.

  • Regras regulatórias— você pode armazenar requisitos regulamentares complexos como gráficos e consultá-los para detectar situações em que eles possam ser aplicados ao day-to-day operações comerciais.

  • Topologia e eventos de rede— Um banco de dados gráfico pode ajudá-lo a gerenciar e proteger uma rede de TI. Ao armazenar a topologia de rede como um gráfico, você também pode armazenar e processar muitos tipos diferentes de eventos na rede. Você pode responder a perguntas como quantos hosts estão executando um determinado aplicativo. Você pode consultar padrões que possam mostrar que um determinado host foi comprometido por um programa mal-intencionado e consultar dados de conexão que possam ajudar a rastrear o programa até o host original que o baixou.

Como você consulta um gráfico?

O Neptune suporta três linguagens de consulta de propósito especial projetadas para consultar dados gráficos de diferentes tipos. Você pode usar esses idiomas para adicionar, modificar, excluir e consultar dados em um banco de dados gráfico do Neptune:

Exemplos de correspondência de consultas Gremlin e SPARQL

Considerando o seguinte gráfico de pessoas (nós) e seus relacionamentos (pontos), você pode descobrir quem são os “amigos” de uma determinada pessoa - por exemplo, os amigos dos amigos de Howard.

Diagrama que mostra os relacionamentos entre pessoas incluindo suas amizades.

Analisando o gráfico, você pode ver que Howard tem um amigo, Jack, e que Jack tem quatro amigos: Annie, Harry, Doug e Mac. Esse é um exemplo simples com um gráfico simples, mas esses tipos de consultas podem escalar em complexidade, tamanho do conjunto de dados e tamanho do resultado.

Aqui está uma consulta de travessia do Gremlin que retorna os nomes dos amigos dos amigos dos amigos de Howard:

g.V().has('name', 'Howard').out('friend').out('friend').values('name')

Aqui está uma consulta do SPARQL que retorna os nomes dos amigos dos amigos dos amigos dos amigos de Howard:

prefix : <#> select ?names where { ?howard :name "Howard" . ?howard :friend/:friend/:name ?names . }
nota

Cada parte de qualquer triplo de Resource Description Framework (RDF) tem uma URI associada. No exemplo acima, o prefixo do URI é intencionalmente curto.

Faça um curso on-line sobre como usar o Amazon Neptune

Se você gosta de aprender com vídeos,AWSoferece um curso on-line noAWSPalestras técnicaspara ajudar você a dar os primeiros passos

    Conceitos básicos do Amazon Neptune

O curso consiste em 7 vídeos que orientações sobre como configurar e usar o Amazon Neptune

Indo mais fundo na arquitetura de referência gráfica

Ao pensar sobre quais problemas um banco de dados gráfico pode resolver para você e como abordá-los, um dos melhores lugares para começar é oArquiteturas de referência de grafos de Neptune GitHub projeto.

Lá você pode encontrar descrições detalhadas dos tipos de carga de trabalho do gráfico e três seções para ajudá-lo a criar um banco de dados gráfico eficaz:

Há também três seções que orientam você por etapas específicas para usar o Neptune: