Buscar

AurelioGuedesDeSouza - Trabalho de Transações

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INSTITUTO SUPERIOR DE EDUCAÇÃO
FRANCISCANO NOSSA SENHORA DE FÁTIMA
CURSO DE TECNOLOGIA EM ANÁLISE
E DESENVOLVIMENTO DE SISTEMAS
Banco de Dados II
Transações, Controle de Concorrência e Bloqueios.
por
Aurélio Guedes de Souza,
 Matrícula: 2013070004
 
 Período: 3°
Professor Claudio Lobo
Brasília-DF
2014
Índices
1.0. Transações
1.1. Propriedades ACID
1.2. Atomicidade
1.3. Consistência
1.4. Isolamento
1.5. Durabilidade
1.6. Estruturas de armazenamento
1.7. Armazenamento volátil
1.8. Armazenamento não volátil
1.9. Armazenamento Estável
2.0 Controle de Concorrência
2.1 Bloqueios(Locks)
2.2 Bloqueio compartilhado
2.3 Bloqueio exclusivo
 
 3.0 Referências.
1.0 Transações
Em banco de dados, quando realizamos alguma alteração nos dados armazenados, 
precisamos de garantir que estas informações foram realmente alteradas da forma 
em que desejamos. Os bancos de dados devem nos trazer a garantia de que tudo 
ocorreu como desejado. Seja ele qual for, independente de paradigma de 
armazenamento ou se é código aberto/livre - ou como o Oracle e SQLServer que 
são bancos de dados proprietários, todos devem implementar alguma política que 
nos permita seguramente acreditar de que as informações previamente obtidas dos 
armazéns, possam ser armazenadas com base na consistência do estado anterior à 
leitura das mesmas.
Nos bancos de dados relacionais, o que pode nos garantir a consistência e 
integridade dos dados são os chamados controles de transações. Eles nos permitem 
executar várias operações, sejam elas de leitura e/ou gravação buscando sempre 
manter o estado do banco de dados consistente e íntegro. Então a transação, pode 
ser definida como um conjunto de operações que são executadas sobre um banco 
de dados específico se comportando como uma unidade de execução única. 
Abraham Silberschatz, Henry F. Korth e S. Sudarshan definem transação como: 
uma unidade de execução do programa que acessa e possivelmente atualiza vários 
itens de dados.
Os dados em uma transação, necessitam estar consistentes e de acordo com o 
estado em que foram recuperados. Devem, assim que todas as operações 
necessárias forem realizadas, serem armazenados no banco de dados mesmo que 
uma falha ocorra no momento da gravação. Caso alguma falha ocorra no momento 
em que os dados estão sendo preparados para ser armazenados ou que aja alguma 
inconsistência no banco de dados - em que os dados recuperados no início da 
transação não coincide com atuais, o SGBD deve aplicar algum controle para que os 
dados não sejam armazenados de forma inconsistente, ou seja, o banco de dados 
deve voltar à sua forma consistente caso aja alguma falha na transação.
Os principais elementos que nos possibilida o controle de transação, são chamados 
de ACID. ACID é um acrônimo, derivado da primeira letra de cada uma das quatro 
propriedades que nos garante o controle sobre a transação.
1.1 Propriedades ACID
As propriedades que formam o acrônimo ACID são – na seguinte ordem de 
posicionamento: Atomicidade, Consistência, Integridade e Durabilidade. Cada uma 
dessas propriedades são extremamente importantes para o controle de transação 
implementado pelos bancos de dados relacionais. A seguir, cada um deles serão 
explicados e citadas a sua importância dentro de uma ou mais transações.
● 1.2 Atomicidade, é a propriedade que garante que os dados de uma 
transação sejam totalmente persistidos no banco de dados, ou em caso de 
falha, de que o banco de dados voltará ao seu estado anterior à falha 
ocorrida. Ou seja, ou a modificação ocorre 100% ou – em caso de falha, que 
os dados voltem ao estado de consistência.
● 1.3 Consistência, propriedade que garante que uma transação trabalhe com 
todas as informações sem interferências externas à ela, possibilitando com 
que várias transações sejam executadas sem uma interferir no estado de 
consistência dos dados da outra.
● 1.4 Isolamento. Transações precisam ser executadas simultaneamente sem 
a possibilidade de que uma interfira no estado atual da outra. Existem 
diversas maneiras de garantir o isolamento de uma transação, como por 
exemplo: a serialização – em que as transações são executadas uma após a 
outra. Mas, sabemos que isso pode levar o processamento computacional a 
um estado de ociosidade muito elevado, pois na maioria das vezes dentro do 
processamento de uma transação, recursos computacionais ficam ociosos 
enquanto outros trabalham, assim, outra transação poderia estar utilizando os 
recursos em estado de ociosidade enquanto esperam pelos não ociosos. 
Tudo isso nos leva a pensar de que atualmente a serialização não é a melhor 
maneira de se trabalhar, pois transações executando simultaneamente nos 
possibilita um melhor uso dos recursos de processamento computacional 
elevando o “throughput” do sistema.
● 1.5 Durabilidade. Assim que uma transação é confirmada, os dados 
necessitam ser persistidos no banco de dados mesmo que ocorra alguma 
falha após a confirmação. Os princípios de durabilidade são implementados 
nos bancos de dados de uma maneira em que, logo após a confirmação da 
transação, estes dados sejam antes armazenados em um outro local para 
garantir, em caso de falha, que mais tarde possam ser persistidos 
formalmente, mantendo o estado do banco de dados consistente após a 
confirmação da transação.
O conjunto de propriedades ACID nos possibilita um bom controle de transação e os 
bancos de dados devem implementar os princípios fixados para que o número de 
falhas nas operações envolvendo dados não sejam de um número elevado.
1.6 Estrutura de Armazenamento
Assim como visto nas propriedades ACID, os dados necessitam serem 
armazenados novamente no banco de dados após uma transação, de forma 
consistente. Precisamos garantir a atomicidade – persistir em sua totalidade, ou não 
persistir nada em caso de falha, e também garantir a durabilidade dos dados após a 
confirmação da transação, mas no entanto, após a confirmação de uma transação, 
falhas podem vir a ocorrer e precisamos de alguma forma resistir a essas falhas. 
Os seguintes tipos de armazenamentos são descritos dentro das estruturas de 
armazenamento: 
• 1.7 Armazenamento volátil, as informações armazenadas nesta estrutura 
está sucessível a falhas, pois em caso de queda de energia ou em alguma 
outra falha que impossibilite a alimentação do sistema computacional o 
acesso a alguma fonte de energia, faz com que os dados neste estado sejam 
perdido. Porém, o acesso aos itens de dados armazenados neste tipo de 
estrutura são mais velozes, pelo fato de o itens estarem armazenados na 
memória principal e cache – que são tipo de memórias extremamente 
rápidas.
• 1.8 Armazenamento não volátil, neste tipo de estrutura, os dados podem 
ser acessados com menos rapidez em relação às estrutúras voláteis pelo fato 
de serem utilizados dispositivos de armazenamento secundários, no entanto, 
os dados armazenados nessas estruturas estão menos susceptíveis a falhas 
pois não existe volatilidade neste tipo de armazenamento.
• 1.9 Armazenamento estável, no armazenamento estável as informações 
gravadas “quase” nunca são perdidas, pois a maneira em que os dados são 
armazenados faz com que seja quase impossível de se perder os itens de 
dados pelo fato de serem replicados entre vários meios de armazenamento 
que utilizam como dispositivo de armazenamento os discos secundários 
(discos rígidos).
2.0 Controle de Concorrência
O controle de concorrência nos fornece algumas maneiras de resolver o problema 
de concorrência entre as transações. Quando obtemos o isolamento,que é um dos 
princípios de controle de transação, precisamos que as transações executem de 
forma concorrente e assim possibilitando o uso constante dos recursos de 
processamento computacional. A serialização é uma das maneiras de se obter o 
isolamento de uma transação, mas trabalhando desta forma os recursos 
computacionais não seriam utilizados da melhor maneira. Com a utilização de 
execução simultânea das transações alguns problemas surgem, pois, deve haver 
um controle sobre a leitura e escrita dos dados. A seguir, será mostrada uma 
maneira de se trabalhar com transações simultâneas sem precisar que uma interfira 
no estado da outra.
2.1 Bloqueios(Locks)
Precisamos de alguma maneira garantir o isolamento entre as transações, e uma 
das maneiras de se permitir o isolamento na execução de transações simultâneas se 
dá por meio da utilização de bloqueios. Seguindo este estilo de isolamento em 
concorrência é preciso fazer com que uma transação bloqueie o item de dado em 
que manibula para que o isolamento ocorra, ou também que bloqueie em partes um 
item de dados possibilitando o compartilhamento dos dados para apenas um tipo de 
operação.
Existem várias possibilidades de bloqueios sobre os itens de dados mas vale o 
destaque a dois modos de bloqueios, que são eles: 
• 2.2 Bloqueio Compartilhado, onde que uma determinada transação obtém 
um item de dado no modo de bloqueio compartilhado e é possível a ela o 
acesso a esse item de dado apenas no modo de leitura, não possibilitando a 
operação de escrita.
• 2.2 Bloqueio Exclusivo, onde que uma determinada transação obtém um 
item de dado no modo de bloqueio exclusivo e tem o direito de leitura e 
também de escrita sobre aquele item de dado.
3.0 Referências bibliográficas
Cartilha sobre plágio, por: Guilherme Nery (Presidente) , Ana Paula 
Bragaglia , Flávia Clemente , Suzana Barbosa - Comissão de casos de 
Autoria.
Livro: Sistema de banco de dados, por: Abraham Silberschatz, Henry F. 
Korth, S. Sudarshan.

Outros materiais