Você está na página 1de 7

1208

IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 1, JAN. 2012

A Comparative Study On The Architecture Of Social Networks Facing Users Great Demand
T. Finger e C. Maciel
Abstract The social networking sites are places that allow people to share ideas, objectives and values. The challenge for social networking sites has been to keep its services available and functioning properly in order to serve its users and attract new ones. The objective of this research is to present a comparative study of the solutions found by Social Networks - Facebook, MySpace and Twitter - to investigate similarities or differences in the logical architecture of these systems. Such analysis is particularly relevant for those seeking more information on system architecture to meet a great demand of users. Keywords Systems architecture, Social networks and Web.

I. INTRODUO S TECNOLOGIAS digitais trouxeram diversas mudanas para a sociedade, e uma delas a possibilidade de as pessoas se socializarem, independentemente das distncias que as separam, para compartilhar ideias, objetivos e valores comuns. Essa integrao social intensificou-se com o advento das redes sociais na internet, que trouxeram a reboque, a circulao de uma pluralidade de novas informaes, cujas trocas sucedem de modo rpido e interativo. Os servios prestados por redes sociais, como o Facebook, MySpace e o Twitter, so procurados diariamente por cerca de milhes de usurios, o que ocasiona uma enorme quantidade de trfego de dados. A globalizao obriga-os a garantir o acesso de seus usurios num perodo 24/7 (24 horas por dia, 7 dias por semana), devido a diferenas de fuso horrio de at 12 horas, significando que, enquanto numa parte do globo dia, noutra j noite. Em geral os sites de redes sociais tm tido muita dificuldade de manter seus servios operando com qualidade de forma a no s manter seus usurios satisfeitos, como a atrair outros novos. A procura por determinado servio de uma rede social tanto pode lev-la ao sucesso quanto derrub-la. A repercusso positiva ou negativa depender tambm da resistncia da aplicao ao grande nmero de acessos. Desafios dos sites de redes sociais tm sido manter essa resistncia na aplicao. Porm, o aumento de usurios que iro utilizar o servio algo difcil de prever, o sucesso de uma rede social pode acontecer muitas vezes de uma forma rpida, devido a algum evento cultural ou esportivo, ocasionando um nmero considervel de usurios utilizando os servios, algo que a aplicao pode no estar preparada. Como ocorreu ao Twitter durante os jogos da Copa do Mundo
T. Finger, Universidade Federal de Mato Grosso (UFMT), Cuiab, Mato Grosso, Brasil, talita_finger@yahoo.com.br C. Maciel, Universidade Federal de Mato Grosso (UFMT), Cuiab, Mato Grosso, Brasil, cmaciel@ufmt.br

de Futebol, ocasionando perodos de indisponibilidades de uso do servio [1]. Um desafio, em especial dos engenheiros do Facebook, tem sido manter o site disponvel e respondendo adequadamente [2]. Observa-se que muitas das abordagens tradicionais para servir o contedo web falham ou simplesmente no so prticas. Considerando o exposto, esta pesquisa tem por objetivo apresentar um estudo comparativo entre as redes sociais Facebook, MySpace e Twitter - a fim de investigar semelhanas ou diferenas existentes na arquitetura desses sistemas. Ser utilizado como critrios de avaliao o banco de dados, a linguagem de programao, entre outras solues comuns encontradas no material disponvel para consultas. A escolha dessas redes sociais se deve ao fato de as trs possurem o maior nmero de visitantes em pesquisas que apresentam dados especficos sobre redes sociais [3]. O estudo foi realizado por meio de pesquisas bibliogrficas em livros, revistas, artigos e internet. Dada a dificuldade de encontrar referenciais tericos que discutam o objeto deste estudo, optou-se pela pesquisa qualitativa, em um esquema interpretativo ps-positivista [4], embasada na lgica e na deduo, a partir de etnografia da performance do ambiente web. Como produto da narrao, disponibiliza-se, aqui no artigo, um documento semelhante a um relatrio tcnico de pesquisa [4]. O mtodo de coleta e anlise de dados baseado na anlise textual de documentos tcnico-cientficos e na observao na web. Para tal, usa-se o mtodo comparativo [4], tendo os indicadores tecnolgicos das arquiteturas como alicerce para interpretao das redes sociais. A organizao adotada comportou da seguinte forma: a Seo 2 aborda a arquitetura de sistemas e suas principais caractersticas. Na terceira so definidas, formalmente, as redes sociais Facebook, MySpace e Twitter e as respectivas arquiteturas. Na Seo 4 foi reservada comparao dessas arquiteturas, apontando as caractersticas e os problemas mais comuns encontrados nesses trs ambientes. Por fim, so apresentadas as concluses obtidas, os problemas enfrentados e algumas sugestes para trabalhos futuros. II. ARQUITETURA DE SISTEMAS Arquitetura de sistemas refere-se arte ou a tcnica de projetar e construir o ambiente de sistemas; a forma como os computadores so organizados, juntamente com suas definies de hardware e de software, interfere especificamente no desempenho do sistema. A arquitetura tem um papel fundamental para manter o funcionamento de um sistema. Uma boa aplicao web tem muitas camadas e cada uma delas fornece uma funo especifica. Todas as camadas juntas compem o aplicativo,

