Cap. 8 Processamento de Transacções, Recuperação de Dados e Controlo de Concorrência

Tamanho: px
Começar a partir da página:

Download "Cap. 8 Processamento de Transacções, Recuperação de Dados e Controlo de Concorrência"

Transcrição

1 Cap. 8 Processamento de Transacções, Recuperação de Dados e Controlo de Concorrência I always say, keep a diary and someday it ll keep you. -- Mae West Abel J.P. Gomes Bibliografia: 1. R. Ramakrishnan and J. Gehrke. Database Management Systems. Addison-Wesley, 2003 (cap.18, 19 e 20). 1

2 1. Sumário Introdução às transacções. Propriedades ACID. Requisitos para a consistência duma base de dados. Transacção como unidade de recuperação de dados. Situações que requrem recuperação de dados. Recuperação a partir duma falha numa transacção. Estados da transacção. Entradas no system log. Execução duma transacção. Operações de R/W duma transacção. Checkpoints no system log. Logging com escrita à cabeça (Write Ahead Logging). Transacção como unidade de concorrência. Algoritmos de escalonamento de transacções. Escalas de transacções. Métodos de seriação/seriabilidade. Técnicas de trancamento (Locking) para controlo de concorrência. Tipos de fechos/trancamentos. Fechos e seriabilidade. Deadlocks e livelocks. Outras estratégias de controlo da concorrência e recuperação de dados. 2

3 2. O que é uma transacção? Uma transacção é uma unidade lógica básica de execução num sistema de informação. É uma sequência de operações que são executadas como um todo que leva uma base de dados dum estado consistente para outro. Uma unidade indivisível de processamento base de dados num estado consistente Account A Fred Bloggs 1000 Transfer 500 base de dados num estado consistente Account A Fred Bloggs 500 Account B Sue Smith 0 Account B Sue Smith 500 begin Transaction execution of Transaction A base de dados pode ficar temporariamente num estado inconsistente durante a execução end Transaction 3

4 3. Propriedades ACID das transacções Para preservar a integridade dos dados, o DBMS tem de assegurar: Atomicidade. Uma transacção é unidade atómica de processamento que é realizada completamente ou, simplesmente, não é realizada. Consistência. A execução isolada duma transacção (i.e. com nenhuma outra transacção a executar concorrentemente) preserva a consistência da base de dados. Isolamento/Independência. As actualizações feitas por uma transacção são obrigatoriamente invisíveis para outras transacções enquanto não atinje o estado COMMITTED (o que resolve o problema da actualização temporária ou temporary update problem) Durabilidade. Se uma transacção altera a base de dados e é COMMITTED, as alterações nunca se perdem mesmo que ocorra uma falha posterior. Seriabilidade. Várias transacções são consideradas serializáveis se o efeito de executá-las duma forma entrelaçada é equivalente a executá-las em série segundo alguma ordem. Esta propriedade é importante para garantir a consistência dos dados. 4

5 4. Requisitos para a consistência duma base de dados Controlo da Concorrência A maioria dos DBMSs são sistemas multi-utilizador. A execução concorrente de transacções submetidas por vários utilizadores tem de ser organizada de tal modo que cada transacção não interfere com as restantes, pois só assim se pode garantir que não há resultados incorrectos. A execução concorrente de transacções tem de ser tal que cada transacção pareça estar a executar isoladamente. Recuperação de Dados Falhas do sistema, quer por hardware quer por software, não poderão deixar a base de dados num estado inconsistente. 5

6 5. Transacção como Unidade de Recuperação de Dados Se um erro ou crash de hardware/software ocorre entre o início e o fim duma transacção, a DB ficará inconsistente Falha do computador (crash do sistema) Um erro do sistema ou da transacção Erros locais ou condições de excepção detectadas pela transacção Reforço do controlo da concorrência Falha do disco Problemas físicos e catástrofes A DB é restaurada de volta a algum estado anterior correcto perto do instante da falha de forma a poder refazer as operações após o instante da falha. O DBMS assegura que se a transacção executa algumas actualizações e depois ocorre uma falha antes do seu término, então aquelas actualizações são desfeitas. As instruções COMMIT e ROLLBACK (ou seus equivalentes) garantem a atomicidade da transacção 6

7 6. Recuperação de Dados Duplicação de Dados (Mirroring) Manter duas cópias da DB simultaneamente Salvaguarda Periódica de Dados (Backup) Salvaguardar (dump) periodicamente uma cópia da DB num suporte de memória terciária (fita magnética, DVDs, etc) Registo de Transacções c/ Actualizações (System Logging) O log regista todas as operações envolvidas numa transacção que afectam os dados duma DB. O log é guardado em disco de tal forma que ele não é afectado por falhas, com excepção das falhas do próprio disco e das catástrofes. 7

8 7. Recuperação a partir duma Falha numa Transacção Falha Catastrófica Restaura uma cópia anterior da DB a partir dum backup arquivado Aplica o transaction log à cópia para reconstruir a DB desde o estado corrente arquivado na cópia até ao instante da falha. É óbvio que só as transacções COMMITTED registadas no log serão refeitas. Dump incremental + log cada transacção Falha Não-Catastrófica Inverte as operações que causaram inconsistência, desfazendo-as e, possivelmente, refazendo alterações legítimas que se perderam. As entradas ou verbetes registados no system log são consultadas durante a recuperação de dados. Não há necessidade de usar uma cópia completa de arquivo da DB. 8

