Intro Modelagem de Dados NoSQL
Modelagem de Dados de um Banco não Relacional (NoSQL) é um desafio grande para qualquer desenvolvedor. Pois trabalhar com dados a partir de NoSQL pode algo complexo e fora do que estamos acostumados. Mas não tem mais como fugir.
Bancos de dados não relacionais como MongoDB ou Firebase estão crescendo cada vez mais, por trazerem muita perfomance e escalabilidade ao seu projeto.
Neste artigo de Modelagem de Dados e NoSQL vou explicar em detalhes sobre os tipos de modelagem e as estratégicas utilizadas para organizarmos nossos dados. Além disso vamos modelar um projeto do zero em NoSQL dentro do Firebase.
O que você aprenderá?
- Fundamentos da Modelagem de Dados NoSQL no Firebase
- Estratégias para modelar seus banco de dados de documentos e coleções
- Modelo Conceitual, Lógico e Físico na prática
- Como criar um App a partir do seu modelo de banco de dados NoSQL
Fundamentos NoSQL e Firebase
Em NoSQL vamos trabalhar com documentos e coleções. Para melhor entendimento, as coleções podemos entender como tabelas tradicionais e documentos são como se fossem as linhas (registro) das tabelas.
A estrutura por trás de como os dados se organizam é no formato json. Um formato interessante para comunicação entre sistemas.
Os principais bancos de dados NoSQL do mercado são MongoDB, CouchDB e Firebase.
A estrutura NoSQL tem como características:
- Tem um schema dinâmico
- Permite relações mas não é o foco
- Ruim para Queries complexas
- Ótimo para perfomance.
Estratégias para Modelagem
Em modelagem NoSQL no Firebase ou MongoDB, nós teremos algumas formas de desenhar nossa estrutura de dados NoSQL, as possibilidades são:
- Diagrama UML (ER)
- Mapa Mental
- Documento e Coleções
Nesse caso, seguiremos o formato de documento e coleções. Sendo a metodologia adotada para modelagem dos dados:
Para modelagem, devemos seguir os principios:
- Queries estratégicas e rápidas
- Coleções grandes, mas documentos pequenos
- Duplicação de dados é permitido
- Agregar valor ao invés de usar joins
As estratégias para modelagem NoSQL no Firebase são:
- Estratégia 1 : Agregar dados no próprio documento
- Estratégia 2: Utilizar sub coleções
- Estratégia 3: Criar novas coleções com relações
Relações em NoSQL e Firebase
Para relações 1 para 1 podemos agregar os dados ou utilizar conexão por meio de relações.
Para relações 1 para muitos e muitos para muitos, pode seguir a devida escolha:
Modelagem de um projeto NoSQL no Firebase do zero
Para um projeto completo em NoSQL, utilizamos um exemplo de app de cursos.
Já tínhamos feito a modelagem de dados SQL no modelo relacional e agora fizemos no modelo NoSQL com documentos e coleções, veja como ficou:
Veja o vídeo para mais detalhes.
O que você aprendeu por aqui?
- Formas de desenhar seu banco de dados nosql
- Metodologia Modelagem
- Princípios de modelagem de dados NoSQL
- Estratégias NoSQL
- Relações do documentos e coleções NoSQL
- Firebase na prática.
- App do zero com FlutterFlow
Nos siga para mais conteúdos.