FINGER AND MACIEL : A COMPARATIVE STUDY ON THE ARCHITECTURE

1209

mas aleatoriamente combinadas voc ir obter um aplicativo mal construdo [5]. Para evitar transtornos futuros, faz-se necessrio um projeto de arquitetura bem elaborado. Descrita como um processo criativo, essa fase estabelece uma organizao de sistema que visa satisfazer os requisitos funcionais (declaraes dos servios que o sistema deve fornecer) e os requisitos no funcionais (restries sobre os servios ou funes oferecidas pelo sistema) [6]. Sabendo-se que um sistema pode exigir um ou mais requisitos no funcionais, bem provvel que aja divergncia em suas arquiteturas. Um bom jeito de resolver esse caso usar diferentes estilos de arquiteturas em diferentes partes do sistema [6]. A arquitetura de aplicao, segundo [5], refere-se concepo e construo da infraestrutura da aplicao. No campo das aplicaes web, infraestrutura tende a significar uma combinao de plataforma de hardware e de software, manuteno e prticas de desenvolvimento. Deve-se considerar como todos esses elementos se encaixam para construir uma infraestrutura perfeita para aplicaes de grande escala. No prximo tpico explanam-se as redes sociais escolhidas, com nfase na arquitetura de cada uma delas. Neste estudo so abordadas as plataformas de software dessas redes e comentadas questes sobre a infraestrutura de hardware, dentro do possvel, devido as dificuldades de encontrar material nesta rea. III. REDES SOCIAIS A comunicao sempre esteve presente de alguma forma, seja por sinais, por pinturas rupestres, por entonaes de voz ou por mensagens de texto. Redes sociais so consideradas estruturas sociais compostas por pessoas que, conectadas, compartilham ideias, objetivos e valores comuns. Assim, indivduos com identidades semelhantes se encontram formando um grupo de discusso. Uma pluralidade de novas informaes passou a circular nos grupos sociais de uma forma mais rpida e interativa a partir do surgimento da internet. Desde ento, tornou-se possvel o compartilhamento de informaes com outros usurios em diversos lugares no mundo. A internet evoluiu para uma nova gerao de servios de redes sociais que se caracteriza por novos padres de acesso determinado por interaes sociais entre os usurios e uma quantidade crescente de contedos multimdia, envolvidos em cada interao do usurio [8]. Sites de redes sociais so ambientes que possibilitam a formao de comunidades on-line e o compartilhamento de contedos criados pelo usurio [22]. Permitem que as pessoas se comuniquem atravs da internet, por meio de objetos que so hospedados no site uma fotografia, por exemplo [7]. Os sites compreendem a categoria de sistemas focados em expor e publicar as redes sociais dos atores, cujo foco principal est na exposio pblica das redes conectadas aos atores [12]. Um indivduo, tambm chamado de usurio ou ator, cria o seu prprio perfil, definindo sua identidade virtual, possibilitando a interao com outras pessoas j cadastradas.

Uma vez cadastrados na rede social, os usurios so solicitados a identificar outras pessoas com quem mantm relacionamento. O rtulo atribudo s relaes difere, dependendo dos termos populares disponveis: Amigos, Contatos e Fs. Alguns sites exigem confirmao de amizade e outros no [37]. Para facilitar a busca de amigos, os usurios de redes sociais contam, nas instalaes do site, com a descoberta automtica a partir do e-mail da pessoa procurada; a navegao de grupos de amigos existentes no local; um motor de recomendao amigo, que sugere amigos de amigos; e um motor de busca baseado em palavras-chave para procurar os nomes dos membros [22]. A Tabela I demonstra o nmero de usurios que utilizam redes sociais. Esses valores so significativos e tendem a crescer com o passar dos anos.
TABELA I CLASSIFICAO DAS REDES SOCIAIS [3].

As redes sociais enfrentam srios desafios de escalabilidade devido ao seu rpido crescimento e popularidade [9]. Um sistema escalvel quando acomoda bem um aumento no nmero de usurios. Sua capacidade de processamento e armazenamento realizada pelo aumento de equipamentos, isso sem que haja necessidade de uma mudana drstica em todo o sistema.

1210

IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 1, JAN. 2012

