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.
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
- Compare as vantagens e desvantagens das bases de dados relacionais e NoSQL.
- Analise os cenários em que uma base de dados NoSQL seria mais adequada que uma relacional.
- 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
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.
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 NoSQL | Um 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 Horizontal | A 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. |
| Sharding | Uma 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ção | O 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âmico | A 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 atividadesComparação em Pares: Tabela SQL vs NoSQL
Os pares criam uma tabela comparativa listando vantagens e desvantagens de cada tipo de base de dados, baseados em critérios como escalabilidade, consistência e flexibilidade. Em seguida, partilham exemplos de casos de uso reais. Finalizam com uma votação em sala sobre o melhor para uma app de e-commerce.
Análise de Cenários: Grupos Pequenos
Divida a turma em grupos pequenos para analisar três cenários: rede social, loja online e IoT. Cada grupo decide e justifica se usar SQL ou NoSQL, explicando escalabilidade. Apresentam posters com diagramas simples.
Simulação de Escalabilidade: Classe Inteira
Use post-its ou ferramentas online para simular sharding: distribua 'dados' pela turma representando nós. Demonstre como adicionar nós aumenta capacidade sem downtime. Discuta colectivamente impactos na performance.
Protótipo Individual: MongoDB vs MySQL
Cada aluno configura instâncias simples gratuitas online de MongoDB e MySQL, insere dados não estruturados e compara tempos de query. Regista observações num relatório curto.
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
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).
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ê?'
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?
Em que cenários usar bases de dados NoSQL?
Como funciona a escalabilidade horizontal em NoSQL?
Como o ensino activo ajuda a compreender bases de dados NoSQL?
Mais em Desenvolvimento de Aplicações e Web
Fundamentos de HTML: Estrutura e Semântica
Os alunos estruturam conteúdos de páginas web utilizando HTML, focando na semântica e acessibilidade.
2 methodologies
Estilização com CSS: Seletores e Propriedades
Os alunos estilizam visualmente páginas web usando CSS, aplicando seletores e propriedades para controlar o layout e a aparência.
2 methodologies
Layout Responsivo com CSS Flexbox e Grid
Os alunos criam designs responsivos que se adaptam a diferentes tamanhos de ecrã usando Flexbox e CSS Grid.
2 methodologies
Interatividade com JavaScript: DOM e Eventos
Os alunos introduzem-se à programação do lado do cliente para tornar as páginas web dinâmicas, manipulando o DOM e gerindo eventos.
2 methodologies
Validação de Formulários com JavaScript
Os alunos implementam validação de dados em formulários web usando JavaScript para melhorar a experiência do utilizador e a segurança.
2 methodologies
Introdução a APIs Web e AJAX
Os alunos exploram como as páginas web podem comunicar com servidores e outras aplicações usando APIs e requisições AJAX.
2 methodologies