quarta-feira, 10 de dezembro de 2014

DATASIFT

https://www.youtube.com/watch?v=QOnOyJaxA6g

A plataforma de dados sociais mais poderosa do mundo.
É possível pegar dados de até 2 anos.

https://www.youtube.com/watch?v=pdfzcN31iyM

No inicio ganhamos um crédito de $10,00 porém para fazer buscar passadas é mais caro e o crédito não é suficiente. Portanto, só posso testá-lo para o presente.

No passado voce pode fazer buscas em períodos de 32 dias.

https://www.youtube.com/watch?v=JaT9jUeHnsY

pedi autorização para usar dados do twitter, agora é esperar para testarmos
Na pesquisa sobre qual ferramenta usar para capturar dados, sem ser a API do twitter, me deparei com esse site: http://www.researchgate.net/post/How_can_we_get_data_from_Twitter_for_discourse_analysis .
Nele uma pessoa faz essa mesma pergunta e várias respostas deram dicas sobre ferramentas a serem usadas. Resolvi então verificar tais ferramentas e ver se descobria algo útil.


1) NodeXL
É um plug-in para Excel que permite extrair direto os dados do twitter, uma ótima alternativa para quem não tem conhecimentos de programação, pois é simples de usar. Porém, o objetivo dessa ferramenta é analisar a "rede" (networking), ou seja, quais usuários se comunicam sobre um determinado assunto e gera uns grafos bem legais para análises. Mas não se encaixa no nosso objetivo do projeto. Mesmo assim, pelo que estudei, não pode escolher a data para fazer a pesquisa.

2)ScraperWiki

O ScraperWiki era uma ferramenta que fazia a "ponte" entre a API e usuários que necessitavam dos dados para alguma pesquisa porém não tem conhecimento de programação (como o Arthur, por exemplo). Porém, o twitter retirou a permissão da API para o site, proibindo continuar com tal serviço. 
O site então, em seu blog, fez uma explicação do por quê da suspensão e achei legal para entendermos também por que não podemos pegar dados antigos via API.

A explicação esta nesse site:
https://blog.scraperwiki.com/2014/08/the-story-of-getting-twitter-data-and-its-missing-middle/

em resumo:
Ele diz que existem quatro formas amplas de recolher esses dados.
1)Pela API, onde desenvolvedores podem pegar os dados para o uso próprio. O limite de dados é até generoso perto de outras redes sociais ( rate limits - quantidade de tweets que pode recolher de tanto em tanto tempo). Porém, você deve seguir as regras que eles impõe, ou twitter corta sua aplicação.
E, por outro lado, é injusto com aqueles que não sabem programar.

 2) Companhias de softwares desenvolvem aplicações que usam a API- firehouse.
Eles tem uma aprovação do twitter para poder usar esses dados e fornecer para outros. Essas aplicações não podem permitir analises e codificações pelos seus usuários.

3)Bulk tweet data ( dados dos tweets em massa), pode ser conseguido no Datasift e Gnip, que só incluem tweets. 
As duas companhias cobram pelos seus produtos. O custo é em torno de 10 cents/1000 tweets. O que fica inviável quando realmente a quantidade de dados é enorme (big data).

4)Programas especiais. Existem alguns institutos que tem acesso a todos os dados porém não podem disponibilizá-los.

Por que o twitter restringe o uso de dados?
A resposta óbvia seria para fins comerciais mas esse não é o caso. As razões seguem abaixo:

- Proteger privacidade e acabar com uso maliciosos
Quando usamos o método do firehouse, por exemplo, Datasift, você é obrigado a deletar sua cópia de um tweet assim que o usuário deleta ele da sua conta. Regra similar se aplica quando o usuário torna sua conta privada ou deleta a conta. Isso é impressionante, fantástico para a privacidade do usuário.
Logo, parte do motivo do twitter ser tão cuidadoso vetando usuários é para segurar que a privacidade está segura.
Twitter também previne usuários que podem causar "danos" a seus usuários. O site não explica muito mais cita como exemplo governos que quando tem grande volume de dados em suas mãos pode identificar contas anônimas . Isso provavelmente surgiu com a "revolução do twitter" como a do Iran em 2009. 

- Eles são uma companhia de mídia agora. 
Twitter mudou desde seu ínicio, hoje em dia são uma companhia de mídia e não só um veículo de mensagens.
Isso implica que o foco está em uma boa experiência para o usuário e propaganda, e não achar novos meios para o mercado de dados.


Assim pelo que podemos ver, uma única alternativa de conseguir esses dados seria através das firehouses
proximo post:
=> DATASIFT 

outra opção é baixar volumes de tweets existentes e ver se conseguimos extrair algo útil desses dados
https://archive.org/details/twitterstream 
http://archive.org/search.php?query=collection%3Atwitterstream&sort=-publicdate
será preciso muito espaço no disco pois o volume é imenso (testar no lab?).

http://allthingsd.com/20101110/twitter-firehose-too-intense-take-a-sip-from-the-garden-hose-or-sample-the-spritzer/

http://tweetreach.com/reports/12551375

terça-feira, 9 de dezembro de 2014

voltando à estaca zero