Porm muitas vezes difcil prever o aumento de usurios que utilizaro os servios em um futuro prximo. A estrutura planejada pode no adequar devidamente o acrscimo de usurios. Esse tipo de problema pode ser confirmado quando determinado web site fica indisponvel por excesso de requisies na pgina solicitada da aplicao. Essa popularidade possvel por causa da baixa barreira entrada em comunidades on-line [8]. Muitos dos servios de redes sociais so projetados de tal forma que qualquer um pode se inscrever e visualizar os contedos. Haja vista a participao de iniciantes em comunidades de usurios mais experientes. Outro ofensor do servio das redes sociais o avano tecnolgico, por exemplo, os de aparelhos telefnicos que permitem aos usurios se manterem on-line o tempo inteiro [10]. Isso favorece o aumento do nmero de usurios, crescimento esse que independe de nveis socioeconmicos [11]. Cada rede social possui caractersticas especficas, algumas fornecem a possibilidade de inserir vdeos em suas pginas, bate-papo, publicao de lbum de fotos, entre outros. Alm dessas opes, os usurios ainda podem criar marcadores de pgina web, perfis de usurios, atualizaes de atividade de usurio, textos (blog, microblog e comentrios), etc [22]. importante observar as caractersticas de cada rede social abordada neste estudo, definidas na Tabela 2, a fim de adquirir uma melhor compreenso do porqu de algumas utilizarem certas ferramentas e outras no. A Tabela 2 foi elaborada por meio de visitas s redes sociais analisadas, no ms de junho de 2011.
TABELA II CARACTERSTICAS DAS REDES SOCIAIS ANALISADAS. ADAPTADA DE [13].

A seguir, ser apresentada, em detalhes, a anlise referente a cada rede social tratada, com destaque para a arquitetura, ferramentas de software utilizadas e caractersticas. A. Facebook O Facebook, lanado em 2004, foi originalmente criado pelo americano Mark Zuckenberg para que alunos do High School mantivessem contatos mesmo quando sassem para estudar em uma universidade [12]. O Facebook funciona atravs de perfis e comunidades [12]. Por meio da criao de perfis, o usurio pode trocar

mensagens privadas e pblicas entre os outros participantes. Em cada perfil, possvel acrescentar mdulos de aplicativos, entre eles, jogos e ferramentas. O usurio pode compartilhar dados, como links, mensagens e fotos, que so apresentados em seu mural. A partir desse mural outras pessoas que estejam sob uma mesma rede de amigos podem comentar ou curtir, um recurso criado pelo Facebook que significa que o usurio gostou do contedo compartilhado sem ter que deixar comentrios. O Facebook est entre os sites de redes sociais com maior nmero de visitantes por ms em todo o mundo [13], conforme descrito na Tabela 2. Todavia, sua popularidade coloca-o em situaes crticas que exigem-lhe muito trabalho para manter o site sempre disponvel e funcionando. A arquitetura do Facebook composta de um aparato tecnolgico, ainda que no seja uma garantia absoluta, capaz de lidar com o desafio de mant-la no ar, todos os dias da semana, a despeito do crescimento exponencial de usurios. Para acelerar o acesso, o Facebook aproveita a memria cache dos servidores para manter os dados mais solicitados, o que evita desperdcio de tempo em requisies ao banco de dados ou ao disco rgido, pois o acesso a estes mais lento do memria cache do computador. Memcached uma das ferramentas que possibilitam um melhor aproveitamento da memria RAM sobressalente de muitos servidores. Tem seu uso aplicado por diversos sites, como o YouTube, LiveJournal, Wikipedia, Amazon, Facebook, Digg, Twitter, Reddit, alm de outros. Frequentemente usado para acelerar a base de dados em web sites [14]. O Memcached uma tabela hash distribuda em vrios servidores que tornou-se um componente essencial na arquitetura para enfrentar os desafios de desempenho e escalabilidade. Tabelas hash so mantidas em sistemas de caches para responder rapidamente s palavras-chave dos metadados de pesquisa, como o ID do usurio. O tamanho do sistema de cache muitas vezes superior a 16 Gigabytes [22]. Para suportar uma, dentre vrias funcionalidades oferecidas pelo Facebook a seus usurios, por exemplo, a publicao de lbuns de fotos, foi desenvolvido o Haystack, um sistema de alto desempenho para armazenamento e recuperao de fotos [14]. Cada foto armazenada no Haystack gera o armazenamento de mais quatro diferentes resolues da mesma. Isso ento implica um gigantesco volume de dados para processar atualizaes, remoes e acessos referentes sua especialidade. O Facebook j utilizou o MySQL e o Cassandra para o sistema de armazenamento de mensagens, mas com o lanamento de uma nova verso deste aplicativo, que combina mensagens de chat, SMS e e-mail, passou a utilizar o HBase [15]. O HBase um dos exemplos de banco de dados distribudo no relacional. A definio de banco de dados distribudo se assemelha ao de sistemas distribudos. um aglomerado de banco de dados que juntos possibilitam dividir a carga de armazenamento e processamento. Mas, para o usurio final esse aglomerado aparenta ser apenas um nico sistema armazenando e fornecendo informaes. O HBase baseado no BigTable, que um banco de dados criado pelo Google, orientado colunas, aonde a consulta

