Saltar para o conteúdo
Aplicações Informáticas B · 12.º Ano · Desenvolvimento de Aplicações e Web · 2o Periodo

Introdução a Bases de Dados NoSQL

Os alunos exploram as características e casos de uso de bases de dados NoSQL, comparando-as com as bases de dados relacionais.

Aprendizagens EssenciaisDGE: Secundário - Dados e Análise

Sobre este tópico

A introdução às bases de dados NoSQL permite aos alunos do 12.º ano explorarem alternativas flexíveis às bases de dados relacionais tradicionais. Exploram características como esquemas dinâmicos, suporte a dados não estruturados e modelos variados, como documentos JSON, grafos ou pares chave-valor. Ao comparar com bases relacionais SQL, identificam vantagens como escalabilidade horizontal através de sharding e replicação, e desvantagens como menor garantia de consistência ACID em cenários de alta concorrência.

No âmbito do currículo nacional de Inovação Digital e Pensamento Computacional Avançado, este tema integra-se na unidade de Desenvolvimento de Aplicações e Web. Os alunos analisam cenários reais, como redes sociais ou análise de big data, onde NoSQL é preferível devido à capacidade de gerir volumes massivos de dados sem rigidez esquemática. Compreendem como a escalabilidade horizontal distribui carga por múltiplos nós, contrastando com a escalabilidade vertical das bases relacionais.

O ensino ativo beneficia especialmente este tema, pois conceitos abstractos ganham vida através de simulações práticas e debates colaborativos. Actividades como modelação de cenários reais ou protótipos simples em ferramentas acessíveis tornam as comparações tangíveis, promovendo pensamento crítico e aplicação prática das competências em dados e análise.

Questões-Chave

  1. Compare as vantagens e desvantagens das bases de dados relacionais e NoSQL.
  2. Analise os cenários em que uma base de dados NoSQL seria mais adequada que uma relacional.
  3. Explique como a escalabilidade horizontal é alcançada em bases de dados NoSQL.

Objetivos de Aprendizagem

  • Comparar as vantagens e desvantagens de bases de dados relacionais e NoSQL em cenários de aplicação específicos.
  • Analisar e justificar a escolha de uma base de dados NoSQL em detrimento de uma relacional para projetos com requisitos de escalabilidade e flexibilidade de esquema.
  • Explicar o mecanismo de escalabilidade horizontal em bases de dados NoSQL, incluindo técnicas como sharding e replicação.
  • Classificar diferentes tipos de bases de dados NoSQL (documento, chave-valor, coluna larga, grafo) com base nas suas estruturas e casos de uso típicos.

Antes de Começar

Bases de Dados Relacionais e SQL

Porquê: Os alunos precisam de uma compreensão básica de como as bases de dados relacionais funcionam e do que é SQL para poderem comparar eficazmente com as bases de dados NoSQL.

Conceitos de Redes e Arquitetura Cliente-Servidor

Porquê: A compreensão de como os sistemas distribuídos funcionam é fundamental para entender a escalabilidade horizontal e a replicação em bases de dados NoSQL.

Vocabulário-Chave

Base de Dados NoSQLUm tipo de base de dados que não segue o modelo relacional tradicional e permite maior flexibilidade e escalabilidade. O termo 'NoSQL' significa 'Not Only SQL'.
Escalabilidade HorizontalA capacidade de um sistema de base de dados de lidar com um aumento de carga adicionando mais máquinas (nós) à infraestrutura existente. É um pilar das bases de dados NoSQL.
ShardingUma técnica de escalabilidade horizontal onde os dados são divididos em partes menores (shards) e distribuídos por múltiplos servidores. Cada shard contém um subconjunto dos dados totais.
ReplicaçãoO processo de criar e manter cópias idênticas de dados em múltiplos servidores. A replicação aumenta a disponibilidade e a tolerância a falhas, e pode também auxiliar na distribuição de carga de leitura.
Esquema DinâmicoA capacidade de uma base de dados de aceitar dados sem uma estrutura pré-definida e rígida. Permite que diferentes documentos ou registos dentro da mesma coleção tenham campos distintos.

Atenção a estes erros comuns

