Guia de Linguagem

NoSQL e MongoDB


Neste guia de consulta você encontrará diversos conteúdos sobre bancos de dados NoSQL, principalmente sobre o MongoDB, que é um dos mais utilizados na atualidade. Encontre também conteúdo sobre Cassandra, Redis, entre outros.

Introdução ao NoSQL

NoSQL é o nome dado aos bancos de dados que não se baseiam no conhecido modelo relacional. Ou seja, os bancos NoSQL não usam tabelas com colunas e linhas para armazenar os dados. Ao invés disso, eles implementam diferentes modelos. Se esse é seu primeiro contato com esse conceito, sugerimos assistir o curso abaixo:

Em seguida, os seguintes links lhe darão um maior embasamento sobre esse paradigma:

Aqui você deve estar se perguntando por que usar um banco NoSQL ao invés de um baseado no tradicional modelo relacional, como SQL Server, MySQL e Oracle. Para lhe ajudar a diferenciar esses dois paradigmas, confira os artigos a seguir:

E aí, ficou animado(a) com o conceito de NoSQL e já está considerando utilizá-lo em seus próximos projetos? Antes disso confira os conteúdos a seguir, que vão lhe ajudar a ter uma visão mais clara sobre a adoção dessa tecnologia:

MongoDB

O MongoDB é atualmente um dos principais bancos NoSQL do mercado. Ele implementa o modelo orientado a documentos e armazena os dados no formato JSON. Ou seja, toda informação é gravada como um documento JSON dentro de uma coleção.

Comparando com o modelo relacional, podemos considerar as coleções equivalentes às tabelas e os documentos equivalentes às linhas. Já as propriedades de cada documento são comparáveis às colunas da tabela, que definem as características de cada registro.

No curso abaixo você aprenderá desde os conceitos básicos sobre o MongoDB até a sua hospedagem na nuvem:

E a seguir temos mais alguns conteúdos para que você aprofunde seus conhecimentos nesse banco:

Modelagem

A modelagem é um dos primeiros passos do desenvolvimento de sistemas. Trata-se de uma fase em que desenhamos como os dados serão representados no banco. Apesar de essa técnica ser bastante conhecida para bases relacionais, em bancos NoSQL esse processo pode não ser tão claro inicialmente. Para lhe ajudar com isso, sugerimos o seguinte artigo:

Administração

Como em todo banco de dados, ter uma boa ferramenta de administração é fundamental para gerenciarmos o MongoDB, criando, alterando e excluindo bancos, coleções e registros. Abaixo listamos algumas das mais utilizadas:

Hospedagem

Apesar de normalmente desenvolvermos o projeto com um banco de dados local, é comum que precisemos publicá-lo em um servidor externo posteriormente. No artigo abaixo você encontra formas de hospedar seu banco MongoDB:

A seguir você encontra links de conteúdos ensinando a trabalhar com MongoDB utilizando algumas das principais linguagens de programação:

MongoDB e Java

MongoDB e C#

MongoDB e Node.js

MEAN Stack

O MongoDB representa a letra M da MEAN Stack (MongoDB + Express + Angular + Node.js), um conjunto de tecnologias baseadas em JavaScript que permite desenvolver aplicações completas usando essa linguagem, que antes era empregada apenas no front-end. Para saber mais sobre essa stack, acesse o guia abaixo:

Cassandra

Com um modelo de armazenamento e distribuição de dados próprio, baseado no DynamoDB e no Bigtable, o Cassandra é um banco de dados que foi inicialmente desenvolvido pelo Facebook, e posteriormente teve seu código aberto. Hoje ele é mantido pela comunidade da Fundação Apache e é conhecido como um dos bancos com melhor desempenho. Entre seus grandes casos de uso estão a Netflix, o Instagram e o GitHub.

Saiba mais sobre essa banco nos artigos a seguir:

Redis

O Redis implementa o modelo chave-valor e é a solução mais conhecida que usa formato. Entre seus principais casos de uso estão a criação de mecanismos de cache e armazenamento de sessão, ou seja, situações em que se deseja armazenar dados de diferentes tipos que precisam ser acessados rapidamente a partir de um identificador específico.

Nos links abaixo, além de conhecer o Redis você verá como acessá-lo por meio de aplicações Java:

Couchbase

O Couchbase é um banco de dados multi-modelo, pois tanto implementa o modelo chave-valor, quanto o modelo de documentos (armazenando dados no formato JSON). Trata-se também de um software open source utilizada por grandes companhias como Cisco e Ebay e conta com funcionalidades como replicação automática entre servidores, que permite garantir a integridade e disponibilidade das informações.

Conheça mais sobre o Couchbase no artigo abaixo:

Mais sobre bancos de dados

Além dos cursos e artigos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre bancos e dados, os quais você pode conferir nos Guias de Consulta abaixo:

Além disso, você pode conferir todo o conteúdo sobre bancos de dados clicando aqui.

Ficou com alguma dúvida?