FINGER AND MACIEL : A COMPARATIVE STUDY ON THE ARCHITECTURE

1211

torna mais rpida devido ao fato dos dados j entrarem indexados. Foi projetado para escalar uma grande quantidade de dados entre muitos servidores. Alm de possibilitar uma facilidade maior na distribuio horizontal e fcil replicao, caractersticas dos bancos de dados no relacionais. O HBase foi escolhido em lugar do Cassandra, outro banco de dados no relacional orientado a colunas, por possuir fcil integrao com o Hadoop [15]. O Hadoop fornece um armazenamento de sistemas de arquivos distribudos inspirado pelo MapReduce, que um modelo de programao que possibilita fcil desenvolvimento de aplicaes paralelas escalveis para processar grandes colees de dados em cluster de computadores [16]. O termo MapReduce a juno de Map, processo que mapeia a requisio em cada computador, e Reduce, processo que reconhece e agrega resultados, trabalhando de forma assncrona [17]. O Facebook utiliza-o juntamente com o Hive, uma infraestrutura de data warehouse construda em cima do Hadoop, para permitir uma anlise escalvel em grandes conjuntos de dados [18]. Sobre a infraestrutura do Facebook, a equipe de operaes tcnicas do Facebook apresentou um grfico que demonstra o crescimento da quantidade de servidores de 2007 a 2010 [19]. Apesar de o grfico no incluir nmeros, para no revelar a contagem real da quantidade de servidores, possvel deduzir que o Facebook tem em mdia 60 mil servidores [19]. Recentemente, o Facebook formou o Open Compute Project para divulgar as especificaes e os designs dos equipamentos de hardware usados em um dos seus centros de dados [20]. Essas especificaes incluem placas-me, fonte de alimentao, gabinete de servidor, rack de servidores e baterias. O objetivo do projeto possibilitar que outras pessoas ajudem a melhorar seus servidores, tornando a infraestrutura mais eficiente e com o menor custo possvel. B. MySpace O MySpace era, nos Estados Unidos, o site de rede social mais utilizado, sendo superado em nmero de visitantes pelo Facebook no incio de 2008 [12]. Lanado em 2003, possui as mesmas funcionalidades de muitas outras redes sociais: definio de perfil, envio de mensagens, criao e manuteno de grupos, alm de possuir um servio muito semelhante ao do YouTube, o compartilhamento de vdeos. Seu sucesso se deu principalmente por permitir um grau de personalizao maior em comparao s outras redes sociais [12]. Sendo a segunda rede social mais popular do mundo [3], o MySpace garante seu funcionamento com ferramentas diferentes das do Facebook e Twitter. No incio, quando o MySpace possua em faixa de 500 mil contas de usurios cadastrados, ele utilizou-se do particionamento vertical para melhorar o desempenho e facilitar a manuteno do banco de dados. Essa tcnica implica dividir uma tabela em vrias outras, com menos colunas, cada uma servindo a diferentes funes, tais como a tela de incio de uma sesso, os perfis de usurio e os blogs [21]. Embora amplamente utilizado, o particionamento vertical uma abordagem que deve ser considerada com cautela, porque todo o seu desempenho em acessar tabelas com menos valores

se perde quando necessrio fazer uma anlise dos dados, exigindo que se acessem muitas outras tabelas em vez de uma s inicialmente. Se mal feito, o particionamento pode, no caso de replicao de dados, resultar em gastos desnecessrios de sincronizao de cpias de dados [22]. Posteriormente, com 1 a 2 milhes de usurios, passou a utilizar uma rede de armazenamento (SAN), que uma rede projetada para agrupar vrios clientes e dispositivos de armazenamento [21]. A mudana para uma SAN melhorou o tempo, o desempenho e a confiabilidade. Foi tambm adicionada uma camada de cache entre os servidores web e os servidores de banco de dados com o nico objetivo de capturar cpias de dados de memrias frequentemente acessadas, deixando-as disposio do aplicativo web e dispensando a necessidade de um banco de dados de pesquisa [21]. O MySpace tambm faz uso de um framework MapReduce para desenvolver e executar aplicaes de computao distribuda em conjuntos de servidores Windows: o Qizmt [14]. Como todas as implementaes MapReduce, ele foi concebido para apoiar a computao distribuda de grandes conjuntos de dados sobre um grande nmero de computadores (clusters). Qizmt usado internamente pelo MySpace e tornou-se fonte aberta. O MySpace criou uma soluo interna chamada de Service Dispatcher, usando o recurso Service Broker do SQL Server 2005, de acordo com Al-Adwan, vice presidente de dados do MySpace [23]. O Service Dispatcher garante que uma requisio de atualizao ao banco seja emitida para todas as cpias de sistemas de banco de dados, garantindo a sua integridade. Alm disso, cada computador da camada de dados tem 4 processadores AMD dual-core e 64 gigabytes (GB) de RAM [24]. Resumindo, o MySpace emprega uma arquitetura de trs camadas: a camada web, na qual utiliza-se o Window Server 2003 e o Internet Information Services (IIS), a tecnologia de servidor web do Windows; a segunda camada o nvel de cache; e a terceira constitui a de banco de dados [24]. Veja tal estrutura na Fig. 1, a seguir.

