Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: XUbuntu
Por izaias
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Apache Cassandra NoSQL, uma tecnologia emergente
Linux user
cabelo
17/03/2010
Neste documento veremos, sem mistério, um pouco da tecnologia emergente NoSQL (Apache Cassandra), que tomou o lugar do banco MySQL no projeto Twitter, segundo as notícias publicadas em toda internet, como também colocou em evidência o assunto.
Por: Alessandro de Oliveira Faria (A.K.A. CABELO) | Blog: http://cabelovivaolinux.wordpress.com/
[ Hits: 17550 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Introdução

Desenvolvido inicialmente pelo Facebook como open source em 2008, cujo objetivo foi ampliar o universo de instalação MySQL, o Cassandra exerce com excelência a função de repositório de dados. Leve e desenvolvido na plataforma Java, ele não apresenta a sobrecarga de recurso do banco de dados convencionais. Atualmente o projeto é baseado na tecnologia emergente NoSQL e encontra-se incubado pela Fundação Apache.

Com poucos minutos de pesquisa na internet, é possível encontrar testes realizados por diversos segmentos demonstrando confiabilidade, escalabilidade e fácil gerenciamento. Atualmente o Twitter apresenta uma massa crítica e pesada baseada no seu monstruoso crescimento atrelado a escala temporal, sendo assim, este cenário é um excelente "caso de sucesso" para o Apache Cassandra.
Linux: Apache Cassandra NoSQL , uma tecnologia emergente.
Instalei o projeto Apache Cassandra e veremos na próxima página, passo-a-passo como fazê-lo sem trauma algum. NoSQL conta com sua maior aplicação atual: 100 terabytes de dados e 150 servidores (uma base consideravelmente grande). Diversas APIs de acesso proporcionam o seu uso de forma muito simples (Ruby, Perl, Scala, Python, PHP e Java).

O Digg usa o Cassandra, o Facebook (desenvolvedor original) e agora o Twitter. Isto demonstra que a desnormalização de dados não é um problema onde geralmente leva-se em conta ao custo do espaço em disco. O vasto campo do NoSQL está gerando grandes interesses, e as sua técnicas estão colocando em evidências os bancos de dados NoSQL.

O texto a seguir foi extraído do post do blog globalcoder e ilustra bem o atual polêmico cenário:

"Escalabilidade é um tema bastante complexo e armazenamento e processamento de grandes volumes de dados são focos de pesquisas que estão bem aquecidas hoje em dia. Um dos mais ativos movimentos nesta linha está tomando forma, encorpando e sendo batizado. Chama-se NoSQL. Em um livro recém lançado intitulado 'Hadoop: The Definitive Guide' (escrito por Tom White) há uma passagem digna de nota (em uma tradução livre):

Este é o resumo de como a história acerca de escalabilidade no uso de um banco de dados relacional se desenrola. A seguinte lista assume uma aplicação de sucesso, de demanda crescente.


Lançamento ao público inicial:

Cópia da instância MySQL de desenvolvimento para o ambiente de produção, compartilhado e remoto, tendo um esquema de dados bem definido.

A aplicação se torna mais popular; requisições demasiadas de leitura atingindo o banco de dados:

Adiciona-se "memcached" ao sistema para que as requisições mais comuns se mantenham em memória. As leituras ao banco de dados não são mais estritamente ACID; dados armazenados em memória devem ser invalidados por algum mecanismo.

A aplicação continua com crescente demanda; requisições demasiadas de escrita atingindo o banco de dados:

Escala-se verticalmente o MySQL através da atualização de hardware do servidor com 16 núcleos, 128 GB de RAM e bancos de discos rígidos com 15000 RPMs. Oneroso.

Novos recursos implementados no sistema aumentam a complexidade das consultas SQL; agora temos muitos "joins":

Desnormalização dos dados para reduzir "joins" (isto não é o que eles ensinam na escola para DBA).

Demanda da aplicação cresce e derruba o servidor; tudo está muito lento:

Para-se com qualquer processamento no lado do servidor.

Algumas consultas ainda estão lentas:

Cria-se periodicamente "views" materializadas das consultas mais complexas, tenta-se eliminar "joins" na maioria dos casos.

Leituras estão aceitáveis mas escritas estão cada vez mais lentas e lentas:

Elimina-se índices secundários e "triggers"! Sem índices? ...

Quantos de nós estamos envolvidos com sistemas que estão nesta rota? Será mesmo que nossas aplicações nunca atingirão tais níveis?"

Texto extraído de: http://blog.globalcode.com.br/

Bom, agora chega de blá, blá, blá e partiremos para o que realmente interessa, a mão na massa...

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Jogo rápido, download e instalação

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por jborda em 18/03/2010 - 08:49h:

"Boa Cabelo!", tenho "ouvido" falar muito no Cassandra(NoSQL) ultimamente(essa semana), e agora com "ela" bombando no Twitter vai chamar muito a atenção! Pretendo testa-lo logo-logo.

[2] Comentário enviado por newwave em 19/03/2010 - 18:28h:

Ainda não entendi uma coisa: NoSQL, significa que ele não usa o padrão SQL e sim um padrão próprio?
Outra coisa: não serve pra ser usado em C/C++?

[3] Comentário enviado por baza em 20/03/2010 - 13:11h:

A gente que era acostumada a instalar o metapacote LAMP teria grandes dificuldades em substituir o Mysql pelo NoSQL?


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.