De que se trata o artigo

Nesse artigo apresentaremos o conceito de banco de dados NoSQL e utilizaremos o MongoDB para conhecer um pouco mais sobre essa modalidade de banco de dados. Esta discussão é importante por que serve para apresentar o banco de dados para quem ainda não o conhece e aprofundar um pouco mais sobre o assunto.

Em que situação o tema é útil

O tema é de extrema utilidade em casos de entusiastas do universo de banco de dados, dando exemplos e fazendo comparações com a Linguagem SQL.

Resumo DevMan

Este artigo apresenta de maneira clara e objetiva a utilização de um banco do tipo NoSQL na prática. Utilizamos o MongoDB para exemplificar tal tecnologia da área de banco de dados. O MongoDB tem se tornado um dos mais conceituados banco de dados do tipo NoSQL. Para quem procura alta escalabilidade e necessita trabalhar com grandes volumes de dados confira aqui uma ótima solução de banco de dados.

Hoje em dia as aplicações web já são uma realidade. Nesse tipo de aplicação é muito comum receber um volume de dados muito grande. Outro fator importante também é que a quantidade de acessos ao sistema pode ser exorbitante, exigindo um trabalho maior do gerenciador de banco de dados.

A necessidade de grandes volumes de dados e um baixo tempo de resposta fez com que os bancos de dados relacionais não atendessem todas as necessidades e para se tornarem mais escaláveis tem-se que o custo é muito alto, tornando seu uso inviável para uma empresa de médio porte.

Neste contexto, um novo padrão de banco de dados foi desenvolvido para tornar mais viável a implementação de base de dados com grandes volumes de dados. Este padrão se refere à implementação de uma modalidade de banco de dados que é o tipo noSQL (entenda-se "Not only SQL"). Esse é um termo utilizado para especificar uma classe de gerenciadores de banco de dados que poderá ser definida como bancos de dados não-relacionais. Essa é a classe da qual falaremos nesse artigo.

É importante ressaltar que os bancos de dados do tipo NoSQL não vieram com o intuito de derrubar a tecnologia dos bancos de dados relacionais, por tanto não dá para fazer comparações do tipo: qual banco é melhor do que outro? Assim, temos que os bancos de dados NoSQL devem ser aplicados em casos específicos onde se necessita de alta escalabilidade.

Contando um pouco de história

Inicialmente o termo NoSQL foi utilizado para denominar os bancos de dados relacionais de código aberto que não possuíam uma interface. Hoje em dia esse nome é utilizado para bancos de dados que não fazem o uso somente de SQL.

A categoria de banco de dados NoSQL possui também outros termos que são equivalentes tais como: NF², N1NF(non first normal form). Todos esses termos são para tentar transmitir a idéia de que o banco de dados não se enquadra na primeira forma normal, a qual especifica que todos os atributos devem ser monovalorados e não devem ser compostos.

O NoSQL utiliza o Modelo Relacional Não-Normalizado, denominado pela sigla MRNN. Esse tipo de modelagem de dados foi apresentado pela primeira vez pelo professor Valdemar Setzer. O modelo quebrava todas as regras impostas pelo consolidado Modelo Entidade Relacionamento MER desenvolvido pelo pesquisador do laboratório da IBM Edgar Frank Codd (ler Nota DevMan 1) (ler Nota DevMan 2).

Nota DevMan 1. Normalização

A normalização de dados é uma série de passos que se segue no projeto de um banco de dados que permite um armazenamento consistente e um eficiente acesso aos dados em um banco de dados relacional. Esses passos reduzem a redundância de dados e as chances dos dados se tornarem inconsistentes.

No entanto, muitos SGBDs relacionais não têm separação suficiente entre o projeto lógico da base de dados e a implementação física do banco de dados, e isso tem como conseqüência que as consultas feitas a um banco de dados totalmente normalizado têm um mau desempenho. Nestes casos, usa-se por vezes a desnormalização para melhorar o desempenho, com o custo de menores garantias de consistência.

...
Quer ler esse conteúdo completo? Tenha acesso completo