Figura 1. Arquitetura de 3 camadas do MySpace. Adaptado de [24].

1212

IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 1, JAN. 2012

Toda sua infraestrutura composta de 3000 servidores web, 800 servidores de cache e 440 servidores SQL [25]. A estrutura do MySpace definida, praticamente, de apenas produtos Microsoft, diferentemente do Twitter, que ser abordado no prximo tpico, e do Facebook que utiliza softwares dirigidos comunidade de cdigo aberto. C. Twitter O Twitter foi fundado por Jack Dorsey, Biz Stone e Evan Williams ainda em 2006 [12]. Desenvolvido com o propsito de ser um servio no qual as pessoas compartilhassem mensagens mais objetivas, de 140 caracteres ou menos. Essa informao pode ser compartilhada atravs de um navegador da web, de um aparelho telefnico ou de alguma outra API (Interface de Programao de Aplicaes). A estrutura da plataforma social colaborativa formada por seguidores e pessoas a serem seguidas. Havendo interesse pelas publicaes de algum, basta segui-lo, ou seja, cadastre-se como seguidor e toda atualizao feita pelo seguido estar disponvel para seus seguidores. A mensagem publicada chamada de tweet. De 2009 at hoje, aumentou muito a quantidade diria de tweets [26]. Em funo desse aumento de trfego, a rede social Twitter tem enfrentado transtornos relacionados ao descompasso entre taxa de crescimento de usurios e a capacidade de hardware e software da empresa [27]. Nos ltimos cinco anos, o maior desafio do Twitter foi lidar com o crescimento sem precedentes e a constante presena da failwhale. A failwhale uma baleia que aparece quando existe uma demanda muito grande de requisies acima do que o Twitter suporta. Essa uma forma de o Twitter reportar o erro aos seus usurios, pedindo desculpas pelo temporrio congestionamento do site. Devido ao despreparo para a popularizao de seu site, possvel que o Twitter anuncie o uso de novas ferramentas alm das que foram citadas aqui. At a data de envio deste artigo, foram buscadas as ltimas abordagens utilizadas pelo Twitter. O Twitter, desde 2009, executado no Ruby Enterprise Edition [28], que adotou para servidor web os servidores Ruby Unicorn juntamente com o Apache [29]. Para otimizar as atividades realizadas entre os servidores, utiliza uma tcnica chamada Load Balancer, ou balanceamento de carga, que distribui igualmente entre dois ou mais servidores web a execuo de um processo. Sem dvida, um dos pontos significativos do Twitter manter tudo em cache, reservando o banco de dados apenas para backup [30]. O recurso utilizado para manter os dados em cache o Memcached, que, alm de aliviar a carga do banco de dados, acelera o carregamento das pginas [31]. Outra ferramenta que o Twitter e o Facebook tm em comum o Hadoop. No Twitter, ele utilizado para armazenar e processar tweets, arquivos de log, e muitos outros tipos de dados gerados pela aplicao [32]. Como banco de dados, o Twitter utiliza o MySQL e o Cassandra, ficando o primeiro para o armazenamento de dados dos tweets [30]. Continuam mantendo o espao de armazenagem baseados no MySQL porque a alterao de uso para algum outro banco uma mudana de estratgia [33]. O uso do Cassandra, ento, fica destinado para novos projetos, sendo que a prpria equipe de pesquisa utiliza para

armazenamento dos resultados da minerao de dados realizada em toda a base de usurios. A Fig. 2 ilustra tal arquitetura. A infraestrutura do Twitter vinha sendo gerenciada via contrato de hospedagem pela NTT America, que opera vrios centros de dados no Vale do Silcio, e tem utilizado os servios de computao em nuvem da Amazon para armazenar e distribuir imagens de perfil [34]. Porm, desde o ano de 2010, o Twitter alegou que iria comear a operar as suas prprias instalaes e a realizar estratgias de migrao para o novo centro de dados [27].