9 8. Estados da Transacção Veja-se diagrama mais à frente! Para efeitos de recuperação de dados, o sistema precisa de registar quando uma transacção começa, é consignada (committed) e termina. Begin_Transaction: marca o início de execução da transacção; End_Transaction: especifica que as operações de R/W terminaram e marca o fim de execução da transacção (mas pode ser ser abortada pelo controlo da concorrência); Commit_Transaction: assinala o fim bem-sucedido duma transacção. Quaisquer actualizações executadas pela transacção podem ser consignadas (committed) para a DB com segurança e não serão desfeitas; Rollback (ou Abort): assinala que a transacção chegou ao fim sem sucesso. Quaisquer alterações que a transacção tenha causado na DB serão desfeitas; Undo: semelhante ao estado ROLLBACK, mas aplica-se a uma só operação em vez de uma transacção como um todo; Redo: especifica que certas operações duma transacção têm de ser refeitas para garantir que todas as operações duma transacção consignada (committed) foram aplicadas com 9 sucesso a uma DB;

10 9. Entradas no System Log Qualquer transacção tem um transaction-id único gerado pelo sistema. [start_transaction, transaction-id]: o o início de execução duma transacção é identificado pelo transaction-id. [read_item, transaction-id, X]: a transacção identificada pelo transaction-id lê o valor do item X da DB. É opcional em alguns protocolos. [write_item, transaction-id, X, old_value, new_value]: a transacção identificada pelo transaction-id altera o valor do item X da DB de old_value para new_value. [commit, transaction-id]: a transacção identificada pelo transaction-id completou todos os acessos à DB com sucesso e o seu efeito pode ser gravado permanentemente (committed). [abort, transaction-id]: a transacção identificada pelo transaction-id abortou. Credit_labmark (sno NUMBER, cno CHAR, credit NUMBER) old_mark NUMBER; new_mark NUMBER; SELECT labmark INTO old_mark FROM enrol WHERE studno = sno and courseno = cno FOR UPDATE OF labmark; new_ mark := old_ mark + credit; UPDATE enrol SET labmark = new_mark WHERE studno = sno and courseno = cno ; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; END credit_labmark; 10

11 10. Execução duma Transacção Uma transacção atinge o seu commit point quando todas as operações que acedem à DB estão completas e o resultado gravado no log. Ela então escreve um [commit, transaction-id]. BEGIN TRANSACTION active END TRANSACTION partially committed COMMIT committed READ, WRITE ROLLBACK ROLLBACK failed terminated Se ocorre uma falha do sistema, procura e rollback as transacções que tinham sido gravadas no log com [start_transaction, transaction-id] [write_item, transaction-id, X, old_value, new_value] mas não gravadas com [commit, transaction-id] 11

12 11. Operações de R/W duma Transacção read_item(x): Lê um item X duma DB para uma variável X dum programa: 1. encontra o endereço do bloco em disco que contém o item X 2. copia aquele bloco em disco para um buffer em memória principal 3. copia item X do buffer para a variável X do programa write_item(x): Escreve o valor da variável X do programa para o item X da DB: 1. encontra o endereço do bloco em disco que contém o item X 2. copia aquele bloco em disco para um buffer em memória principal 3. copia item da variável X do programa para a sua localização corrente no buffer e armazena o bloco actualizado no disco (este passo actualiza a DB em disco) X:= X 12

13 12. Checkpoints no System Log Um registo de [checkpoint] é escrito periodicamente no log quando o sistema escreve para a DB em disco o efeito de todas as operações de escrita (WRITE) de transacções consignadas (committed transactions). Todas as transacções cujas entradas ou verbetes [commit, transaction-id] podem ser encontradas no system log não requererão que as suas operações WRITE sejam refeitas no caso de haver um system crash. Antes de uma transacção atingir o commit point, força-se a escrita do ficheiro log para o disco. Acções que constituem um checkpoint: suspensão temporária da execução da transacção escrita forçada para disco de todos os blocos actualizados da DB existentes nos buffers em RAM escrita de um registo de [checkpoint] para o log e escrita forçada do log para o disco retoma da execução da transacção data log 13

14 13. Logging com Escrita à Cabeça (Write Ahead Logging) Actualização Deferida: Nenhuma actualização real da DB antes da transacção atingir o seu commit point 1. Actualizações gravadas no log 2. Transaction commit point 3. Força log para o disco 4. Actualiza DB FALHA! Refaz (REDO) base de dados a partir das entradas no log. Não é necessário qualquer operação de desfazer (UNDO) porque a DB não foi alterada. Actualização Imediata : A DB pode ser actualizada por algumas operações duma transacção antes dela atingir o seu commit point. 1. Actualiza X gravado no log 2. Actualiza X na DB 3. Actualiza Y gravado no log 4. Transaction commit point 3. Força log para o disco 4. Actualiza Y na DB FALHA! REDO Y FALHA! UNDO X desfaz na ordem inversa do log refaz na ordem do log committed usa a entrada write_item do log 14

15 14. Transacção como Unidade de Concorrência Transacções têm de ser sincronizadas correctamente para garantir a consistência da DB Account B Sue Smith 0 Account A Fred Bloggs 1000 Account C Jill Jones 700 T1 Transfere 500 de A para B T2 Transfere 300 de C para A Account A Fred Bloggs 500 Account B Sue Smith 500 Account A Fred Bloggs 800 Account C Jill Jones 400 Resultado Final Account A 800 Account B 500 Account C Execução Simultânea

