Escalabilidade

4 Comments

É a característica de uma aplicação ter sua disponibilidade aumentada em relação do numero de utilizadores, imagine uma aplicação em um site que esta funcionando corretamente em um cenário de 1.000 usuários on-line e sofre uma demanda e passa a ter 10.000 acessos simultâneos, não havendo uma infra-estrutura adequada o serviço pára, porque não consegue atender toda demanda destes usuários acessando simultaneamente esta aplicação.

E com o volume de informação sendo produzida nos dias de hoje isso tem se tornado uma preocupação cada vez mas para os gestores de TI, tudo depende da informática e você ficar sem poder ter acesso a determinadas informações pode trazer diversos prejuízos correlacionado a isso, a demanda de grandes provedores de conteúdo tem crescido exponencialmente absurdamente e a tendência é que vai piorar porque ainda não atingimos a total capacidade de distribuição do acesso a internet o Brasil segundo o IBOPE que passo a partir de maio de 2009 a divulgar a quantidade de usuários com acesso a internet nas residências e local de trabalho, em Dez 2009 tínhamos pessoas com acesso: 46.800 e usuários ativos 36.000 isso da uma idéia do quanto ainda tem a crescer esta massa de dados no Brasil, tornando as estruturas que estão preparadas para ser escalada um grande diferencial competitivo.

Para ter uma idéia do que estou falando, fenômenos como as Redes Sociais e Blogs mostraram nos últimos anos que a quantidade de dados gerados pelos usuários cresce exponencialmente a cada ano, para ter uma idéia de como esta tendência acompanhe estes números:

O Internet Archive guarda mais de 20 Petabytes e está crescendo a uma taxa de 20 Terabytes por mês o Facebook já guarda mais de 10 bilhões de fotos já o Ancestry.com, site de arvore genealógica armazena 2.5 Petabytes de dados, o eBay processa mais de 60 bilhões de novos registros de dados por dia totalizando mais de 40 Terabytes, mais de 50 Petabytes de dados são processados todos os dias para atender as requisições dos usuários. Isso nos da uma idéia do quanto de dados esta sendo gerado e armazenado é por isso que não se pode deixar a escalabilidade fora do planejamento de um projeto que ira demandar um certo crescimento e principalmente se este projeto for conter recursos de rede social.

Cassandra nova opção do Twitter

5 Comments

O banco de dados Cassandra hoje da Apache Software Foundation.

Ele foi desenvolvido inicialmente pelo Facebook liberado como open source em 2008 para ampliar sua instalação de MySQL, o Cassandra é um repositório de dados leve feito em Java, que dispensa a sobrecarga de recursos dos bancos de dados relacionais convencionais. A tecnologia é similar àquela oferecida por outros bancos de dados NoSQL emergentes, como MapReduce e Hadoop.

O Cassandra tem por adversarios atualmente bancos como MemCacheDB, Voldemort, HyperTable, MongoDB, HBase e Redis.

Em testes realizados por algumas empresas e universidades ele vem se mostrando mas confiavel, escalavel e de fácil gerência.

Lendo um post no blog MyNoSQL, “onde me inspiro a escrever este” retrata que o engenheiro do twitter Ryan King diz que a empresa pretende trocar o MySQL pelo banco Cassandra, motivo este a grande comunidade de desenvolvedores a resistencia e escalabilidade do banco.

O Twitter é uma massa critica de dados em função de seu crescimento abisurdo em pequena escala de tempo tornando assim um ecelente case para ser acompanhado da resposta que esta banco vai trazer de melhora para esta rede social.

Ainda não instalei o Cassandra como fiz com o HyperTables tenho acompanhado deu desenvolvimento e alguna materias de sua aplicação em alguns cases sendo muito bem comentado suas caracteriscas de escalabilidade e muita resistencia.

Em MyNoSQL fala de sua maior aplicação atualmente: 100 terabytes de dados usando 150 servidores é uma base consideravem, muitos projetos iniciais se encaixaria dentro resta realidade com muita folga.

Sua API pode ser usada com varias linguagem como: Ruby, Perl, Scala, Python, PHP e Java é claro.

O campo do NoSQL está atraindo grande interesse, e as técnicas usadas com o Cassandra podem facilmente ser aplicadas a qualquer outro banco de dados NoSQL emergente.