Arquiteturas de Banco de Dados

Autor

Douglas Braga

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.