16 15. Algoritmos de Escalonamneto de Transacções Seriabilidade de Transacções A execução de qualquer número de transacções em paralelo tem de ter o mesmo efeito sobre uma DB que executá-las em série. Problemas resultantes da execução concorrente de transacções: Problema da Actualização Perdida (The Lost Update Problem) Problema da Leitura Irrepetida (The Incorrect Summary or Unrepeatable Read Problem) Problema da Actualização Temporária (The Temporary Update Problem or Dirty Read Problem) 16

17 15.1 Problema da Actualização Perdida Duas transacções que acedem ao mesmo item X duma DB têm as suas operações entrelaçadas de tal forma que tornam o item incorrecto. T1: (joe) T2: (fred) X Y read_item(x); 4 X:= X - N; 2 read_item(x); 4 X:= X + M; 7 write_item(x); 2 read_item(y); 8 write_item(x); 7 Y:= Y + N; 10 write_item(y); 10 O item X tem valor incorrecto porque a sua actualização em T1 perde-se por efeito de re-escrita (overwritten). T2 lê o valor de X antes de T1 mudá-lo na DB e daí resulta a perda do seu valor actualizado na DB. 17

18 15.2 The Incorrect Summary or Unrepeatable Read Problem One transaction is calculating an aggregate summary function on a number of records while other transactions are updating some of these records. The aggregate function may calculate some values before they are updated and others after. T1: T2: T1 T2 Sum sum:= 0; 0 read_item(a); 4 sum:= sum + A; 4 read_item(x);.. 4 X:= X - N;. 2 write_item(x); 2 read_item(x); 2 sum:= sum + X; 6 read_item(y); 8 sum:= sum + Y; 14 read_item(y); 8 Y:= Y + N; 10 write_item(y); 10 T2 reads X after N is subtracted and reads Y before N is added, so a wrong summary is the result 18

19 15.3 Dirty Read or The Temporary Update Problem One transaction updates a database item and then the transaction fails. The updated item is accessed by another transaction before it is changed back to its original value Joe books seat on flight X Joe cancels T1: (joe) T2: (fred) Database Log old Log new read_item(x); 4 X:= X - N; 2 write_item(x); read_item(x); 2 X:= X- N; -1 write_item(x); failed write (X) 4 rollback T1 Fred books log seat on flight X because Joe was on Flight X transaction T1 fails and must change the value of X back to its old value meanwhile T2 has read the temporary incorrect value of X 19

20 16. Escalas de Transacções Uma escala S de n transacções é uma sequência das operações destas transacções. as transacções podem ser entrelaçadas Uma escala mantém a ordem das operações dentro de cada transacção. Para cada transacção T, se a operação a é realizada em T antes da operação b, então a será realizada antes de b em S. Duas operações são conflituosas se elas pertencem a diferentes transacções, e acedem ao mesmo item de dados e uma delas é uma operação de escrita. S T1 read x write x T2 read x write x read x read x write x write x 20

21 16. Escala Seriada e Escala Não-Seriada Uma escala S é em seriada se, para qualquer transacção T que participa na escala, todas as operações de T são executadas consecutivamente em S; caso contrário, diz-se que a escala é não-seriada. Nas escalas não-seriadas, as transacções são entrelaçadas. Existem muitas ordens possíveis or escalas. A teoria da seriabilidade tenta determinar a 'correcção' das escalas. Uma escala S de n transacções é serializável se é equivalente a alguma escala serial das mesmas n transacções. 21

22 16.1 Exemplos de Escalas Seriadas Escala A T1: T2: read_item(x); X:= X - N; write_item(x); read_item(y); Y:=Y + N; write_item(y); read_item(x); X:= X + M; write_item(x); Escala B T1: T2: read_item(x); X:= X + M; write_item(x); read_item(x); X:= X - N; write_item(x); read_item(y); Y:=Y + N; write_item(y); 22

23 16.2 Exemplos de Escalas Não-Seriada Escala C T1: T2: read_item(x); X:= X - N; read_item(x); X:= X + M; write_item(x); read_item(y); write_item(x); Y:=Y + N; write_item(y); Escala D T1: T2: read_item(x); X:= X - N; write_item(x); read_item(x); X:= X + M; write_item(x); read_item(y); Y:=Y + N; write_item(y); Temos de determinar se uma escala é equivalente a uma escala serial ou não i.e. as leituras e escritas estão na ordem certa 23

24 17. Métodos de Seriação/Seriabilidade Multi-versão. As técnicas de controlo de concorrência mantêm os antigos valores do item de dados quando o item é actualizado. Selos de Tempo (timestamps). São identificadores únicos para cada transacção e são gerados pelo sistema. As transacções podem então ser ordenadas segundo os seus selos de tempo de forma a garantir a seriabilidade. Protocolos. Se forem seguidos por todas as transacções, os protocolos asseguram a seriabilidade de todas as escalas em que as transacções participam. Podem usar técnicas de locking dos itens de dados para impedir que as várias transacções acedam aos dados concorrentemente. Controlo Pessimista da Concorrência Verifica se os itens de dados estão fechados (locked), ou verifica os seus selos de tempo, antes de os ler ou escrever em consequência de alguma operação que é realizada sobre a DB. 24

