Big Data e NoSQL - Aula 09/12 - Bancos de Dados 2020.2
Introdução ao Fechamento do Curso de Banco de Dados
Revisão dos Conteúdos Estudados
- O vídeo faz parte da disciplina de banco de dados da Unicamp e inicia um fechamento sobre os conteúdos estudados durante o semestre.
- O foco será em tópicos como bancos de dados NoSQL e Big Data, além de revisitar conceitos abordados no início do curso.
Arquitetura Moderna de Bancos de Dados
- A arquitetura moderna envolve a interação entre aplicações e SGBDs (Sistemas de Gerenciamento de Banco de Dados), que gerenciam todos os dados armazenados.
- Foram discutidas linguagens para manipulação de dados, modelagem conceitual, lógica e física, além do armazenamento efetivo dos dados.
Mudanças no Cenário Atual: Big Data e NoSQL
Conceitos Fundamentais
- O termo "Big Data" refere-se ao aumento significativo no volume e na variedade dos dados disponíveis.
- A modelagem semântica se torna importante com a interconexão dos dados, levando à necessidade de novas abordagens para processamento e armazenamento.
Valor dos Dados na Economia Moderna
- Os dados são considerados extremamente valiosos na economia atual, superando até mesmo o valor do petróleo.
- Empresas que utilizam bem os dados estão se destacando no mercado devido à sua capacidade de gerenciamento eficaz.
Desafios da Produção Gigantesca de Dados
Crescimento Exponencial dos Dados
- Exemplos como o Genoma Humano ilustram a imensa quantidade de informações geradas atualmente.
- A Lei de Moore sugere que o poder computacional dobra anualmente, mas o crescimento dos dados ocorre em uma taxa muito mais rápida.
Arquitetura Distribuída
- Há uma tendência crescente em utilizar múltiplos computadores menores em vez de grandes sistemas centrais para processar esses volumes massivos de dados.
Teorema CAP: Consistência vs. Disponibilidade
Introdução ao Teorema CAP
- O teorema CAP discute as limitações em sistemas distribuídos quanto à consistência, disponibilidade e tolerância a partições.
Garantias Necessárias
- Consistência: Garante que as leituras retornem sempre a versão mais recente ou um erro.
- Disponibilidade: Assegura que sempre haverá uma resposta às requisições feitas aos dados.
- Tolerância a Partições: Permite que o sistema opere mesmo com perda ou atraso nas mensagens entre nós.
Princípios de Banco de Dados e Sistemas Distribuídos
Introdução aos Princípios ACID
- A palestra aborda os quatro princípios fundamentais dos bancos de dados: atomicidade, consistência, isolamento e durabilidade (ACID).
- Para sistemas distribuídos, é necessário flexibilizar esses princípios para garantir a tolerância a falhas e a disponibilidade.
Compromissos com Consistência
- Alguns sistemas de armazenamento priorizam a tolerância à partição e a velocidade em detrimento da consistência.
- Exemplo prático: ao acessar uma rede social como o Facebook, pode-se não ver imediatamente um post recente devido à falta de consistência temporária.
Consistência Eventual
- Bancos de dados NoSQL permitem um tipo de consistência chamada "consistência eventual", onde as mudanças nos dados são propagadas gradualmente.
- Isso significa que uma leitura pode não retornar os dados mais atualizados imediatamente.
Conceito de NoSQL
- O conceito NoSQL surge como uma alternativa aos bancos relacionais tradicionais, que seguem rigidamente os princípios ACID.
- Os bancos NoSQL oferecem flexibilidade no esquema e mecanismos diferentes para armazenamento e recuperação de dados.
Aplicações em Tempo Real
- As bases NoSQL são cada vez mais utilizadas em aplicações web em tempo real, buscando designs adequados para facilitar o armazenamento e recuperação eficientes.