Usar o NoSQL em tudo?
Em uma conversa com alguns desenvolvedores, percebi que aquela ilusão de que uma Banco de Dados NoSQL, serviria para qualquer coisa, inclusive substituir o Banco de Dados Relacional, pode estar chegando ao final.
Infelizmente, o aprendizado está sendo na tentativa e erro, perdendo tempo e prejudicando alguns sistemas, com a ilusão de que um Banco de Dados NoSQL, consiga substituir um Banco de Dados Relacional, para as aplicações transacionais.
Veja, quando as equipes de desenvolvimento se pegam construindo as integridades, que o Banco Relacional faz muito bem, é o momento onde se reencontra a razão. Os anos em que as empresa gastaram para criarem regras e normas que possibilitam o dado ter integridade em um SGBD Relacional, não justifica a reinvenção da roda, pois se você decidir que não irá mais usar uma Base de Dados Relacional e for usar um NoSQL, para manter o sistema transacional da sua empresa rodando, será necessário escrever funcionalidades que evitem redundância de dados e não esquecer de atrelar isto a todas as outras funcionalidades que irão manipular o dado.
Usar o Martelo quando se tem parafusos, não parece muito inteligente, portanto, não use uma ferramenta desnecessária para aquela situação, só pelo fato que está na moda ou ouviu falar que ela resolve seu problema. Além de não resolver seu problema, você terá muito mais coisas para se preocupar.
Também existe a curva de aprendizagem, onde sua equipe técnica terá que aprender a dominar uma nova tecnologia, sua equipe de infra também terá que estar pronta para dar suporte e não se iluda com softwares "free", não existe almoço grátis, você necessitara de um fornecedor para suportar aquela ferramenta, a não ser que sua empresa não tenha grandes responsabilidades.
Quando o Dado tem uma importância fundamental para a Empresa, ele deve ser trabalhado com respeito. Sempre digo que, se a estrutura do dado, for escrita de uma maneira coerente com o negócio e por pessoas que sabem o que estão fazendo, o sistema pode ser reescrito quantas vezes forem necessárias, sem que se preocupem em modificar a Base de Dado.
O Dado é considerado um atívo da maioria das empresas, com ele se chega a uma informação e com ela em mãos, pode ser aplicada a sabedoria para tomada de decisões, mas se seu dado não tiver qualidade, a empresa pode perder muito dinheiro, não funcionar direito e até vir ao fracasso.
O NoSQL é fantástico, para atuar nos pontos em que se propõe a fazer, trabalho com este tipo de tecnologia nos lugares adequados, onde o Banco de Dados Relacional não atende, assim como usar dados em memória Cache, onde esta alternativa é melhor que as duas anteriores. Usar a coisa certa para cada tipo de situação, esta é a melhor maneira de trabalhar.
Sim, alguns ainda vão discordar de mim, e sei que não sou o dono da verdade. Eu trabalho com dado a mais de 20 anos e já vi e passei por situações em que só a experiência trouxe resultados satisfatórios. Antes de implementar algo que você não domine, estude, pois só o conhecimento vai te tirar de enrascadas.
Engenheiro de Software | Desenvolvedor Mobile e Backend | +12 anos de experiência | iOS - Swift, SwiftUI, UIKit, C# .NET, Java, AWS, SOLID, TDD | Impulsionando crescimento mensal de dois dígitos
4 aPerfeito, depende é uma palavra mágica na nossa área. Até o Google Cloud Spanner (que traz vantagens do NoSQL além do ACID e é pouco conhecido no mercado) pode não ser a melhor opção para um negócio. Cabe aos profissionais avaliarem uma solução sob uma ótica mais crítica acerca dessas tecnologias, deixando de lado as hypes do mercado.
DBA l MongoDB | Cassandra | MySQL l SQL Server
4 aComo você mesmo disse no artigo. A tecnologia está ai para resolver o problema, independente de qual vai usar. A questão é "o problema" e não a tecnologia em si. Com relação a curva de aprendizado, bom, o mundo é esse.. Não tem como escapar, quem não se atualiza fica para trás. Sistemas evoluem e as pessoas precisam também. Ou morrem como os próprios sistemas que não evoluem (Já dizia em Matrix Evolution) rs. Mercado não tem pena. Que NoSQL "ainda" não subistitui um Transacional, sim, fato, mas, para muitos outros problemas ela bate de bilhoes a 0 nos SGDBS tradicionais. Vejo muita reluta em utilizar as novas tecnologias, e as empresas a que atuei e optaram por seguir este caminho, não se arrependeram. E cada dia mais vem tomando espaço.
Gerente de Suporte e Sustentação de Sistemas na Qualicorp com Especialização em Qualidade em Desenvolvimento de software MBA Sistema de Informação MBA em Engenharia de Software orientado a serviços
4 aBoa, Betão. Concordo plenamente com você. Esse negócio de modismo pode provocar alguns efeitos colaterais ao negócio, tanto tecnológico quanto humano, tendo em vista o que comentou sobre estar sempre em busca de conhecimento, ou seja, o aprendizado deve ser constante podendo não atingir a expectativa de implementação. Usar tecnologias adequadas para implementar uma solução é obter resultados mais eficientes e eficazes. Grande abraço.
Gerente de Engenharia de Solução Tecnológica @ Dasa | Eng. Software, Developer, Quality Assurance, Project Management
4 aIsso aí Beto! Cada ferramenta tem que ser utilizada no lugar e no momento certo. Usar por moda pode trazer consequências irreversíveis se não souber o que está fazendo.
Engenheiro de Dados Senior Itaú BBA | AWS - MS Azure - Spark - Python - Big Data | Data Engineering
4 aConcordo plenamente. 👍👍👍