quinta-feira, 19 de fevereiro de 2015
data scraping
Baseando em um programa em java que realiza um scrapping da sites de notícias, tentarei realizar um scraping do twitter para coletar dados que a api não fornece.
terça-feira, 10 de fevereiro de 2015
Cassandra
>>http://www.ibm.com/developerworks/br/library/os-apache-cassandra/
Registrando o vídeo dessa palestra sobre cassandra. Muito bom!
https://www.youtube.com/watch?v=B_HTdrTgGNs
Cassandra é uma implementação de família de colunas NoSQL que suporta o modelo de dados Big Table e usa aspectos de arquitetura introduzidos por Amazon Dynamo (como visto no vídeo, é um papper que fala sobre noSQL. Um dos primeiros pappers sobre o assunto. Até hoje se baseiam em suas idéias para bancos nosql).
A Figura mostra a arquitetura de um cluster do Cassandra. A primeira observação é que o Cassandra é um sistema distribuído. O Cassandra consiste em vários nós e distribui os dados entre eles (ou divide-os em shards, na terminologia de bancos de dados).

O Cassandra usa hashing consistente para designar itens de dados a nós. Em termos simples, o Cassandra usa um algoritmo hash para calcular o hash de chaves de cada item de dados armazenado nele (por exemplo, nome de coluna, ID de linha). O intervalo de hash, ou todos os valores de hash possíveis (também chamado de keyspace), é dividido entre os nós no cluster do Cassandra. Em seguida, o Cassandra designa cada item de dados ao nó, e esse nó é responsável por armazenar e gerenciar o item de dados.
alguns pontos:
- O Cassandra distribui dados entre seus nós de forma transparente para o usuário. Qualquer nó pode aceitar qualquer solicitação (leitura, gravação ou exclusão) e encaminhá-la ao nó correto, mesmo que os dados não estejam armazenados nesse nó.
- Os usuários podem definir quantas réplicas são necessárias, e o Cassandra cuida da criação e gerenciamento de réplicas de forma transparente.
- Consistência ajustável: ao armazenar e ler dados, os usuários podem escolher o nível de consistência esperado em cada operação. Por exemplo, quando o nível de consistência "quorum" é usado ao gravar ou ler, os dados são gravados e lidos em mais de metade
dos nós no cluster. O suporte a consistência ajustável permite que os usuários escolham o melhor nível de consistência para o caso de uso
- O Cassandra fornece gravações muito rápidas (até mesmo mais rápidas que as leituras), transferindo dados a cerca de 80-360 MB/s por nó.
O cassandra se baseia em nós. Cada nó é totalmente independente. Os dados são dividos nesses nós.
Há também cópia de dados do nó onde foi armazenado para outros nós. Isso permite total constância, evitando erros. Como dito na palestra, devemos admitir que sempre haverá erros para saber como lidar e evitar que isso nos atrapalhe. Então, se um servidor (nó) sair do ar, haverá o dado em outro servidor, não gerando danos no banco.
Essa vantagem também permite manutenção do banco sem precisar tirá-lo do ar.
Registrando o vídeo dessa palestra sobre cassandra. Muito bom!
https://www.youtube.com/watch?v=B_HTdrTgGNs
Cassandra é uma implementação de família de colunas NoSQL que suporta o modelo de dados Big Table e usa aspectos de arquitetura introduzidos por Amazon Dynamo (como visto no vídeo, é um papper que fala sobre noSQL. Um dos primeiros pappers sobre o assunto. Até hoje se baseiam em suas idéias para bancos nosql).
A Figura mostra a arquitetura de um cluster do Cassandra. A primeira observação é que o Cassandra é um sistema distribuído. O Cassandra consiste em vários nós e distribui os dados entre eles (ou divide-os em shards, na terminologia de bancos de dados).
O Cassandra usa hashing consistente para designar itens de dados a nós. Em termos simples, o Cassandra usa um algoritmo hash para calcular o hash de chaves de cada item de dados armazenado nele (por exemplo, nome de coluna, ID de linha). O intervalo de hash, ou todos os valores de hash possíveis (também chamado de keyspace), é dividido entre os nós no cluster do Cassandra. Em seguida, o Cassandra designa cada item de dados ao nó, e esse nó é responsável por armazenar e gerenciar o item de dados.
alguns pontos:
- O Cassandra distribui dados entre seus nós de forma transparente para o usuário. Qualquer nó pode aceitar qualquer solicitação (leitura, gravação ou exclusão) e encaminhá-la ao nó correto, mesmo que os dados não estejam armazenados nesse nó.
- Os usuários podem definir quantas réplicas são necessárias, e o Cassandra cuida da criação e gerenciamento de réplicas de forma transparente.
- Consistência ajustável: ao armazenar e ler dados, os usuários podem escolher o nível de consistência esperado em cada operação. Por exemplo, quando o nível de consistência "quorum" é usado ao gravar ou ler, os dados são gravados e lidos em mais de metade
dos nós no cluster. O suporte a consistência ajustável permite que os usuários escolham o melhor nível de consistência para o caso de uso
- O Cassandra fornece gravações muito rápidas (até mesmo mais rápidas que as leituras), transferindo dados a cerca de 80-360 MB/s por nó.
O cassandra se baseia em nós. Cada nó é totalmente independente. Os dados são dividos nesses nós.
Há também cópia de dados do nó onde foi armazenado para outros nós. Isso permite total constância, evitando erros. Como dito na palestra, devemos admitir que sempre haverá erros para saber como lidar e evitar que isso nos atrapalhe. Então, se um servidor (nó) sair do ar, haverá o dado em outro servidor, não gerando danos no banco.
Essa vantagem também permite manutenção do banco sem precisar tirá-lo do ar.
segunda-feira, 9 de fevereiro de 2015
Instalanda Apache Cassandra Database
Na última reunião foi decidido que iriamos realizar a comparação entre 3 bancos de dados. 1 slq e 2 nosql (mongodb e cassandra)
MongoDB já foi instalado e o passo agora é instalar o Cassandra.
Próximo passo é tentar ligar esses bancos com a api do twitter para recolher os dados em python e ver algumas interfaces alternativas que facilitam o trabalho em comparação a trabalhar com o terminal
MongoDB já foi instalado e o passo agora é instalar o Cassandra.
Próximo passo é tentar ligar esses bancos com a api do twitter para recolher os dados em python e ver algumas interfaces alternativas que facilitam o trabalho em comparação a trabalhar com o terminal
sexta-feira, 30 de janeiro de 2015
quarta-feira, 21 de janeiro de 2015
Implementação de banco NoSQL
http://zerotoprotraining.com/index.php?mode=video&id=1305
Pensei que o MongoDB seria um bom banco para implementar em nossa projeto em vez de outro banco por motivos como:
-Sua funcionalidade: "Dados estatísticos, frequentemente escritos mas raramente lidos (por exemplo, um contador de hits na web), devem usar um modelo chave/valor como o Redis, ou um modelo de documento como o MongoDB.". No nosso projeto a frequência em que os dados são escritos é extremamente maior do que a frequência em que esses dados são consultados.
- Diversas fontes de consultas: Aparenta ser um banco de dados com muitas dicas na internet, fácil entendimento e muitos foruns para tirar dúvidas.
Entre outros motivos citados no post anterior.
>>> http://zerotoprotraining.com/ video 1: https://www.youtube.com/watch?v=liQzIsFnCr0 - What is MongoDB?
Muito explicativo. Introduz o conceito de Nosql, comparando com os bancos sql.
Depois começa a explicar sobre o conceito de banco orientado a documento.
No MongoDB, os documentos são da forma BSON, muito parecido com o JSON. Nesse banco, para cada objeto temos campos que são pares de chave-valor. Além disso, para cada instência existe um campo obrigatório que é a id do objeto (equivalente a um chave primaria nos bancos relacionais).
Aponta também a flexibilidade comparado ao sql. Nos bancos relacionais, as instâncias de um mesmo objeto deve ter os mesmos números de campos, mas já no MongoDB isso não é necessário. Enquanto um objeto tem 3 campos, o outro pode ter apenas 2 (não esquecendo da id obrigatória).
Também fala sobre os objetos com objetos dentro, nested structures, uma estrutura de dados bem prática.
Existe linguagem para consultas!! Pode ser usado não só em aplicações big data mas também em tradicionais.
vídeo 2: https://www.youtube.com/watch?v=QcP4XExUpfA - Installing MongoDB on windows
vídeo 3: https://www.youtube.com/watch?v=HYIuXB3zk3g - Creating Database Folder and Starting MongoDB service
vídeo 4:https://www.youtube.com/watch?v=Uvw_4HW89qo - Testing Connection to MongoDB database
Pensei que o MongoDB seria um bom banco para implementar em nossa projeto em vez de outro banco por motivos como:
-Sua funcionalidade: "Dados estatísticos, frequentemente escritos mas raramente lidos (por exemplo, um contador de hits na web), devem usar um modelo chave/valor como o Redis, ou um modelo de documento como o MongoDB.". No nosso projeto a frequência em que os dados são escritos é extremamente maior do que a frequência em que esses dados são consultados.
- Diversas fontes de consultas: Aparenta ser um banco de dados com muitas dicas na internet, fácil entendimento e muitos foruns para tirar dúvidas.
Entre outros motivos citados no post anterior.
>>> http://zerotoprotraining.com/ video 1: https://www.youtube.com/watch?v=liQzIsFnCr0 - What is MongoDB?
Muito explicativo. Introduz o conceito de Nosql, comparando com os bancos sql.
Depois começa a explicar sobre o conceito de banco orientado a documento.
No MongoDB, os documentos são da forma BSON, muito parecido com o JSON. Nesse banco, para cada objeto temos campos que são pares de chave-valor. Além disso, para cada instência existe um campo obrigatório que é a id do objeto (equivalente a um chave primaria nos bancos relacionais).
Aponta também a flexibilidade comparado ao sql. Nos bancos relacionais, as instâncias de um mesmo objeto deve ter os mesmos números de campos, mas já no MongoDB isso não é necessário. Enquanto um objeto tem 3 campos, o outro pode ter apenas 2 (não esquecendo da id obrigatória).
Também fala sobre os objetos com objetos dentro, nested structures, uma estrutura de dados bem prática.
Existe linguagem para consultas!! Pode ser usado não só em aplicações big data mas também em tradicionais.
vídeo 2: https://www.youtube.com/watch?v=QcP4XExUpfA - Installing MongoDB on windows
vídeo 3: https://www.youtube.com/watch?v=HYIuXB3zk3g - Creating Database Folder and Starting MongoDB service
vídeo 4:https://www.youtube.com/watch?v=Uvw_4HW89qo - Testing Connection to MongoDB database
Assinar:
Postagens (Atom)
