Processamento Gráfico Em Hadoop

Um dos mais excitantes tecnologias NoSQL emergentes envolve o armazenamento e processamento de dados do gráfico. Você pode pensar que esta afirmação é notícia velha, porque cientistas da computação têm vindo a desenvolver técnicas de análise de gráfico ao longo de décadas. O que você diz pode ser verdade, mas o que há de novo é que usando Hadoop, você pode fazer uma análise do gráfico em grande escala.

O que é dados do gráfico?

UMA gráfico em termos de dados é simplesmente uma representação de entidades individuais e suas relações. entidades de um gráfico como são conhecidos nós (ou vértices), E as relações entre as entidades de um gráfico como são conhecidos arestas (ou conexões). Representando conjuntos de dados em um gráfico, ao contrário de linhas e colunas tradicionais, faz com que seja muito mais fácil de processar os seus dados de forma a tornar as relações entre os objetos cristalina. cálculos de gráficos típicos são representados pela distância mais curta caminho entre vários nós em seu gráfico, ou simplesmente pela forma como muitos nós têm ligações de um determinado tipo para um nó específico.

Os pedidos de análise gráfica

A aplicação mais conhecida para bancos de dados do gráfico é o algoritmo PageRank do Google, que calcula as relações que ligam entre todas as páginas web conhecidos. Google representa a web como um gráfico gigante, onde as páginas da web são os nós e os links de uma página para outra são representados como bordas. (Google compartilhou a riqueza através da publicação de um artigo descrevendo seu projeto gráfico de análise - rotulados Pregel - de volta em 2010.) O processamento gráfico que Google estava interessado em envolver o cálculo do número de conexões de entrada para cada página da web.

Facebook fez um splash significativa em 2013 quando ele anunciou que estava usando Apache Giraph (com base no papel Pregel), um mecanismo de processamento gráfico projetado para processar gráficos armazenados no HDFS. Ele mostrou o poder de Giraph por mostrando um gráfico que representa todos os usuários do Facebook (mais de 1 bilhão) e suas amizades (bilhões!), Que no total tem mais de 1 trilhão bordas. Esta escala é impressionante: Se você é Facebook e você precisa fazer cálculos, como recomendações amigo, qual a melhor ferramenta para usar do que um mecanismo de processamento gráfico? Não é nenhuma surpresa que um banco de dados gráfico distribuído está no cerne de qualquer outro site de mídia social notável, incluindo Twitter, LinkedIn, OkCupid, e Pinterest.

Um mecanismo de processamento gráfico pode facilmente responder a muitas perguntas práticas para sites de mídia social. Dois exemplos são como LinkedIn mostra os graus de separação entre você e outro usuário é um cálculo caminho mais curto (o que é a conexão mais estreita entre dois nós?) E como OkCupid mostra aos usuários com interesses comuns é um conjunto de cálculos de filtragem colaborativa (o que são os mais conexões comuns a um conjunto específico de nós?).

Análise do gráfico em Hadoop

Na Primavera de 2014, a análise gráfica no Hadoop permanece em seus estágios iniciais. Com o advento da FIO em Hadoop 2, análise gráfica e outras técnicas de processamento especializadas vai se tornar cada vez mais popular no Hadoop. Muitos dos sites sociais mencionados neste artigo utilizar as suas próprias bases de dados, gráfico de propriedade e mecanismos de processamento, mas o Facebook é um usuário importante de Giraph. Porque (implícita) o selo do Facebook de aprovação, Giraph tornou-se uma escolha popular para análise de gráfico no Hadoop, mas tem algumas limitações. É apenas um mecanismo de processamento, porque ele carrega os dados como um gráfico na memória do cluster, e é otimizado para consultas orientados em batch.

Outra solução de processamento gráfico vem de Aurelius, uma empresa que lançou um conjunto de ferramentas de gráfico de análise de código aberto para Hadoop. No núcleo de suas ofertas é Titan, um banco de dados gráfico usando HBase como uma camada de persistência, que é otimizada para consultas interativas, e Fauno, um mecanismo de processamento gráfico que armazena um instantâneo de um gráfico a partir Titan no HDFS e executa trabalhos de MapReduce contra ela . Para tanto a aplicações batch (Fauno) interativo (Titan) e, Aurelius tem o comum API gráfico-travessia chamado Gremlin.

Finalmente, o projeto faísca Apache tem o desdobramento GraphX, que permite a geração de dados do gráfico e, em seguida processamento, tudo no âmbito Spark.

menu