25 18. Técnicas de Trancamento (Locking) para Controlo de Concorrência O conceito de trancamento de itens de dados é usado numa das técnicas principais de controlo da execução concorrente de transacções. Um fecho (lock) é uma variável associada a um item numa DB. Em geral, existe um fecho para cada item numa DB. Um fecho descreve o estado do item em relação a possíveis operações que lhe podem ser aplicadas. É usado para sincronizar o acesso de transacções concorrentes transactions a itens da DB. Uma transacção tranca um objecto antes de o usar. Quando um objecto é trancado por uma transacção, qualquer outra transacção que lhe tente aceder tem obrigatoriamente de esperar que o objecto seja libertado. 25

26 19. Tipos de Fechos Fechos binários têm dois estados possíveis: 1. locked (através da operação lock_item(x)) e 2. unlocked (através da operação unlock_item(x)) Fechos multi-modo permitem o acesso concorrente ao mesmo item por várias transacções. Têm três estados possíveis: 1. read locked ou shared locked (outras transacções podem ler o item) 2. write locked ou exclusive locked (uma única transacção retém o item trancado) e 3. unlocked. Os fechos são guardados numa tabela de fechos. upgrade lock: operação que comuta de read lock para write lock downgrade lock: operação que comuta de write lock para read lock 26

27 20. Os fechos não garantem seriabilidade: caso da actualização perdida T1: (joe) T2: (fred) X Y write_lock(x) read_item(x); 4 X:= X - N; 2 unlock(x) write_lock(x) read_item(x); 4 X:= X + M; 7 unlock(x) write_lock(x) write_item(x); 2 unlock(x) write_lock(y) read_item(y); 8 write_lock(x) write_item(x); 7 unlock(x) Y:= Y + N; 10 write_item(y); 10 unlock(y) 27

28 21. Os fechos não garantem seriabilidade X=20, Y=30 T1 read_lock(y); read_item(y); unlock(y); write_lock(x); read_item(x); X:=X+Y; write_item(x); unlock(x); Y é destrancado demasiado cedo T2 read_lock(x); read_item(x); unlock(x); write_lock(y); read_item(y); Y:=X+Y; write_item(y); unlock(y); X é destrancado demasiado cedo Escala 1: T1 seguida por T2 X=50, Y=80 Escala 2: T2 seguida por T1 X=70, Y=50 28

29 22. Como assegurar a seriabiliade?: Trancamento em Duas Fases (Two-Phase Locking - 2PL) Todas as operações de trancamento (read_lock, write_lock) precedem a primeira operação de destrancamento nas transacções. Duas fases: fase de expansão: novos fechos sobre itens podem ser activados, mas nenhum pode ser libertado; fase de contracção: os fechos existentes podem ser libertados, mas nenhum pode ser activado. X=20, Y=30 T1 read_lock(y); read_item(y); write_lock(x); unlock(y); read_item(x); X:=X+Y; write_item(x); unlock(x); T2 read_lock(x); read_item(x); write_lock(y); unlock(x); read_item(y); Y:=X+Y; write_item(y); unlock(y); 29

30 23. Trancamento em Duas Fases (Two-Phase Locking - 2PL) 2PL básico: quando uma transacção liberta um fecho, ela pode ou não requerer outro fecho number of locks lock point obtain lock release lock Phase 1 Phase 2 BEGIN END 2PL conservador ou 2PL estático: uma transacção tranca todos os itens que ela acede antes do início da sua execução pré-declarando os conjuntos de reads e writes 30

31 23. Trancamento em Duas Fases (cont.) 2PL estrito: uma transacção não liberta nenhum dos seus fechos até que ela consigne (commits) ou aborte conduz a uma escala estrita para recuperação de dados obtain lock number of locks release lock BEGIN period of data item use END Transaction duration 31

32 24. Deadlock: um problema resultante do trancamento Cada uma das duas ou mais transacções está à espera que outra liberte um item. Também designado pelo abraço da morte. T1 read_lock(y); read_item(y); write_lock(x); T2 read_lock(x); read_item(x); write_lock(y); 32

33 25. Deadlocks e Livelocks Protocoolo de prevenção de deadlocks: 2PL conservador Selos nas transacções (transacções mais recentes abortadas) nenhuma espera espera cautelosa esgotamento de tempo (time outs) Detecção de deadlock (se a carga da transacção é leve ou as transacções são curtas e só tranca alguns poucos itens) Grafo do tipo espera-por para detecção de deadlock Selecção de víctima Recomeça ciclicamente Livelock: uma transacção não pode prosseguir por um período indefinido de tempo enquanto outras transacções continuam normalmente. Esquemas de espera justa (i.e. first-come-first-served) 33

34 26. Granularidade do Trancamento Um item duma base de dados pode ser: um registo o valor dum campo dum registo um bloco do disco a base de dados no seu todo Compromissos (trafe-offs) granularidade lata quanto maior o tamanho do item, menor é o grau da concorrência granularidade fina quanto menor o tamanho do item, maior número de fechos são necessários gerir e armazenar e mais operações de lock/unlock são necessárias. 34

35 Outras Estratégias de Controlo da Concorrência e Recuperação de Dados 35

36 27. Recuperação de Dados: Técnica de Paginação na Sombra Os dados não são actualizados in place Para efeitos de recuperação de dados, a base de dados é vista como sendo constituída por um número n de páginas ou blocos de tamanho fixo. Uma tabela de páginas com n entradas é construída de tal modo que a i-ésima entrada na tabela aponta para a i-ésima página da base de dados em disco. Page table Database data pages/blocks page 5 page 1 page 4 page 2 page 3 A tabela de páginas corrente aponta para as páginas correntes mais recentes da base de dados em disco. page 6 36

