Qual o melhor Banco de Dados?
Bom dia pessoal do SQL, hoje me deparei com uma pergunta muito interessante e muito polêmica e que vejo muitas pessoas falando: qual o melhor banco de dados?
Aqui entramos em uma seara muito obscura! Dizer que um banco de dados é melhor do que outro em 100% das ocasiões é de certo uma resposta errada por si só. Como profissionais de SQL devemos saber separar preferências pessoais, ou até mesmo o chamado “clubismo” das realidades de mercado. Banco de Dados não é clube de futebol meus amigos!
Em muitos casos a resposta mais óbvia dos profissionais é recomendar o Banco de Dados que mais usam ou que tem melhor familiaridade, ou ainda a tecnologia que está na moda.
Ao responder essa pergunta, deve-se responder antes a uma pergunta que ouvi muitas vezes durante a minha graduação: melhor para que? Cada banco de dados possui seus pontos fortes e fracos e para cada projeto, esses pontos devem ser levantados em conta na escolha de um Banco.
Enquanto escrevia esse post fiz algumas pesquisas, a primeira é sobre os bancos de dados mais utilizados na atualidade. Encontrei um site chamado DB-Engines que faz uma classificação mensal dos bancos de dados de acordo com a popularidade.
https://db-engines.com/en/ranking
Hoje (Outubro de 2020) o ranking está da seguinte forma:

O site faz a classificação usando 6 critérios: número de menções do sistema em sites, interesse geral no sistema, frequência de discussões técnicas na qual o sistema é mencionado, número de vagas ofertadas na qual o sistema é mencionado, número de perfis nas redes na qual o sistema é mencionado e relevância nas redes sociais. Dessa forma esse é muito mais um rank de popularidade do que efetivamente de qual é melhor, mas é sim um parâmetro a ser considerado, pois bancos mais populares tendem a ter uma comunidade maior e assim é mais fácil encontrar boas informações a respeito na internet, soluções de problemas, cursos, etc.
O rank em si não surpreende os developers mais calejados, Oracle, MySQL e SQL Server já são a muito tempo os bancos de dados mais populares. Na minha humilde opinião, o Oracle é atualmente um dos bancos mais robustos do mercado, não é para o projetinho de barbearia do seu curso. É uma ferramenta para grandes projetos, até porque o custo do licenciamento é alto. Dos bancos de dados Open Source o MySQL se destaca por ter sido uma das primeiras opções e também pelo fato de a maioria dos serviços de hospedagem oferecem o SGBD sem custo. O SQL Server, terceiro colocado também já está estabelecido no mercado a bastante tempo e agora oferece ainda soluções específicas para a nuvem.
Minha grande surpresa nesse rank foi o PostgreSQL, outro banco de dados Open Source e que vem crescendo muito rapidamente. O DB-engines também oferece uma visão temporal do crescimento da popularidade dos bancos.

Nesse gráfico podemos vem o crescimento do PostgreSQL e que em alguns anos ele já deva estar entre os bancos de dados mais populares no mundo.
Também devemos levar em conta que nem sempre um Banco relacional se faz necessário. Muitas um vezes um Banco NoSQL pode ser a melhor opção e nesse caso se destaca o MongoDB.
Na minha opinião a escolha deve ser orientada a 5 perguntas:
1 – Dimensão: qual o tamanho do projeto? Afinal não se mata uma mosca com uma bazuca nem um tanque de guerra com um mata moscas, cada projeto tem uma ferramenta ideal!
2 – Orçamento: quanto se pode gastar com o projeto? Dependendo dessa resposta o projeto poderá ser feito em uma plataforma Open Source, on premise, cloud, etc.
3 – Stack: a empresa para qual o projeto será entregue já possui alguma tecnologia de bancos de dados default? Esse item é muito importante e o mais ignorado pelos desenvolvedores. Muitas vezes utilizar uma tecnologia que não é de sua preferência, mas que já é amplamente utilizada pela empresa pode ser bem visto.
4 – Familiaridade: qual banco de dados você conhece mais a ponto de se sentir confortável para tocar um projeto? Em alguns casos pode ser necessário aprender uma nova tecnologia desde que essa seja uma deficiência sua como profissional.
5 – Mercado: quais os bancos de dados que estão sendo mais usados no mercado e porquê? Deve-se tomar muito cuidado ao responder essa pergunta pois há uma linha tênue entre seguir modinha e seguir tendências de mercado. Entretanto usar uma ferramenta popular facilitará diversas fases do projeto, como custo de cloud, suporte, dentre outras.
Vou deixar a minha opinião que, é claro, está enviesada de acordo com o que eu já trabalhei na vida.
1 – SQL Server – É o Banco que mais utilizei até agora na carreira, o SQL Server Management Studio é sem dúvida a ferramenta mais poderosa que já vi para desenvolvimento e gerenciamento de bancos de dados, fora diversas outras ferramentas que o ecossistema oferece, como o SQL Profiler. A documentação também é muito boa! A única coisa que tenho contra é que não é free, porém, vale muito a pena. No Azure há diversas opções em cloud e isso favorece demais qualquer tipo de projeto. Um recurso interessante também é o Table Elimination, mais para frente vou fazer um post sobre o assunto.
2 – MySQL – Minha segunda opção em bancos de dados, por ser bem fácil de mexer e free. Não é uma opção que supre qualquer tipo de projeto, mas para projetos pequenos é perfeito, tem uma administração bem simples, porém, oferece recursos também poderosos. O MySQL Workbench também é uma ferramenta muito boa. Eu pessoalmente não gostava muito, mas porque não sabia usar, mas depois que aprendi uso diariamente.
3 – Oracle – Trabalhei cerca de um ano diariamente com Oracle e recentemente voltei a trabalhar com o SGDB e na minha opinião é o mais completo e o mais robusto, porém, 2 itens jogam contra o Oracle: primeiro que é o banco com o licenciamento mais caro e também que não é um banco para qualquer um, deve-se ter um bom conhecimento de bancos de dados até mesmo para fazer uma boa instalação personalizada do SGDB. Uma curiosidade é que existe um linux específico para essa plataforma, o Oracle Linux, um distribuição feita sobre o Ubuntu.
Continuando esse rank minhas próximas opções seriam o PostgreSQL e o MongoDB. Também gosto do H2, por ser um banco em memória, facilita em muitos casos.
Vou parando esse post por aqui, que de drop esse post já virou um balde! Deixem nos comentários as opiniões de vocês e até a próxima!