Figura 2. Arquitetura do Twitter [35].

Recentemente o Twitter aderiu ao Lucene como um novo motor de busca em tempo real, lanando juntamente um substituto para a utilizao do Ruby-on-Rails, um servidor Java chamado Blender [36]. Essa mudana proporcionou ao Twitter executar trs vezes mais requisies de usurios em comparao a estrutura anterior [36]. IV. ESTUDO COMPARATIVO A partir das arquiteturas apresentadas nos tpicos anteriores ser apresentado um estudo comparativo identificando as caractersticas mais comuns encontradas nesses ambientes. A Tabela III sumariza os elementos das arquiteturas das trs redes sociais analisadas, que ajudam a manter o desempenho das respectivas aplicaes. importante ressaltar que existem diversos outros softwares que colaboram na manuteno do desempenho, todavia, neste estudo foram destacados aqueles disponveis para anlise.
TABELA III COMPARAO ENTRE ARQUITETURAS DAS REDES SOCIAIS.

FINGER AND MACIEL : A COMPARATIVE STUDY ON THE ARCHITECTURE

1213

Ao observar a Tabela III, verifica-se que as trs redes sociais possuem uma camada de cache e, como comentado anteriormente, o Facebook e o Twitter utilizam o Memcached, enquanto no MySpace, essa camada est acoplada ao SAN. Outro ponto a destacar, com relao ao armazenamento de dados, refere-se ao banco de dados utilizado. No caso do Facebook, a preferncia foi por um banco de dados no relacional, o HBase. O MySpace, por sua vez, usa um banco de dados relacional, porm, tambm distribudo, o SQL Server. J o Twitter utiliza ambos os tipos de bancos de dados. Para o processamento e armazenamento dos tweets ele aplica, desde o seu surgimento, o MySQL, e para novas pesquisas e projetos, o Cassandra. Quanto ao acesso s informaes nos bancos de dados, todos se utilizam do modelo de programao MapReduce, criado para processar grandes colees de dados em clusters de computadores que respondem de forma assncrona. O Twitter e Facebook fazem uso do Hadoop e o MySpace do Qizmt. Tecnologias comuns podem ser observadas nas arquiteturas do Facebook e do Twitter, como Memcached e Hadoop. Cabe ressaltar nesse quesito que, por mais que o MySpace se utilize de outras ferramentas, ele adquire a mesma disponibilidade de seus servios, mantendo seu funcionamento a uma grande demanda de usurios. Outro ponto comum s trs redes sociais diz respeito escalabilidade horizontal, caracterstica desejvel quando se precisa aumentar o processamento ou o armazenamento de dados, o que na prtica significa acrescentar mais mquinas ao aglomerado de mquinas (cluster) de um sistema distribudo. Todas as trs redes sociais possuem muitos servidores, um nmero que tende a crescer com o aumento de usurios. Dada a sua importncia, esse tipo de escalonamento deve ser definido logo no incio do projeto, porque se o sistema foi desenvolvido sem adequao a computao distribuda, por falhas de previso de que ele chegaria a tantas propores, o custo a sustentar ser reescrever a aplicao e adaptar para um ambiente distribudo. V. CONCLUSO O objetivo desta pesquisa foi apresentar um estudo comparativo das solues encontradas pelas Redes Sociais Facebook, MySpace e Twitter - a fim de investigar semelhanas ou diferenas na arquitetura desses sistemas. Durante a anlise das arquiteturas das redes sociais abordadas, verificou-se que os bancos de dados utilizados pelo trio so distribudos, sendo ele relacional ou no. Para suportar a programao distribuda optaram pelo modelo MapReduce, que capaz de processar grandes colees de dados de forma assncrona. Alm disso, todas as redes sociais analisadas possuem uma camada de cache para armazenamento temporrio dos dados. Essa estratgia, em termos de tempo, mais eficiente do que buscar a informao solicitada pelo usurio no disco rgido. Outro ponto comum encontrado que as respectivas arquiteturas foram modificadas diversas vezes at chegar configurao atual e, mesmo assim, provavelmente essa no ser a ltima. O importante no parar no tempo, continuar sempre buscando, aperfeioando, inovando e criando novas tecnologias e conceitos.