37 27. Recuperação de Dados: Técnica de Paginação na Sombra (cont.1) Quando uma transacção começa a executar: a tabela de páginas corrente é copiada para uma tabela de páginas na sombra a tabela de páginas na sombra é então salvaguardada a tabela de páginas na sombra nunca é alterada durante a transacção operações de escrita nova cópia duma página é criada e a entrada na tabela corrente é modificada de modo a apontar para a nova página/bloco do disco Current page table (after updating pages 2,6) Database data pages (blocks) page 5 (old) page 1 page 4 page 2 (old) page 3 page 6 page 2 (new) page 5 (new) Shadow page table (not updated)

38 27. Recuperação de Dados: Técnica de Paginação na Sombra (cont.2) Para recuperar duma falha: o estado da DB antes da transacção está disponível na tabela de páginas na sombra liberta páginas modificadas descarta tabelas de páginas corrente Aquele estado é recuperado por cópia da tabela na sombra para a tabela corrente Consignar (commiting) uma transacção descartar anterior página na sombra libertar antigas tabelas que ela referencia Garbage collection Current page table (after updating pages 2,6) Database data pages (blocks) page 5 (old) page 1 page 4 page 2 (old) page 3 page 6 page 2 (new) page 5 (new) Shadow page table (not updated)

39 27. Conclusões A gestão de transacções lida com dois requisitos chave de qualquer sistema de bases de dados: Resiliência na capacidade dos dados sobreviverem a crashes de hardware e erros de software sem perdas e sem ficar inconsistente Controlo de Acesso na capacidade de permitir acesso simultâneo aos dados por vários utilizadores duma forma consistente e só com acesso autorizado 39 FIM

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas Noções de Processamento de, e Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Transação

Leia mais

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações Banco de Dados Fernando Fonseca Ana Carolina Mono-usuário Multi-usuário Um dos critérios de classificação de um SGBD: NÚMERO DE USUÁRIOS que podem acessar o sistema concorrentemente Conceito de Multi-

Leia mais

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Bancos de Dados I 2013/02 Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Visão Geral/Revisão ACID l Atomicidade: Gerenciador de transações l Consistência=controle concorrência/commit

Leia mais

GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados

GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Introdução Sistemas multiusuário

Leia mais

Controle de Concorrência

Controle de Concorrência Controle de Concorrência Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Controle

Leia mais

A compreensão do mecanismo de transações é essencial, sempre que a

A compreensão do mecanismo de transações é essencial, sempre que a Transações A compreensão do mecanismo de transações é essencial, sempre que a base de dados d servir várias clientes simultaneamente. Em SQL é possível definir explicitamente os limites de uma transação.

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Transações, Isolamento, Concorrência e Bloqueio Banco de Dados Distribuído Material preparado :Prof. Marcio Vitorino Ilka Kawashita kawashi@gmail.com Transações Uma transação é

Leia mais

18/9/2009. Recuperação após Falha (ou Restauração) Recuperação após Falha. Recuperação após Falha

18/9/2009. Recuperação após Falha (ou Restauração) Recuperação após Falha. Recuperação após Falha (ou Restauração) Banco de Dados Fernando Fonseca & Ana Carolina Salgado Após uma falha na execução de uma transação, o BD deve ser restaurado para um estado consistente anterior O Sistema deve manter informações

Leia mais

O SGBD vê cada transação como uma seqüência de leituras e escritas delimitada por comandos begin e commit (ou abort).

O SGBD vê cada transação como uma seqüência de leituras e escritas delimitada por comandos begin e commit (ou abort). 1 Conceito básico para controle de concorrência e recuperação: a transação. Uma seqüência de ações que são consideradas uma unidade atômica (indivisível) de trabalho. Acões elementares do SGBD: Leituras

Leia mais

23/05/12. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperação de Falhas em SGBDD

23/05/12. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperação de Falhas em SGBDD Recuperação de Falhas em SGBDD Aluno: Antônio Ezequiel de Mendonça daem@cin.ufpe.br Orientadora: Ana Carolina Brandão Salgado A recuperação de transações que falharam significa que o BD será restaurado

Leia mais

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios BANCO DE DADOS TRANSAÇÃO Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. Prof. Edson Thizon O SGBD deve incorporar mecanismos de proteção

Leia mais

Bases de Dados 2012/2013 Gestão de Recuperação. Helena Galhardas. Sumário

Bases de Dados 2012/2013 Gestão de Recuperação. Helena Galhardas. Sumário Bases de Dados 2012/2013 Gestão de Recuperação Helena Galhardas Sumário Classificação de Falhas Estrutura de Armazenamento Recuperação e Atomicidade Recuperação Baseada em Diário O Algoritmo do Sistema

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Transações Ambiente com SGBD Distribuído Transações

Leia mais

Processamento de Transação

Processamento de Transação Processamento de Transação Banco de Dados II 3ª Série Transações Introdução a Transações Propriedades ACID Controle de Concorrência e Restauração Recuperação da Transação COMMIT de duas fases Estado da

Leia mais

Recuperação de Falhas

Recuperação de Falhas Recuperação de Falhas Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Recuperação

Leia mais

Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli

Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli Módulo I: Processamento de Transações (Aulas 1 e 2) Clodis Boscarioli Agenda: Introdução: Apresentação da disciplina; Leitura do Plano de Ensino; Conceito de transação; Estados de uma transação; Teoria

