Arquiteturas de Banco de Dados
Tipos de Arquitetura
| Arquitetura | Características |
|---|---|
| Centralizada | Um a poucos núcleos, memória compartilhada |
| Cliente-servidor | Um servidor executa trabalho em nome de múltiplas máquinas clientes |
| Paralela | Muitos núcleos com memória compartilhada; disco compartilhado; ou shared-nothing |
| Distribuída | Distribuição geográfica; heterogeneidade de schema/dados |
Arquitetura Centralizada / Memória Compartilhada
Um único servidor (ou cluster de poucos núcleos com memória compartilhada) concentra todo o processamento. É a arquitetura mais simples e adequada para cargas de trabalho moderadas.
Aplicações de Banco de Dados
As aplicações de banco de dados são geralmente particionadas em duas ou três camadas:
- Arquitetura de duas camadas (two-tier)
- A aplicação reside na máquina cliente, que invoca diretamente a funcionalidade do banco de dados no servidor.
- Arquitetura de três camadas (three-tier)
- A máquina cliente atua apenas como interface (front end) e não contém chamadas diretas ao banco.
- O cliente se comunica com um servidor de aplicação, normalmente por meio de uma interface de formulários
- O servidor de aplicação, por sua vez, se comunica com o sistema de banco de dados para acessar os dados
Duas camadas:
[Cliente] ──────────────────────────────▶ [Banco de Dados]
(aplicação) chamadas diretas
Três camadas:
[Cliente] ──▶ [Servidor de Aplicação] ──▶ [Banco de Dados]
(navegador) (lógica de negócio) (dados)
A arquitetura de três camadas é a predominante em aplicações web modernas. O cliente não faz chamadas diretas ao banco — ele se comunica com o servidor de aplicação, que isola o banco de dados da internet e centraliza a lógica de negócio.