Esse ano de 2012 ajudei a comunidade Riak que a cada dia esse banco de dados vem me surpreendendo. Estou para escrever um blogpost desde fevereiro, mas como vida de programador (pelo menos para mim esse ano) é agitada.
Resolvi falar sobre a performance nesse primeiro blogpost sobre Riak e colocar na mesa um teste (relativamente simples) para compara o tempo de inserção, realmente é um teste simples se tratando de NoSQL.
Antes de mostrar a comparação acho importante deixar claro as vantagens que temos em utilizar Riak:
- Disponibilidade: sistema de recuperação de dados onde trabalha de forma inteligente para que esteja disponível para ler e escrever operações, mesmo em ambiente com falha, assim garantindo a integridade dos dados;
- Tolerância a falhas: pode perder o acesso aos nós (Servidores Riak), devido à falha de rede ou partição de hardware e nunca perder de dados;
- Simplicidade de utilização: facil adição de máquinas em um cluster Riak, sem ocorrer uma carga nos servidores – isso em um pequeno grupo de servidores como uma grande quantidade de servidores Riak;
- Escalabilidade: Riak distribui automaticamente os dados ao redor do cluster e produz um aumento de desempenho quase linear quando você adicionar dados.
Depois de deixar claro os itens acima podemos colocar na messa o Riak e o grande MongoDB, lembrando que esse blogpost não é para falar qual NoSQL é melhor ou para você parar de utilizar um ou outro banco, Riak e MongoDB tem algumas características semelhantes, esse foi o motivo de colocar em teste os dois.
O teste foi simples preciso inserir 1 milhão (1000000) de registro no meu banco de dados, qual banco de dados entrega isso mais rápido para mim?
Código Python usando drive nativo do Riak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Código Python usano drive nativo do MongoDB:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Um código simples onde faço um loop que vai de 0 a 1000000 (estou fazendo 1000001 inserção), e dentro de cada interação do loop estou gerando um registro no banco de dados. Veja abaixo o resultado:
1 2 3 4 5 |
|
Realmente o tempo de execução do Riak é muito mas muito rápido, o que me deixou mais surpreso foi o tempo do MongoDB, o MongoDB demorou 9 vezes mais comparado com o Riak.
Não estou falando que o MongoDB é ruim, ate mesmo que tenho projetos grande em produção usando ele e dependendo do projeto/infra recomendo usar MongoDB.
The post Riak, alta performance NoSQL para seu projeto appeared first on Thiago Avelino.
0sem comentários ainda