UEPB ➔ Desenvolvedor Web na sodavirtual.com.br ➔ Django ➔ befter.net ➔ Áreas de interesse ➔ Desenvolvimento web ➔ Computação nas núvens ➔ Sistemas operacionais
uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Wikipedia: http://pt.wikipedia.org/wiki/Escalabilidade
uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Wikipedia: http://pt.wikipedia.org/wiki/Escalabilidade Escalabilidade != Performance
uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Wikipedia: http://pt.wikipedia.org/wiki/Escalabilidade Escalabilidade != Performance Podemos ter sistemas escaláveis que usam linguagens “lentas” (Rails escala?)
uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Wikipedia: http://pt.wikipedia.org/wiki/Escalabilidade Escalabilidade != Performance Podemos ter sistemas escaláveis que usam linguagens “lentas” (Rails escala?) Dois tipos: Vertical e Horizontal
de dados distribuído: BigTable (Não relacional) Processamento distribuído: Map/Reduce Hadoop (Open Source) Sistema de arquivos distribuído: HDFS Banco de dados distribuído: Hbase Processamento distribuído: Map/Reduce Java
date Tabela Comments id int autoincrement post_id int foreignkey comment text pub_date date Desnormalização Para saber a quantidade de comentários de cada post é necessário fazer um select count
date Tabela Comments id int autoincrement post_id int foreignkey comment text pub_date date Desnormalização Para saber a quantidade de comentários de cada post é necessário fazer um select count Agora imagine que você quer listar os cem últimos posts, vamos ter cem vezes o select count
date Tabela Comments id int autoincrement post_id int foreignkey comment text pub_date date Desnormalização Para saber a quantidade de comentários de cada post é necessário fazer um select count Agora imagine que você quer listar os cem últimos posts, vamos ter cem vezes o select count Agora imagine que a tabela de comentários já ultrapassou a barreira de um milhão de linhas
date comments_count int Tabela Comments id int autoincrement post_id int foreignkey comment text pub_date date Desnormalização Para saber a quantidade de comentários de cada post é necessário fazer um select count Agora imagine que você quer listar os cem últimos posts, vamos ter cem vezes o select count Agora imagine que a tabela de comentários já ultrapassou a barreira de um milhão de linhas Solução: crie um campo comments_count em posts e a cada novo comentário incremente o campo
em consideração que a replicação é assíncrona) Eficiente apenas para aplicações com bastante leitura e pouca escrita Volume de dados não pode ultrapassar o limite do servidor
mais verdadeiramente relacional (precisa ser gerenciado via aplicação) Ao adicionar um novo servidor, como rebalancear a carga? Mais shards, mais complexidade