QUAL O MELHOR TIPO DE BANCO DE DADOS?
Só para constar, muita gente confunde. Acham que a sigla NoSQL significa que é não SQL. Na verdade o “NO” significa “Not only SQL” então assim, na verdade se a gente for analisar ao pé da letra ambas as estruturas sejam banco relacional ou não relacional utiliza a lógica de uma consulta estruturada de uma linguagem estruturada que é o SQL, mas não é apenas SQL que é utilizado para isso e por isso que tem o “Not only SQL” que é o NoSQL, o não relacional.
É claro que cada um tem a sua vantagem e as suas desvantagens, a gente vai ver se vai em detalhes!
Vantagens de um banco de dados relacional: A primeira e mais gritante é que ele evita redundância. Pois é, você não tem dados duplicados, ou pelo menos em tese se você modelou o seu banco corretamente, ele não deve ter dados redundantes, não deve ter dados duplicados porque o próprio relacionamento de tabelas provê um cenário em que você não precisa ter a mesma informação disseminada em outras tabelas do banco de dados, processo de modelagem é o que faz esse nível de redundância ser reduzido praticamente a zero. E por consequência você acaba ocupando muito menos espaço em disco. O crescimento de um banco de dados relacional ele pode ser tanto vertical quanto horizontal, como assim? Quando eu falo de crescimento vertical eu tô falando ali da quantidade de processamento, poder de processamento de cada máquina. Quando estou falando de crescimento horizontal eu estou me referindo a quantidade de máquinas necessárias para armazenar dados, como o banco de dados relacional não tem redundância então ele é muito mais propenso a ter um crescimento vertical ao invés de um crescimento horizontal. E a parte legal é que bancos de dados relacionais tem como característica a velocidade na consulta para ter um milhão de registro, tô falando aqui por experiência própria, passando de 1 milhão de registros a velocidade de consulta pode ficar um pouquinho mais lenta, mas isso você consegue burlar utilizando alguns macetes dentro da estrutura do banco de dados.
Desvantagens de um banco de dados relacional: a primeira logo de cara, você já deve ter percebido é que ele não é facilmente escalável. Você precisa colocar uma nova categoria de produtos que tem características específicas, e você se você já modelou o seu banco, você inevitavelmente ou vai ter que criar uma tabela separada para isso, ou então você vai ter uma tabela com vários campos vazios, uma tabela realmente toda quebrada. Então isso é um ponto muito negativo para bancos de dados relacionais se comparado ao banco de dados não relacionais, a questão da escalabilidade que não é nada fácil.
Vantagens de um banco de dados não relacional (NoSQL): Logo de cara já vou falando para você que a escalabilidade é o ponto chave, você consegue ter uma estrutura muito mais fácil de se escalar, de se aumentar se estiver trabalhando com banco de dados não relacionais, isso funciona porque você não modela uma tabela propriamente para ficar de maneira fixa dentro da estrutura, o banco de dados não relacional tem como característica conseguir se expandir sem propriamente quebrar as estruturas anteriores que já estavam armazenadas, e ele tem um crescimento tanto vertical quanto horizontal, só que o crescimento horizontal é muito mais visível. Por consequência, a velocidade de consulta em bancos de dados não relacionais que seguem mais ou menos a lógicas do ser humano. Na hora de pensar alguma coisa a gente não tem que desconstruir um paradigma, acaba sendo uma consulta muito mais rápida, isso daí é algo inegável, você acaba consultando registros em bancos de dados não relacionais com um pouco mais velocidade do que em bancos relacionais justamente pelo fato de você não ter que fazer relacionamento de tabelas construindo uma tupla virtual, o que torna o processo muito mais rápido na hora de exibir dados na tela do sistema.
Desvantagens de um banco de dados não relacional (NoSQL): Redundância. Quando você trabalha com banco de dados não relacionais a redundância ela é ali certeira cara, vai existir, e isso significa que você vai ter a mesma informação e mesmo dado armazenado várias vezes, é isso mesmo, você vai ter a mesma informação armazenada várias vezes diferente de um banco não relacional, e quando você tem várias informações armazenadas várias vezes o que que você precisa? Pois é, de mais espaço. E quando você precisa de mais espaço você precisa obrigatoriamente de um crescimento horizontal, então por isso um banco de dados NoSQL, acaba tendo um custo maior operacional para sistemas que tem muitos dados armazenados, porque você obrigatoriamente vai requerer mais espaço físico, hardware, para poder armazenar todos os registros.
Quais dos dois tipos de banco de dados devo usar?
É interessante que você domine ambos os estilos de banco de dados as duas categorias relacionais e não relacionais, por quê? Porque você não sabe o tipo de projeto que você pode pegar lá para frente, hoje em dia você pode pegar só projetos de bancos relacionais mas lá para frente você pode precisar de projetos de bancos não relacionais, então se você focar apenas em um estilo de banco você acaba não conseguindo pegar projetos que precisam de outro tipo de banco, então interessante que você expanda ai um pouco mais o seu leque de atuação conhecendo as duas categorias na hora de desenvolver bancos de dados.
Assista esse conteúdo no YOUTUBE: NOSQL VS RELACIONAL: QUAL MELHOR TIPO DE BANCO DE DADOS?
Deixe um comentário