Leia mais

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende ÍNDICE ANALÍTICO 16.1 AS PROPRIEDADES ACID... 3 16.1.1 CONSISTÊNCIA E ISOLAMENTO...

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

Mecanismos de Recuperação

Mecanismos de Recuperação Mecanismos de Recuperação Banco de Dados: Teoria e Prática André Santanchè/Luiz Celso Gomes Jr Instituto de Computação UNICAMP Setembro 2013 Picture by Ben Collins [http://www.flickr.com/photos/graylight/]

Leia mais

Processamento de Transações

Processamento de Transações UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações Carlos Eduardo Portela Serra de Castro * Processamento de Transações Introdução Definição Problemas de consistência

Leia mais

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006 Programa de TABD 2004/2005 Componente teórica Tópicos Avançados de Bases de Dados Revisão e complemento de bases de dados relacionais Revisão de conceitos básicos Transacções e controlo de concorrência

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

Sumário. Recuperação de Falhas

Sumário. Recuperação de Falhas Sumário 1 Processamento de Consultas 2 Introdução a Transações 3 Recuperação de Falhas 4 Controle de Concorrência 5 Banco de Dados Distribuído Recuperação de Falhas Garantia de atomicidade e durabilidade

Leia mais

Recuperação de Falhas

Recuperação de Falhas Recuperação de Falhas Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Recuperação de Falhas Garantia de atomicidade e durabilidade de Transações requer um SGBD tolerante

Leia mais

Módulo III: Técnicas de. Clodis Boscarioli

Módulo III: Técnicas de. Clodis Boscarioli Módulo III: Técnicas de Recuperação Clodis Boscarioli Agenda: Introdução; Conceitos de recuperação em BD; Técnicas de Recuperação: Com atualização adiada; Com modificação imediata. Recuperação com transações

Leia mais

Sistemas de Informação

Sistemas de Informação 1 1 Bases de Dados SISTEMAs DE GESTÃO DE ANO LECTIVO 2001/2002 Sistemas de Informação 2 2 Sistemas de Informação e organizações Informação e Informação nas organizações Sistemas de Informação (SI) Planeamento

Leia mais

Transações. Banco de Dados. Introdução Conceito de Transação. Fundamentos de transações. Introdução Classificação dos SGBD

Transações. Banco de Dados. Introdução Conceito de Transação. Fundamentos de transações. Introdução Classificação dos SGBD Banco de Dados Fundamentos de transações rof. João arcelo B. josko ransações Conceito de ransação stados da ransação Conceito de Log ropriedades da ransação roblemas Subsistema de Controle de ipos de Falhas

Leia mais

Bibliografia Relembrando Conceitos

Bibliografia Relembrando Conceitos Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Aula 07 - Gerenciamento de transações Objetivos 1. Compreender a necessidade do uso das transações; 2. Entender

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

Leia mais

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires Transações Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Introdução a Transações SGBD sistema de processamento de operações de acesso ao BD SGBDs são em geral multi-usuários

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

Sistema de Base de Dados Distribuída

Sistema de Base de Dados Distribuída Base de Dados Distribuídas Bases de Dados Heterogéneas e Homogéneas Armazenagem Distribuída de Dados Transacções Distribuídas Protocolos de Commit Processamento Distribuído de Consultas Controlo de Concorrência

Leia mais

Transações Controle Distribuído de Concorrência Métodos de Controle de Concorrência Deadlocks

Transações Controle Distribuído de Concorrência Métodos de Controle de Concorrência Deadlocks Alcides Pamplona alcides.pamplona@gmail.com 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) Conteúdo Transações Controle Distribuído de Concorrência Métodos de Controle

Leia mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Bases de Dados. Parte VI SQL em Ambiente de Programação

Bases de Dados. Parte VI SQL em Ambiente de Programação Bases de Dados Parte VI SQL em Ambiente de Programação 1 SQL em Ambiente de Programação O SQL pode ser usado de forma interactiva por utilização do interface normalmente disponibilizado pelo próprio SGBD

Leia mais

Cap. 3 Organização de Ficheiros e Indexação

Cap. 3 Organização de Ficheiros e Indexação Cap. 3 Organização de Ficheiros e Indexação If you don t find it in the index, look very carefully through the entire catalogue. -- Sears, Roebuck, and Co., Consumer s Guide, 1897 Abel J.P. Gomes Bibliografia:

Leia mais

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server. Recover no Oracle O backup e recuperação de dados em um SGBD é de grande importância para a manutenção dos dados. Dando continuidade a nossos artigos, apresentamos abaixo formas diferentes de se fazer

Leia mais

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi Controle de Concorrência Banco de Dados II Profa. Késsia R. C. Marchi Transação Transação é uma unidade lógica de trabalho, envolvendo diversas operações de bancos dados. C. J. Date Uma transação inicia-se,

Leia mais

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 GERALDA SILVIA DE VASCONCELOS JARDIM 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo descreve a importância do mecanismo

Leia mais

Unidade III. Unidade III

Unidade III. Unidade III Unidade III 4 ADMINISTRAÇÃO DE SGBDs As pessoas que trabalham com um banco de dados podem ser categorizadas como usuários de banco de dados ou administradores de banco de dados. 1 Entre os usuários, existem

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Sistemas de arquivos estruturados em log e jornalizados Aula 21 Sistemas de arquivos apresentam questões quanto: Desempenho no

