terça-feira, 14 de março de 2017

Gerenciamento de Transações


Esse post não é um post inicial de banco de dados, atualmente não tenho tempo para fazer um post desde o inicio, quando comecei a fazer esse blog já tinha ultrapassado algumas coisas básicas de banco de dados, então caso você esteja procurando o básico, não recomendo (mesmo nesse post tendo coisas para revisar, flw)

Vamos começar!

Relembrando os conceitos

- Banco de dados: Coleção de dados relacionados. Ex: Planilha,Fichário, SGBD, etc.

- Sistema Gerenciador de banco de dados (SGBD): Coleção dos programas que permitem os usuários criar e manipular um banco de dados.

- Sistema de banco de dados: União do SGBD + Base de dados 

Características do SBGD

- Natureza auto-descritiva (Meta dados).
- Abstração dos dados.
- Processamento de transações multi-usuário.
- Suporte a múltiplas visões.
- Compartilhamento dos dados.


Transação 

Definição: Unidade lógica em um processamento no SGBD que é composta por uma ou mais operações e seus limites podem ser determinados em SQL.

De forma abstrata ou simplificada, uma transação pode ser encarada como um conjunto de operações de leitura e escrita de dados.

Por que existe a transação?

Devido a perda de atualização, problemas de atualização temporária e problema na totalização dos valores.

Propriedades de uma transação

Existem alguns requisitos que sempre devem ser atendidos por uma transação.

Chamadas de propriedades ACID

- Atomicidade.
- Consistência.
- Isolamento.
- Durabilidade ou Persistência.

Atomicidade

Tem basicamente o principio de "tudo ou nada", ou todas as operações da transação são efetivadas com sucesso no BD, ou nenhuma delas se efetiva, isso preserva a integridade do BD. 

É a responsabilidade do sub sistema de recuperação de falhas do SGBD desfazer as ações e transações parcialmente executadas.

A atomicidade deve ser garantida no BD, pois uma transação pode manter o BD em um estado inconsistente  durante sua execução.

Consistência

Uma transação sempre conduz o BD para um estado consistente para outro estado que também é consistente.

Para isso acontecer é a responsabilidade conjunta do DBA, que deve definir as RIs para garantir estados e transições de estado válidos para os dados e o Sub sistema de Recovery, que deve desfazer as ações de transação que violou a integridade. 

Isolamento

No contexto de um conjunto de transações concorrentes, a execução de uma transação 

Tx, deve funcionar como se Tx executasse de forma isolada. Tx não deve sofrer interferências de algumas outras transações executando concorrentemente.

É a responsabilidade do subsistema de controle de concorrência scheduler do SGBD, garantir escalonamentos sem interferências.

Durabilidade ou Persistência

Deve-se garantir que qualquer uma das modificações realizadas por uma transação que concluiu com sucesso persistam no BD, nenhuma falha posterior ocorrida no BD deve perder essas modificações.

É responsabilidade do subsistema de recovery refazer transações que executaram com sucesso em caso de falha no BD.

Estados de uma transação

Uma transação é sempre monitorada pelo
SGBD quanto ao seu estado

Ele verifica: que operações já fez? Concluiu suas operações? Deve abortar?

Estados de uma transação: Ativa, Em processo de efetivação, Efetivada, Em processo de aborto e Concluída.

Respeita um Grafo de Transição de Estados.


Bem resumido não é mesmo? vocês fixando esse pequeno resumo de Transações, acredito que não terá dificuldade nenhuma para prosseguir.

Abraços!
,

Nenhum comentário:

Postar um comentário