sexta-feira, 14 de novembro de 2014

NoSQL

NoSQL (Not Only SQL) são diferentes sistemas de armazenamento que vieram para suprir necessidades em demandas onde os bancos de dados tradicionais (relacionais) são ineficazes. 

Essa nova geração de Banco de Dados agrega algumas características como sendo não-relacional, distribuído, código aberto e escalado horizontalmente.

O NoSQL surgiu da necessidade de uma performance superior e de uma alta escalabilidade. Os atuais bancos de dados relacionais são muito restritos a isso, sendo necessária a distribuição vertical de servidores, ou seja, quanto mais dados, mais memória e mais disco um servidor precisa. O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais dados, mais servidores, não necessariamente de alta performance. Um grande utilizador desse conceito é o Google, que usa computadores de pequeno e médio porte para a distribuição dos dados; essa forma
de utilização é muito mais eficiente e econômica. Além disso, os bancos de dados NoSQL são muito tolerantes a erros.
No caso dos bancos NoSQL, toda a a informação necessária estará agrupada no mesmo registro, ou seja, em vez de você ter o relacionamento entre várias tabelas para formar uma informação, ela estará em sua totalidade no mesmo registro.
A intenção original foram os bancos de dados na escala de webs. Esse movimento começou em 2009 e cresceu rapidamente desde então. É o modelo de banco de dados utilizado por sites como twitter, facebook e google.
Mas não confuda, não quer substituir SQL.
Cinco necessidades do mercado que não são atendidas perfeitamente pelos produtos de banco de dados e fornecedores disponíveis no mercado, são eles:
-escalabilidade
-performance
-consistência eventual ou relaxada
-agilidade
-complexidade
Principais tipos disponíveis:
1)Orientado a documentos
modelo de dados é uma coleção de documentos que contém um par chave, valor. 
2)Armazenamento por chave-valor
Modelo de dados é uma coleção global de pares de chave-valor. Gerencia bem o tamanho, processa uma quantidade constante de pequenas leituras e escritas
3)Clones de big table
Modelo de dados é uma família de colunas. Modelo tabular onde cada linha pode ter suas proprias colunas. Gerencia bem o tamanho, processa uma grande quantidade de carga via fluxos. Alta disponibilidade. Usada pelo google
4) Orientado a Grafos
Modelo de dados nós e relacionamentos, ambos manipulam par de chave-valor. é rapido.

domingo, 2 de novembro de 2014

tweets passados

"Clients may access a theoretical maximum of 3,200 statuses via the page and count parameters for theuser_timeline REST API methods. Other timeline methods have a theoretical maximum of 800 statuses. Requests for more than the limit will result in a reply with a status code of 200 and an empty result in the format requested. Twitter still maintains a database of all the tweets sent by a user. However, to ensure performance of the site, this artificial limit is temporarily in place."

solução que deram no google: radian6- produto pago


email:
"I'm a 20 years old student from Rio de Janeiro, Brazil and I'm doing a research with my university (PUC-Rio) about digital democracy, in other words, we collect the data from twitter about some political events in Brazil. At the moment, I need to get information about #marcocivil bewteen 2009 and 2013, and twitter search api does not allow it."

objetivos da semana

-terminar de ler as teses
-contatar o twitter para conseguir dados antigos (#marcocivil)
-começar a aprender a fazer a pagina
-analise de sentimentos
-como distinguir midia horizontal e midia vertical

quarta-feira, 29 de outubro de 2014

Novas informações de um tweet

Com finalidade de ajudar na distinção de tweets de midia e tweets de usuários comuns, agora é possivel coletar as seguintes informações:
-quantidade de seguidores do usuário que tweetou
-se é ou não verificado pelo twitter ( pessoas famosas e jornais reconhecidos possuem esse atributo)
-quantidade de pessoas que favoritaram o tweet

terça-feira, 28 de outubro de 2014

Machine Learning

Passado o desafio de coletar dados e já estando com o banco repleto de dados, passamos para a próxima etapa do projeto, hora de trabalhar com esses dados, para retirarmos deles as informações que necessitamos.

O que é MACHINE LEARNING?

" A aprendizagem automática ou aprendizado de máquina é um sub-campo da inteligência artificial dedicado ao desenvolvimento de algoritmos e técnicas que permitam ao computador aprender, isto é, que permitam ao computador aperfeiçoar seu desempenho em alguma tarefa. Enquanto que na inteligência artificial existem dois tipos de raciocínio - o indutivo, que extrai regras e padrões de grandes conjuntos de dados, e o dedutivo - o aprendizado de máquina só se preocupa com o indutivo.
Algumas partes da aprendizagem automática estão intimamente ligadas à mineração de dados e estatística. Sua pesquisa foca nas propriedades dos métodos estatísticos, assim como sua complexidade computacional. Sua aplicação prática inclui o processamento de linguagem natural, motores de busca, diagnósticos médicos, bioinformática, reconhecimento de fala, reconhecimento de escrita, visão computacional e locomoção de robôs. "

A partir disso, precisamos criar uma forma de identificar os tweets, por exemplo, os que são de mídia horizontal ou vertical, os que são contra ou a favor de um determinado candidato, etc.
Relacionado a isso estão os seguintes conceitos:
- mineração de dados (data mining) 
- análise de sentimentos/ mineração de opinião:  http://www.inf.ufsc.br/~alvares/INE5644/MineracaoOpiniao.pdf

Um grande desafio já previsto é a ironia presente quando um usuário, geralmente sem ser mídia, fala sobre política. Porém, não está certo que isso irá provocar impacto no resultado, pois a quantidade de ironia em relação a tweets sem ela, é mínima.

O site sentiment140.com obtem informações recentes sobre determinada marca ou produto e forma um gráfico analisando a opinião dos usuários. Quando entramos e pesquisamos sobre determinado assunto, podemos ver que os resultados nao sao precisos se analisarmos. Principalmente os classificados como negativos pelo que olhei.

Coleta do conteúdo: saber dividir fatos de opniões.

A classificação do conteúdo se dá em 3 etapas:
-aprendizagem de máquina
-seleção de palavras
-análise sintática

http://tecnologia.terra.com.br/internet/analise-de-sentimentos-e-novo-campo-na-web,48e8887dc5aea310VgnCLD200000bbcceb0aRCRD.html
opiniões dos úsuarios.

 

segunda-feira, 20 de outubro de 2014

Tamanho BD

A tabela possui os seguintes atributos:

- id : bigserial
-username: string 50 caracteres
-data: string 20 caracteres
-texto: string 160 caracteres
retweets: inteiro 

logo, 1 tupla ocupa o espaco de 8+50+20+160+4 bytes = 242 bytes