Um exemplo desse descompasso evolutivo o Twitter. O site no conseguiu acompanhar seu prprio crescimento, algo comum em servios de internet que crescem rpido demais. H alguns anos era possvel fazer um sistema mais ou menos escalvel e adapt-lo conforme o aumento do nmero de usurios. No mais possvel ser reativo, antes, preciso ser proativo e, se possvel, lanar tendncias/ ser precursor de ideias para garantir a liderana no segmento de redes sociais. Um dos problemas enfrentados no estudo foi a dificuldade em descobrir, por exemplo, a arquitetura utilizada para um tipo especfico de armazenamento, dado o carter sigiloso da informao. Esse tipo de informao encontra-se segmentado em pequenos trechos de vrios sites, artigos, palestras realizadas por engenheiros de software, entre outros. Acredita-se que o levantamento aqui realizado til para pesquisas aplicadas ao desenvolvimento e uso de arquiteturas de redes sociais, trazendo elementos importantes para a discusso dessa temtica. Assim como pesquisas podem ser desenvolvidas com base nas caractersticas abordadas neste estudo, tal como realizar um estudo de caso utilizando as ferramentas discutidas a fim de adquirir um maior detalhamento das dificuldades de implementao, como tambm possvel discutir o seu uso em outros ambientes, como o de educao, comrcio ou governo eletrnico. REFERNCIAS
[1] [2] [3] [4] [5] [6] [7] [8] Twitter, Investigating Elevated Error Rates, http://twitter.com/?discover=true&utm_comapign=user_discoverabilit y&utm_content=review&utm_medium=em, Maro, 2010. Pingdom, How Facebook, Twitter and other big sites give back to Open Source, http://royal.pingdom.com/2010/03/04/how-facebooktwitter-and-other-big-sites-give-back-to-open-source, Setembro, 2010. Compete, Social Networks: Facebook Takes Over Top Spot, Twitter Climbs, http://blog.compete.com/2009/02/09/facebook-myspacetwitter-social-network, Outubro, 2009. N. K. Denzin, Y. Lincoln, O Planejamento da Pesquisa Qualitativa Teorias e Abordagens, Artmed, Porto Alegre, RS, Brasil, 2006. C. Henderson, Building Scalable Web Sites, O'Reilly Media, Sebastopol, CA, Estados Unidos, 2006. I. Sommerville, Engenharia de Software, Pearson, So Paulo, SP, Brasil, 2007. G. Bell, Criando aplicaes para redes sociais, Novatec, So Paulo, SP, Brasil, 2010. C. Canali, J. Garcia e R. Lancellotti, Impact of Social Networking Services on the Performance and Scalability of Web Server Infrastractures, University of Moderna and Reggio Emilia, Itlia, 2010. J. M. Pujol, G. Siganos, V. Erramilli e P. Rodriguez, Scaling Online Social Networks without Pains, 5th International Workshop on Networking Meets Databases, Barcelona, Espanha, 2009. T. Finger, C. Maciel, Um estudo das arquiteturas de armazenamento de dados voltados Web, Escola Regional de Informtica SBC-Mato Grosso, Pak Multimdia, Cuiab, MT, Brasil, 2010. C. Maciel, Um mtodo para mensurar o grau de maturidade na tomada de deciso e-democrtica, Tese (Doutorado em Computao) - Universidade Federal Fluminense, Niteri, RJ, Brasil, 2008. R. Recuero, Redes Sociais na Internet, Meridional, Porto Alegre, RS, Brasil, 2009. Compete, Ranking of Top 50 Web Sites for February 2011 Reveals Familiar Dip, http://blog.compete.com/2011/03/29/compete-rankingof-top-50-web-sites-for-february-2011-reveals-familiar-dip/, Maro, 2011. Pingdom, Exploring the software behind Facebook, the worlds largest site, http://royal.pingdom.com/2010/06/18/the-softwarebehind-facebook, Setembro, 2010. K. Muthukkaruppan, The Underlying Technology of Messages, Facebook,

[9] [10] [11] [12] [13]

[14] [15]

1214

IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 1, JAN. 2012

[16] [17]

[18]

[19]

[20]

[21] [22] [23] [24]

[25] [26] [27] [28] [29] [30] [31]

[32] [33] [34]

[35] [36]

