Explore o processamento de dados transacionais
Um sistema de processamento de dados transacionais é o que a maioria das pessoas considera a principal função da computação empresarial. Um sistema transacional registra transações que encapsulam eventos específicos que a organização deseja rastrear. Uma transação pode ser financeira, como a movimentação de dinheiro entre contas em um sistema bancário, ou pode fazer parte de um sistema de varejo, rastreando pagamentos de bens e serviços de clientes. Pense numa transação como uma unidade de trabalho pequena e discreta.
Normalmente, os sistemas transacionais são de volume elevado, processando por vezes vários milhões de transações num único dia. Os dados processados têm de ser acessíveis rapidamente. O trabalho executado pelos sistemas transacionais é geralmente conhecido como Processamento de Transações Online (OLTP).
As soluções OLTP dependem de um sistema de banco de dados no qual o armazenamento de dados é otimizado para operações de leitura e gravação, a fim de suportar cargas de trabalho transacionais nas quais os registros de dados são criados, recuperados, atualizados e excluídos (geralmente referidos como operações CRUD ). Estas operações são aplicadas transacionalmente, de forma a garantir a integridade dos dados armazenados na base de dados.
Para concretizar as seguintes propriedades, imagine uma transferência bancária de 40 dólares da Conta A (saldo inicial de 100 dólares) para a Conta B (saldo inicial de 50 dólares): o sistema deve debitar a Conta A e a Conta B como uma única operação fiável.
Para fazer isso, os sistemas OLTP impõem transações que suportam a chamada semântica ACID:
- Atomicidade – cada transação é tratada como uma única unidade, que é bem-sucedida completamente ou falha completamente. Por exemplo, uma transação que envolva debitar fundos de uma conta e creditar o mesmo valor em outra conta deve concluir ambas as ações. Se uma ação não puder ser concluída, a outra ação deverá falhar.
- Consistência – as transações só podem levar os dados no banco de dados de um estado válido para outro. Para continuar o exemplo de débito e crédito acima, o estado concluído da transação deve refletir a transferência de fundos de uma conta para a outra.
- Isolamento – as transações concorrentes não podem interferir umas com as outras e devem resultar num estado consistente da base de dados. Por exemplo, enquanto a transação para transferir fundos de uma conta para outra está em processo, outra transação que verifica o saldo dessas contas deve retornar resultados consistentes - a transação de verificação de saldo não pode recuperar um valor para uma conta que reflita o saldo antes da transferência e um valor para a outra conta que reflita o saldo após a transferência.
- Durabilidade – quando uma transação é autorizada, ela permanece comprometida. Depois de concluída a transação de transferência da conta, os saldos revistos das contas mantêm-se, de modo que, mesmo que o sistema de base de dados fosse desligado, a transação comprometida seria refletida quando for ativada novamente.
Os sistemas OLTP são normalmente usados para dar suporte a aplicativos em tempo real que processam dados corporativos - geralmente chamados de aplicativos de linha de negócios (LOB).