Leia mais

Bases de Dados Distribuídas

Bases de Dados Distribuídas Introdução Devido ao ambiente de grande competitividade em que as organizações de hoje têm que actuar, estas são forçadas a distribuir-se geograficamente, procurando as condições locais mais favoráveis

Leia mais

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros Sistemas de Ficheiros Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros 1 Armazenamento de Informação de Longo Prazo 1. Deve armazenar grandes massas de dados

Leia mais

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas Sistemas Distribuidos e Tolerância a Falhas Gonçalo Amador Ricardo Alexandre Departamento de Informática Universidade da Beira Interior Bases de Dados Distribuídas 1 Modelos de Bases de Dados 2 Conceitos

Leia mais

Deadlocks (Impasses) Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education

Deadlocks (Impasses) Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education Deadlocks (Impasses) Um problema de concorrência Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education 1 Múltiplos Processos e Múltiplas Threads 2 Interação entre Processos Processos

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Processo cooperativo é aquele que pode afetar outros processos em execução no sistema Ou ser por eles afetado Processos

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

Recuperação de Falhas

Recuperação de Falhas Recuperação de Falhas Capítulo 18 Humpty sentou-se no muro de pedra Humpty teve uma grande queda Todos os cavaleiros e homens do reino Não puderam juntá-lo de novo. - velha rima de crianças 1 Revisão:

Leia mais

Sistemas Operativos: Deadlocks

Sistemas Operativos: Deadlocks Sistemas Operativos: Deadlocks Pedro F. Souto (pfs@fe.up.pt) March 30, 2012 Deadlocks Um deadlock é uma situação em que 2 ou mais processos ficam bloqueados indefinidamente pode ser uma race condition

Leia mais

Computação Orientada aos Serviços. Transacções Semestre de Inverno 11/12

Computação Orientada aos Serviços. Transacções Semestre de Inverno 11/12 Computação Orientada aos Serviços Transacções Semestre de Inverno 11/12 Motivação Da execução e utilização dos serviços resulta, inevitavelmente, a actualização de recursos de informação. Podemos ter a

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Aula 2 Arquitetura Oracle

Aula 2 Arquitetura Oracle Aula 2 Arquitetura Oracle Instancia Oracle Uma instância Oracle é composta de estruturas de memória e processos. Sua existência é temporária na memória RAM e nas CPUs. Quando você desliga a instância em

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Sistemas Operativos I

Sistemas Operativos I Arquitectura de um Computador Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sumário Arquitectura de um Computador Estrutura de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Protecção

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Parte 1 Processos e Threads (20%)

Parte 1 Processos e Threads (20%) INE 5645 Programação Paralela e Distribuída 2011.1 Turma 0238B Prof. Bosco Nome: BOSCO Matrícula: Parte 1 Processos e Threads (20%) 1.1 Explique, resumidamente, o que é um processo em Sistema Operacional.

Leia mais

Sistema de Ficheiros

Sistema de Ficheiros Sistema de Ficheiros 1 Armazenamento de Informação de Longa Duração 1. Deve guardar grandes quantidades de dados 2. Informação guardada deve sobreviver à terminação dos processos 3. Múltiplos processos

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark Sistemas Distribuídos e Engenharia de Software Projecto de 2010/2011

Leia mais

Arquitecturas de Sistemas de Base de Dados

Arquitecturas de Sistemas de Base de Dados Arquitecturas de Sistemas de Base de Dados Sistemas Centralizados Sistemas Cliente-Servidor Sistemas Paralelos Sistemas Distribuídos Sistemas Centralizados Correm sobre um único computador e não interagem

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento. CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,

Leia mais

Bases de Dados 2008/2009

Bases de Dados 2008/2009 Instituto Superior Técnico Bases de Dados 2008/2009 Exame de 30 de Janeiro de 2009 Sem consulta Duração: 2h30 1. Considere o seguinte cenário relativo a um stand de compra e venda de carros usados, em

Leia mais

Gerenciamento de Transações

Gerenciamento de Transações Gerenciamento de Transações Outros tipos de recuperação: Além das falhas causadas por transações incorretas, conforme vimos anteriormente, podem ocorrer outros tipos de falhas, que ocorrem por fatores

Leia mais

Ambiente SQL: esquemas

Ambiente SQL: esquemas Ambiente SQL: esquemas Um ambiente SQL é constituído pelo conjunto de elementos da BDs tabelas, visões, domínios e asserções, sobre os quais podem ser executadas operações SQL. Estes elementos podem ser

Leia mais

Bases de Dados. Repescagem. 3 de Fevereiro de 2003 9:00. Duração: 90 minutos. Responda apenas nas folhas indicadas.

Bases de Dados. Repescagem. 3 de Fevereiro de 2003 9:00. Duração: 90 minutos. Responda apenas nas folhas indicadas. Não entregue esta folha. INSTITUTO SUPERIOR TÉCNICO DEPARTAMENTO DE ENGENHARIA INFORMÁTICA Bases de Dados Repescagem 3 de Fevereiro de 2003 9:00 Duração: 90 minutos Responda apenas nas folhas indicadas.

Leia mais

Em Banco de Dados. Campinas, 26 de julho de 2004. Resumo. Este artigo trata de recuperação em banco de dados. Apresentamos uma

