Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract. In an era that people are running, the information flying and every
moment need to be captured and shared, the Computer Science starts to care
about answering this request, called Big Data. The Tencent Inc. (the biggest
company of Web services in China, the most populous country), under this
context, developed the TencentRec, a massive data real-time recommender
system, for optimizing the satisfaction of the users of their applications.
Based on an article that presents this system, we decided to do a research in
the literature about related articles. This research was part of a study about
the validity and quality of the technologies employed on TencentRec and its
motivations.
Resumo. Em uma poca em que as pessoas correm, as informaes voam e
cada momento registrado e compartilhado, a Computao se preocupa com
atender a essa demanda, chamada de Big Data. A Tencent Inc. (maior
empresa de servios Web da China, o pas mas populoso), nesse contexto,
desenvolveu o TencentRec, um sistema de recomendao em tempo real de
dados massivos, para otimizar a satisfao dos usurios de suas aplicaes.
Tomando por base um artigo que apresenta esse sistema, decidimos fazer uma
pesquisa na literatura acadmica por artigos relacionados. Essa pesquisa
comps ento uma investigao sobre a validade e qualidade das tecnologias
do TencentRec e suas motivaes.
1. Introduo
O presente trabalho, desenvolvido para a disciplina de Bancos de Dados Avanados, tem
por objetivo realizar um Survey em torno do artigo [Huang et al. 2015], que nos
apresenta um sistema desenvolvido para resolver o problema de Recomendao em um
contexto de tempo real e dados massivos. Como apresentaremos melhor posteriormente,
o tempo real associado a dados massivos faz com que tenhamos uma quantidade enorme
de dados a serem processados em uma pequena unidade de tempo e esse processamento
ainda deve gerar uma resposta acurada para a recomendao.
1.1. Survey
De acordo com nosso conhecimento prvio e entendimento sobre a proposta do
trabalho, bem como uma pesquisa na literatura sobre artigos que focam em analisar
ideias apresentadas em outros artigos, definimos um conceito de Survey para guiar
nosso trabalho. De forma geral, como descrevemos no ttulo: uma investigao
literria.
De maneira prtica, o que pretendemos foi fazer uma busca por artigos
cientficos que tivessem relao com o artigo que tomamos como base, [Huang et al.
2015]. Depois ser melhor dissertado, no tpico Metodologia, sobre como realizamos
de fato esse trabalho, mas aqui j importante destacar que, a partir da leitura da
publicao principal, definimos seus pilares que eram de nosso interesse e traamos
ento objetivos que teramos ao analisar comparativamente esse artigo com outros.
2. Objetivos
2.1 Apresentao do artigo base
Como j foi dito, o trabalho de [Huang et al. 2015] era apresentar um sistema, o
TencentRec, desenvolvido para lidar com 3 problemas computacionais em interseo:
recomendao, tempo real e grande volume de dados (big data). Para entender melhor o
interesse desse desenvolvimento, precisamos conhecer o contexto desse sistema.
A Tencent, que proprietria desse software, a maior companhia de servios
de internet na China e em 2011 tornou-se a quinta maior do mundo nesse ramo. Por
conta disso, os produtos associados a essa empresa geram cerca de 1 PB de dados e seus
bancos de dados tem cerca de 10 bilhes de solicitaes por dia.
Nesse contexto, j ficam bem claros os motivos para a Tencent desejar um bom
software para lidar com grande volume de dados em pouco tempo. A questo da
recomendao acurada vem principalmente do lema da empresa: Ns buscamos criar
valor para nossos usurios (em traduo livre de We aim to create value for our
users) e do contexto atual da Web, em que os servios esto cada vez mais interessados
em entender seus usurios e recomendar ento produtos que estejam de acordo com seus
gostos (tambm como estratgia de negcio).
O artigo, a partir de tudo isso, explica ento as caractersticas do TencentRec,
que utiliza em sua arquitetura o Apache Storm para lidar com os problemas da
escalabilidade e velocidade e os detalhes do algoritmo de recomendao. Como o
presente trabalho escrito como artefato para uma disciplina de Banco de Dados,
focaremos nessa arquitetura, em detrimento de explicaes e anlises do algoritmo de
recomendao.
3. Metodologia
Neste tpico, pretendemos retomar rapidamente o que foi apresentado at ento e
introduzir os prximos contedos, que edificam nossos resultados, para concretizarmos
uma concluso. Para tornar essa elucidao mais dinmica, seguiremos a cronologia real
da execuo do trabalho.
Aps recebimento da proposta, o primeiro passo foi a escolha do artigo, quando
chegamos ao [Huang et al. 2015], em meio a uma lista de possibilidades. J tnhamos
definido que faramos um Survey e o passo seguinte foi ler e entender o artigo, para
planejar ento os prximos passos.
Importante notar que, por uma questo de avaliao por parte da disciplina
relacionada proposta, dividimos esse cronograma por uma entrega intermediria e uma
final. A intermediria contou com todos os passos aqui mencionados, incluindo o
planejamento do que seria feito aps entender o artigo. A final inclui o resto tambm,
sobre o qual ser dito agora.
O planejamento feito decidiu que pesquisaramos ento por artigos que tratassem
de temas afins ao base, que validaramos a publicao sobre o Tencent e compararamos
o que seria analisado da soluo com as solues encontradas na literatura. Essa anlise
foi desenvolvida juntamente escrita das primeiras partes deste trabalho (at o tpico
anterior), para dar base ao referencial terico e suas decorrncias.
Pesquisamos ento por vrios artigos, selecionamos trs que tinham mais pontos
de interseo com o [Huang et al. 2015] e seguiu-se suas anlises individuais,
comparativas (resultados) e o que concluamos a partir de toda essa investigao
literria. Por fim, importante notar que o Resumo foi escrito aps todo esse processo e,
em seguida, foi traduzido para o Abstract.
4. Referencial Terico
4.1. Data-intensive applications, challenges, techniques and technologies: A survey
on Big Data
Big Data tem se transformado em um assunto muito popular atualmente. A quantidade
de dados produzidas diariamente no mundo vem aumentando, fazendo com que lidar
com tamanho volume de dados se torne mais complexo, com desafios na captura,
anlise e visualizao de dados.
O artigo Data-intensive applications, challenges, techniques and technologies: A
survey on Big Data tem como objetivo apresentar uma viso detalhada sobre Big Data,
falando sobre aplicaes, oportunidades, desafios, tcnicas e tecnologias para lidar com
problemas relacionados a Big Data. Aqui utilizaremos como base esse artigo para
analisar pontos do TencentRec.
Sobre acesso a dados, Big Data deve priorizar ao mximo o processo de
acessibilidade a esses, permitindo acesso fcil e imediato, para permitir um processo
efetivo de descoberta de conhecimento numa anlise mais aprofundada dos dados. No
TencentRec utilizado o TDAccess que utiliza mecanismos para permitir o uso dos
dados por diversos tipos de aplicaes com diversas caractersticas, fornecendo uma
interface unificada para coleta e distribuio de dados, separando a fonte do sistema de
processamento de dados. Dessa forma, TDAccess permite o consumo de dados em
tempo real por diversos sistemas de processamento.
Aplicaes em clusters de computao altamente escalveis possuem alta taxa
de concorrncia e transferncia de dados no servidor, atividades que os sistemas de
armazenamento atuais no realizam muito bem, de acordo com [Chen e Zhang 2014].
Em TencentRec, a ferramenta utilizada para tratar deste aspecto foi o Apache Storm, que
ter seu uso no TencentRec mais detalhado a frente.
[Chen e Zhang 2014] dizem que so necessrias plataformas para realizar Big
Data, sendo que as ferramentas atuais concentram-se em trs classes: ferramentas de
processamento em lote, de processamento de fluxo e de anlise interativa. O Storm,
utilizando pelo TencentRec se encontra na categoria de plataformas analticas de dados
em grande escala.
Sobre as Tcnicas de Big Data citadas por [Chen e Zhang 2014], TencentRec faz
uso da tcnica estatstica, que uma tcnica usada para explorar as correlaes e
relaes casuais entre diferentes objetos. Na camada de algoritmo do TencentRec
utilizada tal tcnica em Data Statistcs, como demonstra a figura abaixo. A anlise dos
dados do TencetRec em grande parte realizada por tcnicas de sistemas de
recomendao, como filtro colaborativo e no sero abordadas neste trabalho.
Figura 3: Topologia do framework do TencentRec.
Sobre ferramentas para processamento de dados massivos em tempo real [Chen e Zhang
2014] destacam que o Hadoop uma opo boa para processar grande quantidades de
dados em paralelo, porm ele no foi projetado para processamento em lote, no sendo
uma ferramenta para tempo real, devido a sua alta latncia, que, como j citado, deve
ser muito baixa para aplicaes em tempo real. Nessas aplicaes necessrio um
processamento de fluxo para anlises poderoso. As ferramentas indicadas como ideais
para tais aplicaes por [Chen e Zhang 2014] so SQLstream, Strom e StreamCloud,
que diz serem projetadas especialmente para anlise em fluxo de tempo real. Nota-se
que o Storm est dentre as citadas. A tabela abaixo, tambm apresentada por [Chen e
Zhang 2014] traz informaes relevantes sobre a aplicao de cada uma dessas
ferramentas.
6. Concluso
Foi encontrada grande dificuldade em encontrar artigos sobre aplicaes semelhantes ao
TencentRec, demonstrando que tais tecnologias podem no possuir boa documentao
cientfica sobre sua construo para acesso pela meio acadmico.
O TencentRec um sistema de recomendao de dados massivos em tempo real
baseado em tecnologias slidas, como o Apache Storm e tecnologias de uma corporao
gigante, a Tencent Inc, passando a impresso de ser uma aplicao robusta. Esse fato
consolidado pelo volume de dados que a Tencent lida por dia nas tecnologias utilizadas
pelo TencetRec e pela firme reputao do Apache Storm na comunidade.
Ao comparar TencetRec com o StreamRec, sistema de objetivo parecido, porm
construdo cerca de quatro anos antes, o primeiro, apesar de mais novo, no possui
muitas inovaes, apresentando vrias semelhanas com o StreamRec. Portanto
acreditamos que o TencetRec, apesar de cumprir seu papel, no foi um desenvolvimento
que se destacou dos demais.
Apesar disso, o TencentRec um sistema de recomendao que permite o uso
por diversas bases de dados, uma vez que o TDAccess lida com os dados para tornar
possvel o consumo de dados em tempo real por diversos sistemas de processamento,
sendo caracterizado como um sistema flexvel.
Referncias
Huang, Y. Cui, B. Zhang, W. Jiang, J. Xu, Y. TencentRec: Real-time Stream
Recommendation in Practice. In: Proceedings of the 2015 ACM SIGMOD
International Conference on Management of Data, p. 227-238, 2015. Disponvel:
http://dl.acm.org/citation.cfm?
id=2742785&dl=ACM&coll=DL&CFID=697951056&CFTOKEN=72344190.
Outubro/2016.
Chen, C.L. Philip.Zhang, Chun-Yang. Data-intensive applications, challenges,
techniques and technologies: A survey on Big Data. In: Information Sciences, p.
314-347, 2014. Disponvel: http://www-sciencedirect-
com.ez27.periodicos.capes.gov.br/science/article/pii/S0020025514000346.
Outubro/2016.
Toshniwal, Ankit.Taneja, Siddarth. Shukla, Amit. Ramasamy, Karthik. Patel, Jignesh
M.Kulkarni, Sanjeev. Jackson, Jason. Gade, Krishna. Fu, Maosong. Donham, Jake.
Bhagat, Nikunj. Mittal, Sailesh. Ryaboy, Dmitriy. Storm @Twitter. In: Proceedings
of the 2014 ACM SIGMOD International Conference on Management of Data, p.
147-156, 2014. Disponvel:
http://dl.acm.org.ez27.periodicos.capes.gov.br/citation.cfm?id=2595641.
Outubro/2016.
Chandramouli,Badrish. Levandoski, Justin J. Eldawy, Ahmed. Mokbel, Mohamed F.
StreamRec: a real-time recommender system. In: Proceedings of the 2011 ACM
SIGMOD International Conference on Management of data, p. 1243-1246, 2011.
Disponpivel: http://dl.acm.org.ez27.periodicos.capes.gov.br/citation.cfm?
id=1989465. Outubro/2016.
Universidade Federal do Par. Modelo de artigo no formato SBC. Disponvel:
http://www.aedmoodle.ufpa.br/mod/resource/view.php?id=9286. Outubro/2016