Com essa onda de NoSQL pra cá, NoSQL pra lá, muitos ainda tem muitas duvidas em relação ao NoSQL, de quando usar, como usar e etc. E como não podia deixar de ser, vários mitos estão rodeando esse novo conceito de banco de dados.
Afinal o que é NoSQL?
NoSQL é uma nova forma de bancos de dados, que não usam apenas os comandos SQL que você está acostumado, SELECT, UPDATE, DELETE e todas as váriaveis dele. Normalmente essas instruções foram trocadas por funções e muitas vezes já em oop.
Não é só porque ele não usa instruções SQL que ele é melhor que o banco de dados que você usa. Os bancos de dados atuais, são muito antigos, o MySQL por exemplo começou em 1994, utilizando o modelo relacional de tabelas, isso é um conceito tão antigo quanto esses bancos de dados. Os bancos de dados NoSQL aproveitam e corrigem erros como a dificuldade de escalar esses bancos de dados.
Pra que serve?
Um dos mitos do NoSQL é que só 10% dos sites de hoje em dia, devem usar o NoSQL. Isso na verdade é uma interpretação errada, a idéia na afirmação é que 90% dos sites não sentiriam uma melhora consideravel de performance. Isso é verdade imagine um blog com 10 visitas diárias, qualquer banco de dados atual serve pra essa aplicação, até mesmo se você tiver 10mil visitas diárias.
Mas isso não siguinifica que você não possa usar um banco de dados NoSQL para a sua aplicação. Se você quiser usar um banco de dadso NoSQL no seu blog de 10 visitas diárias, isso não te impede de nada.
Se não preciso porque usar?
Você pode ter um site, que é bastante visitado o seu banco de dados estar aguentando bem, mas você quer gerar alguns logs, seja para estatisticas ou para qualquer outra coisa. Seria bastante viavel usar um banco de dados desses, porque você vai ter muitos dados, você vai precisar consultar de forma rápida e fácil, um NoSQL seria ótimo para isso.
Onde usar?
Muito se tem visto sobre usar o NoSQL em aplicações web de grande porte, porem ela pode ser usada em qualquer tipo de aplicação, você pode usar na web ou no desktop, não tem limites para isso.
Não posso usar NoSQL com um banco de dados relacional
Você pode e deve usar um NoSQL com algum banco de dados relacional que você use. Você pode até usar vários tipos de NoSQL e um MySQL por exemplo. Pode usar um NoSQL para cache dos dados, outro para os registros de logs e assim por diante, claro que você não precisa disso, mas você pode fazer.
Qual posso usar?
Você pode usar qualquer NoSQL, porem se você quer começar no mundo NoSQL eu aconselharia um banco de dados orientado a documentos, eu creio que seja o mais próximo de um banco de dados relacional, e são extremamente faceis de se usar. Apesar de serem bastante parecidos, eles tem conceitos diferentes, por exemplo, você não precisa de uma tabela para comentarios e uma para posts, você coloca tudo no mesmo documento(como se fosse uma tabela).
Considerações finais
Como vocês puderam ver, um NoSQL pode ser usado para qualquer tipo de aplicação, seja web como desktop, pequena, média ou grande. Porem as vezes você pode sentir mais diferença estruturando corretamente o seu banco de dados atual do que mudando completamente para um NoSQL.
A vatagem de um NoSQL é a alta escalabilidade a velocidade de inserção e de consulta desses bancos são absurdos. Eles vieram para arrumar problemas que os bancos de dados relacionais tem e que não foram projetados nem imaginados na época que o sistema relacional foi criado.
Escrito por: Alex