Em Banco de Dados. Campinas, 26 de julho de 2004. Resumo. Este artigo trata de recuperação em banco de dados. Apresentamos uma Uma Visão Geral Sobre Algoritmos de Recuperação Em Banco de Dados Luís Augusto Angelotti Meira Campinas, 26 de julho de 2004 Resumo Este artigo trata de recuperação em banco de dados. Apresentamos uma

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. Indique se está a prestar provas para o:

Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. Indique se está a prestar provas para o: Prova Escrita de Base de Dados 13 Janeiro 2005 - V1 Número do Aluno: Nome do Aluno: Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. 1º Exame - o exame

Leia mais

Controle de Concorrência II

Controle de Concorrência II Controle de Concorrência II Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material do Prof. Paulo Pires Técnicas de Controle de Concorrência Pessimistas supõem que sempre ocorre interferência

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerencia de Processos 4.1 Introdução aos Processos Gerenciamento de Processos Processo -Definição: É uma abstração do sistema

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação

Leia mais

Tarefa Orientada 20 Cursores

Tarefa Orientada 20 Cursores Tarefa Orientada 20 Cursores Objectivos: Declarar cursores Utilizar cursores Utilizar funções do sistema para trabalhar com cursores Actualizar dados através de cursores Um cursor é um objecto da base

Leia mais

Programação Paralela Usando Memória Transaccional com Suporte a Aninhamento Paralelo

Programação Paralela Usando Memória Transaccional com Suporte a Aninhamento Paralelo Programação Paralela Usando Memória Transaccional com Suporte a Aninhamento Paralelo David Granchinho Instituto Superior Técnico Resumo Para poder tirar partido das arquitecturas multi-processador é necessário

Leia mais

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux System API Máquinas virtuais System ISA (Instruction Set Architecture) Aplicações Chamadas ao sistema Sistema de Operação Hardware User ISA (Instruction Set Architecture) Uma máquina virtual executa software

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Replicação de servidores

Replicação de servidores Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação de servidores Replicação: que benefícios nos dá? 1) Melhor desempenho e escalabilidade Replicar serviços permite que algumas operações

Leia mais

PROVA ESPECÍFICA Cargo 04

PROVA ESPECÍFICA Cargo 04 10 PROVA ESPECÍFICA Cargo 04 QUESTÃO 21 Analise as seguintes afirmativas: I. Uma das funções de um DBA é gerenciar os mecanismos de segurança de acesso aos dados armazenados em um SGBD (Sistema Gerenciador

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Falha benigna. Sistema. Sistema Próprio. Interrompido. Restauração. Falha catastrófica. Falha catastrófica. Sistema. Impróprio

Falha benigna. Sistema. Sistema Próprio. Interrompido. Restauração. Falha catastrófica. Falha catastrófica. Sistema. Impróprio INE 5418 Segurança de Funcionamento Tipos de s Detecção de s Recuperação de s Segurança de Funcionamento Representa a confiança depositada em um determinado sistema em relação ao seu correto funcionamento

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Banco de Dados Oracle. Faculdade Pernambucana - FAPE Faculdade Pernambucana - FAPE Visão Geral dos Componentes Principais da Arquitetura Oracle Servidor Oracle É o nome que a Oracle deu ao seu SGBD. Ele consiste de uma Instância e um Banco de Dados Oracle.

Leia mais

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. SISTEMAS DIGITAIS Memórias Alterado para lógica positiva por Guilherme Arroz Sistemas Digitais 1 Tipos de memórias Existem vários tipos de memórias em sistemas digitais As memórias internas dos dispositivos,

Leia mais

Worldwide Online TechDay. 30 - Outubro

Worldwide Online TechDay. 30 - Outubro 30 - Outubro 1 Como funciona um banco de dados Microsoft SQL Server? Fabricio Catae Premier Field Engineer Microsoft Certified Master Twitter: @fcatae WebSite: http://blogs.msdn.com/fcatae/ 2 Nossos Parceiros

Leia mais

Conceitos básicos de Banco de Dados

Conceitos básicos de Banco de Dados Modelagem de Banco de Dados Conceitos básicos de Banco de Dados Professor: Anderson D. Moura Março, 2009 Banco de Dados Bancos de dados, (ou bases de dados), são conjuntos de dados com uma estrutura regular

Leia mais

*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.

*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional. Arquitetura Oracle e seus componentes Hoje irei explicar de uma forma geral a arquitetura oracle e seus componentes. Algo que todos os DBA s, obrigatoriamente, devem saber de cabo a rabo. Vamos lá, e boa

Leia mais

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Modelo Genérico de Módulo de E/S Grande variedade de periféricos Conteúdo Capítulo 7 Entrada/Saída Dispositivos externos Módulos E/S Técnicas de E/S E/S Programada E/S Conduzida por interrupções Processamento de interrupções Controlador Intel 82C59A Acesso Directo à

Leia mais

Checkpointing: desafios em sistemas distribuídos e em bancos de dados

Checkpointing: desafios em sistemas distribuídos e em bancos de dados Checkpointing: desafios em sistemas distribuídos e Instituto de Computação - Unicamp VIII ERBD - Escola Regional de Bancos de Dados 2012 PUCPR Curitiba Bom dia! Um pouco sobre mim... Formação e Filiação:

Leia mais

Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador de comandos: psql

Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador de comandos: psql Bases de Dados PostgreSQL e Php Transacções Joins, agregações, vistas P. Serendero, 2011 1 PostgreSQLe Php: transacções Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador

Leia mais