Como foi visto na postagem anterior, não é possível a partir da API do twitter (a ferramenta que eu utilizo para coletar os tweets) recolher dados mais antigos que, mais ou menos, 1 semana.
Porém, o twitter liberou recentemente todos os tweets da história para as pesquisar no browser.
Nosso objetivo é conseguir uma maneira de recolher os tweets sem usar a API do twitter, ou seja, voltar ao início da pesquisa. Como podemos recolher esses dados?

http://www.researchgate.net/post/How_can_we_get_data_from_Twitter_for_discourse_analysis

sexta-feira, 5 de dezembro de 2014

tweets antigos

https://blog.twitter.com/2014/building-a-complete-tweet-index

Notably, these search features are currently limited to the official Twitter apps. I wasn’t able to find old tweets in search using the Twitter API in Twitterrific and Tweetbot. Twitter writes:
For now, complete results from the full index will appear in the “All” tab of search results on the Twitter web client and Twitter for iOS & Twitter for Android apps. Over time, you’ll see more Tweets from this index appearing in the “Top” tab of search results and in new product experiences powered by this index.

quinta-feira, 4 de dezembro de 2014

NoSQL - PRÓS vs CONTRAS

VANTAGENS:

1)Alta Escalabilidade
Sua escalabilidade elástica é o diferencial que o faz vantajoso para grande quantidade de dados (Big Data). No modelo relacional é preciso adicionar servidores maiores e mais poderosos a medida que a base de dados cresce, logo, quando se trata de uma enorme quantidade de dados, isso se torna inviável. Já em uma base de dados não relacional, há disstribuição da base de dados em diversos hosts com o objetivo de tornar eficiente o gerenciamento.

2)Flexibilidade
Banco de dados NoSQL são considerados menos restritivos que os relacionais, geralmente porque não está amarrado em um específico modelo de dados. Aplicações podem armazenar os dados em qualquer estrutura virtual que desejarem ou formatos que forem necessários.

3)"Amigo" do administrador
menos complexa e mais simples de implantar que os SQL, Isso porque eles são planejados da base para necessitar menos gerenciamento, com reparação automática, distribuição de dados e modelos mais simples.

4)Bom custo-benefício e open-source
Os servidores utilizados em noSQL são tipicamente mais baratos, contrário aos geralmente caros servidores e sistemas de armazenamento requeridos pelos bancos relacionais. Além disso, noSQL é totalmente código aberto (open source), implicando em alta confiança na segurança e rapidez de implementação.

5) As nuvens são o limite
Sistemas noSQL são amarrados com os sistemas de nuvens. Isso permite que o administrador foque mais no software e derivados do que se preocupar com o hardware que está sendo usado.
Aproveitamento da escalabilidade elástica dos sistemas de nuvens.


DESVANTAGENS:

Uma das principais razões pela qual o NoSQL nunca substituirá o SQL é porque nunca foi feito para ser. Os modelos NoSQL tem um foco bem central: eles são projetados basicamente para armazenamento de dados e oferece muita pouca funcionalidade além disso.
Quando as transações entram em jogo, o SQL ainda é mais vantajoso.

1)"Estandartização" e Open Source
O open source do NoSQL pode ser considerado sua maior vantagem e sua maior fraqueza.

2)Performance e escalabilidade > consistência
Devido a forma em que é armazenada, a consistência dos dados nos bancos de dados NoSQL pode acabar sendo uma preocupação. Esse tipo de banco prioriza sua performance e escalabilidade, então a consistência acaba sendo não considerada. Logo, dependendo do seu objetivo de uso, isso pode ser uma péssima característica ou forte qualidade. Por exemplo, para tratar de gerenciamento de registros financeiros, esse característica é totalmente negativa.

3)Falta de maturidade
Apesar de não ser a maior novidade do momento (a base da tecnologia já existe há mais de 10 anos)
, a aceitação total do NoSQL ainda não é generalizada. Comparada aos bancos tradicionais relacionais, sua tecnologia ainda é um tanto imatura, isso é refletido ainda em sua falta de desenvolvedores e administradores com os certos conhecimentos e habilidades no assunto.
Ser "amigo" dos administradores e desenvolvedores não ajuda em nada se nenhum dos dois tem as ferramentas necessárias ou conhecimentos para lidar com ele.

Além disso, os bancos SQL estão muito estabilizados no mundo empresarial e, assim, desfruta de maior funcionalidade, aceitação e uma boa quantidade de profissionais que realmente o entendem e sabem gerenciá-los.

conclusão:
Bancos de dados NoSQL vem ganhando uma grande popularidade nos últimos anos, com o crescimento de big data e a ainda mais crescente perseverança das nuvens. Enquanto a tecnologia é ótima para lidar com as dificuldades envolvendo dados desestruturados, é por outro lado limitado em outras áreas chaves.

O administrador deve então considerar cuidadosamente o tipo de banco de dados que melhor satisfaz suas necessidades antes de se comprometer com uma implementação ou outra. A escolha errada pode ter consequências desastrosas

fonte:
http://greendatacenterconference.com/blog/the-five-key-advantages-and-disadvantages-of-nosql/