Por Werner Vogels (*)

Já alguma vez recebeu uma chamada do banco por receio de atividade suspeita? A maioria dos bancos consegue identificar quando padrões ou localizações são anormais e age imediatamente. Muitas vezes acontece antes mesmo dos afetados se aperceberem de algo errado. Resultado:  o impacto do roubo de identidade na conta bancária e na vida de uma pessoa pode ser gerido antes mesmo deste ser um problema. Esse é o poder de compreender bem a correlações dos dados.

Considere as relações entre doenças e interações genéticas. Se percebermos estas conexões podemos procurar padrões nas vias proteicas para encontrar outros genes que poderão estar associados a uma doença. Esse tipo de informação ajuda a avançar na investigação de doenças.

Com suficientes correlações de pontos de dados, podemos até fazer previsões sobre o futuro (como num mecanismo de recomendação). Porém, à medida que mais dados são conectados e a dimensão e complexidade dos dados ligados entre si aumentam, as correlações entre eles tornam-se mais complicadas para armazenar e consultar.

Modelos de dados gráficos

Num modelo de dados gráficos, as correlações são fundamentais o que implica poder estabelecer diretamente uma relação, em vez de utilizar chaves ou tabelas terceiras. Os dados são modelados com nós (vértices) e links (arestas). Ou seja, o foco não está nos dados em si, mas na forma como estes se relacionam. Os gráficos são uma escolha natural para a criação de aplicações que processam correlações, porque é possível representar e cruzar dados mais facilmente. Os nós representam geralmente uma pessoa, lugar ou objeto e os links são a forma como estes estão conectados.

Aplicações que processam correlações

Um gráfico é uma boa opção para criar correlações entre dados e consultá-las rapidamente. Um gráfico de conhecimento é um exemplo de um bom caso de uso. Mas existem alguns mais:

Redes Sociais

As redes sociais têm grandes conjuntos de perfis de utilizadores e interações para rastear. Por exemplo, se criar um feed social na aplicação, utilize um gráfico para fornecer informações que priorizem aos utilizadores as atualizações mais recentes da família e amigos cujas atualizações eles mais 'Gostem' e de listas de contactos que estejam geograficamente próximos.

Mecanismos de recomendação

Os mecanismos de recomendação armazenam correlações entre informações, como interesses do cliente, amigos e histórico de compras. Com um gráfico, é possível consultá-lo rapidamente para fazer recomendações personalizadas e relevantes para os utilizadores.

Deteção de fraude

Se desenvolver uma aplicação para detetar fraudes na área da distribuição e retalho, o gráfico ajuda a preparar questionários para encontrar padrões de ligação. Por exemplo, várias pessoas com o mesmo endereço IP mas que residam em localizações físicas diferentes.

Os desafios de armazenar gráficos

Os gráficos podem ser armazenados de várias maneiras: uma base de dados relacional, armazenamento de valores-chave ou bases de dados gráficas. Muitas pessoas começam a usar gráficos com um protótipo de pequena escala, normalmente começa bem, mas torna-se mais desafiante à medida que a escala de dados aumenta.

As bases de dados gráficas são construídas com o objetivo de armazenar gráficos e permitir que os dados dos nós sejam diretamente associados e as correlações diretamente consultadas. Isso facilita a criação de novas correspondências sem desnormalizar os dados e apoiar os developers na atualização dos modelos de dados para aplicações que incluam dados com um elevado grau de conexão. Isto melhora drasticamente o desempenho da consulta para entre os dados.

Uma base de dados de gráficos criada propositadamente

O Amazon Neptune Workbench pode criar um bloco de anotações Jupyter, uma aplicação web de código aberto que permite criar e partilhar documentos que contenham código ativo, equações, visualizações e texto narrativo, da AWS Management Console.

No entanto quando fornecemos a developers ferramentas especializadas e de alto desempenho para um trabalho específico, estes começam a encontrar empolgantes possibilidades de construção de novas aplicações. A Thomson Reuters está a usar o gráfico para entender os complexos modelos regulatórios. A Netflix melhorou a fiabilidade da infraestrutura de dados ao usar um sistema baseado em gráficos para criar e escalar linhagens de dados. E a Zeta Global construiu uma plataforma de customer intelligence que recorre à resolução de identidade baseada em gráficos para relacionar vários dispositivos e utilizadores.

Unificar a construção

As formas inovadoras pelas quais os nossos clientes usam o Amazon Neptune são exemplos do que acontece quando os developers têm a ferramenta certa. Além do gráfico, é possível ter outros conjuntos de dados que funcionam melhor num tipo de base de dados diferente, como a relacional, a temporal ou a “em memória”. Não existe qualquer problema– trata-se na verdade do desenvolvimento moderno de aplicações.

Diferentes tipos de dados vêm com diferentes tipos de desafios, e escolher a base de dados certa para cada caso de uso exclusivo permite uma maior velocidade e flexibilidade.

Por exemplo, o Neptune faz parte do kit de ferramentas que usamos para expandir o conhecimento gráfico do Alexa para dezenas de milhões de clientes. Alexa também usa outras bases de dados, como o DynamoDB para dados-chave e documentos ou o Amazon Aurora para dados relacionais. Diferentes tipos de dados vêm com diferentes tipos de desafios, e escolher a base de dados certa para cada uso exclusivo permite maior velocidade e flexibilidade.

Para dados altamente conectados, uma base de dados gráfica facilita a compreensão das correlações entre os dados, para obter novos insights. Ao usar um modelo de dados gráficos, os developers podem criar rapidamente aplicações que consultam dados altamente conectados. Uma base de dados gráfica criada para fins específicos melhora drasticamente o desempenho nas consultas da correlação de dados.

(*) Vice-Presidente da Amazon Web Service