Processamento de Dados Massivos/Outros ambientes: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Adicionadas referências importantes
Linha 27:
Hive <ref name=hive/>, por outro lado, se apresenta como um sistema de armazém de dados com uma linguagem de consulta que é próxima a um subconjunto de SQL. Tabelas são normalmente definidas como arquivo textuais com campos separados por tabulações. Em Hive, a mesma consulta anterior tomaria a forma de uma consulta semelhante a SQL, como ilustrado a seguir. O ambiente de processamento se encarregaria de transformar a consulta em uma sequência de ''maps'' e ''reduces'' que geraria o resultado desejado. Comandos adicionais poderiam ser usados para produzir um arquivo como saída.
 
<syntaxhighlight lang="SQL">
<pre>SELECT categoria, AVG(pagerank)
FROM urls
WHERE pagerank &gt;> 0.25
GROUP By categoria
HAVING COUNT(*) &gt;> 10E5;
</syntaxhighlight>
</pre>
 
Diversas soluções para estruturação dos arquivos armazenados no GFS ou HDFS de forma mais eficiente para consultas já foram propostas e são largamente utilizadas. Essas soluções são em geral sistemas de armazenamento denominados “chave-valor” (''key-value stores''), onde a informação é armazenada em função de uma chave pré-definida. Esses sistemas, ao contrário da interface padrão do sistema de arquivos, permitem consultas e atualizações de conteúdo associado a qualquer chave. Exemplos de sistemas desse tipo são o BigTable <ref>Chang, F., Dean, J., Ghemawat, S., Hsieh, W. C., Wallach, D. A., Burrows, M., Chandra, T., Fikes, A., and Gruber, R. E. Bigtable: A distributed storage system for structured data. ''ACM Transactions on Computer Systems'' 26, 2 (June 2008), 4:1–4:26.</ref>, proposta original da Google, o HBase <ref>Borthakur, D., Gray, J., Sarma, J. S., Muthukkaruppan, K., Spiegelberg, N., Kuang, H., Ranganathan, K., Molkov, D., Menon, A., Rash, S., Schmidt, R., and Aiyer, A. Apache hadoop goes realtime at facebook. In ''Proceedings of the 2011 ACM SIGMOD International Conference on Management of data'' (New York, NY, USA, 2011), SIGMOD ’11, ACM, pp. 1071–1080.</ref>, uma implementação do mesmo conceito para o Hadoop, e outros, como Apache Cassandra <ref>Lakshman, A., and Malik, P. Cassandra: a decentralized structured storage system. ''SIGOPS Operating Systems Review'' 44, 2 (Apr. 2010), 35–40.</ref> e Dynamo <ref>Lakshman, A., and Malik, P. Cassandra: a decentralized structured storage system. ''SIGOPS Operating Systems Review'' 44, 2 (Apr. 2010), 35–40.</ref>. Em geral, esses sistemas garantem apenas consistência eventual do conteúdo e oferecem compromissos diferentes de implementação em função de diferentes requisitos de aplicação.