Erro comumAs bases NoSQL não precisam de qualquer esquema.

O que ensinar em alternativa

NoSQL permite esquemas flexíveis ou inexistentes, mas muitos usam convenções implícitas para consistência. Abordagens activas como construção de documentos colaborativos ajudam os alunos a verem a importância de validações, comparando erros em cenários reais.

Erro comumNoSQL é sempre melhor que SQL para escalabilidade.

O que ensinar em alternativa

NoSQL destaca-se em escalabilidade horizontal para dados não relacionais, mas SQL é superior em transacções ACID. Discussões em grupo com casos de estudo revelam trade-offs, fomentando análise contextual através de debates peer-to-peer.

Erro comumEscalabilidade horizontal em NoSQL é automática.

O que ensinar em alternativa

Requer configuração como sharding e particionamento. Simulações hands-on com clusters virtuais mostram aos alunos os passos necessários, esclarecendo mitos e reforçando compreensão prática.

Ideias de aprendizagem ativa

Ver todas as atividades

Ligações ao Mundo Real

  • Empresas como a Netflix utilizam bases de dados NoSQL para gerir o vasto catálogo de filmes e as preferências dos utilizadores, permitindo recomendações personalizadas e escalabilidade para milhões de utilizadores globais.
  • Plataformas de redes sociais, como o Twitter, empregam bases de dados NoSQL para armazenar e processar grandes volumes de dados de utilizadores, publicações e interações em tempo real, garantindo alta disponibilidade e velocidade.
  • Bancos de dados de grafos, um tipo de NoSQL, são usados em sistemas de deteção de fraude e em motores de recomendação complexos, como os da Amazon, para mapear relações entre entidades (clientes, produtos, transações).

Ideias de Avaliação

Bilhete de Saída

Entregue a cada aluno um pequeno cartão. Peça-lhes para escreverem um cenário onde uma base de dados NoSQL seria preferível a uma relacional e justificar essa escolha em duas frases, mencionando uma característica específica do NoSQL (ex: escalabilidade, flexibilidade de esquema).

Questão para Discussão

Inicie uma discussão em pequenos grupos com a seguinte questão: 'Imaginem que estão a desenvolver uma aplicação para gerir um inventário de uma loja pequena vs. um inventário de uma grande cadeia de supermercados com vendas online. Que tipo de base de dados escolheriam para cada cenário e porquê?'

Verificação Rápida

Durante a explicação de sharding, apresente um diagrama simplificado de uma base de dados distribuída. Pergunte aos alunos: 'Se adicionarmos mais um servidor para processar leituras, que técnica de escalabilidade estamos a usar primariamente? E se quisermos garantir que os dados não se perdem se um servidor falhar?'

Perguntas frequentes

Quais as principais vantagens das bases de dados NoSQL face às relacionais?
As NoSQL oferecem escalabilidade horizontal fácil, suporte a dados não estruturados e maior desempenho em leituras/escritas massivas, ideais para big data ou apps web dinâmicas. Contrastam com SQL pela flexibilidade esquemática, mas sacrificam alguma consistência. No currículo, esta comparação desenvolve análise crítica para escolhas em desenvolvimento de aplicações.
Em que cenários usar bases de dados NoSQL?
Prefira NoSQL em redes sociais, análise de logs ou IoT, onde volumes crescem rapidamente e dados variam. Para finanças ou inventários com transacções rigorosas, SQL é melhor. Actividades de análise de casos reais ajudam os alunos a aplicarem critérios como CAP theorem na prática.
Como funciona a escalabilidade horizontal em NoSQL?
Distribui dados por múltiplos nós via sharding (particionamento) e replicação, permitindo adicionar servidores sem interrupção. Exemplos como MongoDB usam chaves de shard. Compreender isto prepara para projectos web escaláveis no 12.º ano.
Como o ensino activo ajuda a compreender bases de dados NoSQL?
Actividades colaborativas, como simulações de sharding com post-its ou protótipos em MongoDB, tornam conceitos abstractos concretos. Grupos debatem cenários reais, comparam modelos e identificam trade-offs, melhorando retenção e pensamento computacional. Estes métodos alinham com o currículo, fomentando competências práticas em dados e análise.