Projeto Inter. - Banco de Dados | Page 5

A arquitetura de BDD é totalmente transparente para os usuários que utilizam aplicações nessa arquitetura distribuída, ou seja, para o usuário, os dados estão centralizados em um único servidor, mas na verdade eles podem estar “espalhados”, distribuídos em vários locais fisicamente separados.

Arquitetura de Banco de Dados Distribuído

Na implementação desse ambiente distribuído, existem vários desafios, e manter a consistência dos dados certamente está entre os mais importantes e complexos. Garantir que os dados estão consistentes é altamente complexo, pois uma única transação pode manipular dados em diversos servidores. Para exemplificar, imagine uma instituição financeira na qual o banco de dados está distribuído em três grandes cidades brasileiras – São Paulo, Brasília e Rio de Janeiro -, e transações distribuídas entre esses servidores são executadas o dia todo para armazenar informações e movimentações de seus clientes.

Agora imagine a situação em que o cliente José sacou R$ 1.000,00 de sua conta corrente, e essa movimentação deve ser replicada para todos os servidores envolvidos na transação; caso contrario, o saldo de José ficará inconsistente, gerando informações diferentes em determinado servidor.

Isso pode causar grandes transtornos, pois teoricamente o usuário acessa os dados em servidores de acordo com a localidade, diminuindo assim a latência e retornando o resultado com mais rapidez, ou seja, se o usuário está acessando sua conta em São Paulo, o sistema busca os dados nos servidores de São Paulo, e assim por diante. Como no exemplo acima José sacou R$ 1.000,00 de sua conta, imagine se ele estivesse em São Paulo e essa informação não fosse replicada para o servidor de Brasília? No servidor de São Paulo, ele estaria com determinado saldo e em Brasília com R$ 1.000,00 a mais em sua conta.

Esse é um dos exemplos, mas poderia ser o estoque de um produto que foi vendido porém não foi executada baixa em todos os servidores envolvidos na transação, gerando informações falsas sobre a quantidade em estoque desse produto. Claro que esse ambiente é só um exemplo simples para demonstrar a consistência dos dados.

A fim de garantir toda essa segurança e confiabilidade dos dados, o BDD preserva as propriedades ACID,onde: