01 SGBD
SGBD (Sistema Gerenciador de Banco de Dados), também chamado de DBMS (Database Management System), é o software que faz a ponte entre a aplicação e o banco.
Com um SGBD você consegue: - modelar e criar estruturas (schemas, tabelas, índices, coleções); - inserir, consultar, alterar e remover dados; - controlar concorrência (várias pessoas/processos usando ao mesmo tempo); - fazer backup, restauração, replicação e monitoramento.
Exemplos de SGBDs e diferenças¶
Relacionais (SQL)¶
- PostgreSQL: muito completo, excelente suporte a SQL, extensível, forte para sistemas transacionais e analytics leves.
- MySQL / MariaDB: populares, simples de operar no início, muito usados em aplicações web.
- SQL Server: ecossistema forte em ambientes Microsoft, boas ferramentas corporativas.
- Oracle Database: robusto para grandes ambientes enterprise, foco em alta disponibilidade e recursos avançados.
Não relacionais (NoSQL)¶
- MongoDB (documento): armazena JSON/BSON, esquema flexível para dados que mudam bastante.
- Redis (chave-valor, em memória): baixíssima latência, muito usado para cache, sessão e filas simples.
- Cassandra (colunar distribuído): escalabilidade horizontal alta e grande throughput de escrita.
- Neo4j (grafo): ideal para relacionamentos complexos (recomendação, fraude, redes sociais).
Como o usuário interage com um SGBD?¶
- Em bancos relacionais, o principal é SQL.
- Em NoSQL, a consulta pode ser feita por API própria, linguagem específica ou SQL-like (depende da ferramenta).
Em resumo: banco de dados é onde os dados vivem; SGBD é o motor que organiza, protege e entrega esses dados para as aplicações.
Arquitetura simplificada de um SGBD¶
flowchart TB
C[Cliente SQL] --> P[Parser/Planner]
P --> E[Executor]
E --> B[(Buffer Cache)]
B <--> D[(Data Files)]
E --> L[(Write-Ahead Log)]
Caminho de uma query¶
[SQL recebido]
|
v
[Parse + validacao]
|
v
[Plano de execucao]
|
v
[Leitura/escrita em pagina]
|
v
[Retorno ao cliente]