http://www.facebook.com/note.php?note_id=454991608919#, Fevereiro, 2010. W. Yang, Memcached SPOF Mystery, Twitter Engineering, http://engineering.twitter.com/2010/04/memcached-spofmystery.html, Novembro, 2010. J. Cohen, Graph Twiddling in a MapReduce World, Computing in Science and Engineering table of contentsarchive, Volume 11, Ed. 4, IEEE Educational Activities Department Piscataway, NJ, Estados Unidos, 2009. A. Thusoo, Z. Shao, S. Anthony, D. Borthakur, N. Jain, J. S. Sarma, R. Murthy, H. Liu, Data warehousing and analytics infrastructure at facebook, Proceedings of the 2010 international conference on Management of data (SIGMOD'10), ACM, Nova York, NY, Estados Unidos, 2010. R. Miller, Facebook Server Count: 60,000 or More, Data Center Knowledge, http://www.datacenterknowledge.com/archives/2010/06/28/facebookserver-count-60000-or-more/, Maro, 2010. J. Heiliger, Building Efficient Data Centers with the Open Compute Project, Facebook, http://www.facebook.com/note.php?note_id=10150144039563920, Abril, 2011. High Scalability, MySpace Architecture, http://highscalability.com/myspace-architecture, Agosto, 2009. W. Kim, O. Jeong e S. Lee, On social Web sites, Journal Information Systems, Volume 35, Edio 2, Elsevier Science Ltd. Oxford, Reino Unido, 2010. S. Molnar, MySpace Answers the Question: Why SQL Server, SQL Server Magazine, http://www.sqlmag.com/article/scalability/myspaceanswers-the-question-why-sql-server-/5.aspx, Maro, 2009. Microsoft, MySpace Uses SQL Server Service Broker to Protect Integrity of 1 Petabyte of Data, http://www.microsoft.com/casestudies/case_study_detail.aspx?casestu dyid=4000004532, Outubro, 2009. J. Hamilton, Scaling at MySpace, http://perspectives.mvdirona.com/2010/02/15/scalingatmyspace.aspx, Outubro, 2010. K. Weil, Measuring Tweets, Twitter Engineering, http://blog.twitter.com/2010/02/measuring-tweets.html, 2010. M. Abbott, The Great Migration, the Winter of 2011, Twitter Engineering, http://engineering.twitter.com/2011/03/great-migrationwinter-of-2011.html, 2011. E. Weaver, Building a Faster Ruby Garbage Collector, Twitter Engineering, http://engineering.twitter.com/2011/03/building-fasterruby-garbage-collector.html, Maro, 2011. B. Sandofsky, Unicorn Rails Server, Twitter Engineering, http://engineering.twitter.com/2010/03/unicorn-power.html, Dezembro, 2010. High Scalability, Scaling Twitter: Making Twitter 10000 Percent Faster, http://highscalability.com/scaling-twitter-making-twitter10000-percent-faster, Agosto, 2009. H. Yang et al., Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters, Proceedings of the 2007 ACM SIGMOD international conference on Management of data (SIGMOD '07), Nova York, NY, Estados Unidos, 2007. Hadoop Wiki, Application and organization using Hadoop, http://wiki.apache.org/hadoop/poweredby, Outubro, 2010. R. King, Cassandra at Twitter Today, Twitter Engineering, http://engineering.twitter.com/2010/07/cassandra-at-twittertoday.html, Outubro, 2010. R. Miller, Twitter Completes Data Center Migration, Data Center Knowledge, http://www.datacenterknowledge.com/archives/2011/03/21/twittercompletes-data-center-expansion/?utm-source=feedburner&utmmedium=feed&utmcampaign=feed%3A+datacenterknowledge+%28data+center+knowled ge%29, Maro, 2011. J. Adams, "In the Belly of the Whale: Operations at Twitter", In: O'Reilly Velocity Web Performance and Operations Conference, Santa Clara, CA, Estados Unidos, 2010. K. Gade, Twitter Search is Now 3x Faster, Twitter, http://engineering.twitter.com/2011/04/twitter-search-is-now-3xfaster_1656.html, Junho, 2011.

[37]

D. M. Boyd e N. B. Ellison, Social Network Sites: Definition, History, and Scholarship, Journal of Computer-Mediated Communication, Artigo 11, Estados Unidos, 2007.

Talita Finger graduada em Cincia da Computao pelo Centro Universitrio Cndido Rondon, Cuiab, Mato Grosso, Brasil (2008). Obteve o ttulo de especialista em Banco de Dados pela Universidade Federal de Mato Grosso, Cuiab, Mato Grosso, Brasil (2010). Atua na rea de desenvolvimento de sistemas desde 2005 e atualmente lder de desenvolvimento de sistemas pela Tecnomapas Ltda e pesquisadora colaboradora pela Universidade Federal de Mato Grosso, na qual suas pesquisas se concentram na rea de arquitetura de sistemas, inteligncia artificial, banco de dados e redes sociais. Cristiano Maciel possui graduao em Informtica pela Universidade Regional do Noroeste do Estado do Rio Grande do Sul (1995), Especializao em Avaliao Educacional pela Universidade Federal do Mato Grosso (1998), Mestrado em Cincias da Computao pela Universidade Federal de Santa Catarina (1997) e Doutorado em Cincia da Computao pela Universidade Federal Fluminense, com estgio na Universidade de Coimbra, em Portugal (2008). Possui experincia tanto docente quanto administrativa, e publicaes nas reas de Cincia da Computao e da Educao. Atualmente professor adjunto da Universidade Federal de Mato Grosso, em Cuiab (MT). Seus interesses so pelas reas de aplicaes internet, interao humano-computador, engenharia de software, redes sociais, governo eletrnico, educao a distncia e avaliao educacional.