de Bases de Dados Exame 1

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

Download "de Bases de Dados Exame 1"

Transcrição

1 Ano lectivo 009/0 o semestre Administração e Optimização de Bases de Dados Exame Regras O exame tem a duração de horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de hora, mediante a entrega do exame. Todas as folhas devem ser identificadas com o número do aluno. Deve apresentar sempre os cálculos que fez para as questões. Deve responder às questões no espaço reservado nas folhas do enunciado. Nome: Cotação das questões Questão 4 5 Alínea (a) (b) (c) (a) (d) Valor,5 0,5 Nome: IST Pág. de 3

2 Considere um índice hash do tipo extendable hashing, onde cada bucket armazena valores. Considere que é usada a função de dispersão h(x) = x mod 8. a) Mostre a estrutura obtida pela inserção dos valores,,, 5, 3 e 7. Considere que apenas se usam números inteiros com 3 bits e que estes são lidos da esquerda para a direita. Deve apresentar a estrutura após a inserção de cada elemento. Em cada passo, não é necessário repetir os buckets que não mudaram IST Pág. de 3

3 b) Considere a tabela pessoa(nome, idade). Suponha que o índice da alínea (a) é usado para o atributo idade desta tabela. Para os valores inseridos na alínea (a), dê um exemplo de uma instância da tabela, ilustrando: o índice; a tabela; os ponteiros do índice para a tabela; e assumindo que este é um índice primário c) No melhor caso, quantos valores podem ser guardados no índice da alínea (a), até que seja inevitável o uso de overflow buckets? Justifique a resposta. Uma vez que consideramos apenas 3 bits, a tabela de indexação pode crescer somente até ter 8 ponteiros. Portanto, podemos ter no máximo 8 buckets. Como cada bucket suporta valores, o índice pode, no melhor caso, guardar 6 valores, antes que seja inevitável o uso de overflow buckets. IST Pág. 3 de 3

4 Considere duas relações R(A, B) e R(A, C) em que A é chave primária em R e R. Considere também que: A relação R contém 5000 tuplos, em 307 blocos; A relação R contém 300 tuplos, em 384 blocos. a) Estime o tamanho máximo em tuplos da relação resultante da operação R R. Justifique. Como A é chave primária em R, cada tuplo de R irá coincidir com, no máximo, tuplo em R. Logo, a relação final nunca terá mais do que 300 tuplos. b) Assuma que nenhuma das relações está ordenada. Assuma também que cabem 3 blocos de cada vez em memória. Calcule o custo, em termos de I/O, de realizar um merge join para R R. O custo do merge join é b R + b R + sort(r) + sort(r) em que b r é o número de blocos da relação r e ( b r sort(r) = b r log M M ) + é o custo de ordenar a relação r, onde M é o número de blocos que cabem em memória. Neste caso temos que: ( ) 307 sort(r) =307 log 3 + = 307 ( + ) = 645 sort(r) =384 ( log custo = = ) + = 384 ( 7 + ) = 5760 IST Pág. 4 de 3

5 c) Supondo que ambas as relações estão ordenadas, existe algum caso em que é preferível usar um nested-loop join ao invés de um merge join? Em caso afirmativo, dê um exemplo. Em caso negativo, apresente uma prova. Tomemos o caso do block nested-loop join, uma vez que é mais eficiente que o nested-loop join simples. Para que seja mais eficiente que um merge join, teríamos que ter: custo(block nestedloop) <custo(mergejoin) b r b s + b r <b r + b s Ora, como b R, esta proposição é falsa. Logo, caso as tabelas estejam ordenadas, o custo do merge join é sempre inferior. IST Pág. 5 de 3

6 3 Tendo em conta os vários conceitos relacionados com a gestão de transacções concorrentes em sistemas de gestão de bases de dados, introduzidos nas aulas, responda às seguintes questões: a) Considere as duas seguintes transacções concorrentes: T : read(a); read(b); if A=0 then B := B + ; write(b). T : read(b); read(a); if B=0 then A := A + ; write(a). Considere ainda que o requisito de consistência associado à aplicação que executa estas transacções é o de que, em qualquer instante, A = 0 ou B = 0, e que A e B tomam inicialmente o valor 0.. Mostre que qualquer execução série das duas transacções preserva a consistência da base de dados.. Apresente uma execução concorrente de T e T que corresponda a um escalonamento não serializável. 3. Existe algum escalonamento concorrente das transacções T e T que corresponda a um escalonamento serializável? Justifique a sua resposta. IST Pág. 6 de 3

7 . Existem duas execuções série possíveis para as duas transacções: Executar primeiro T e depois T : Neste caso, temos que o resultado final seria B= e A=0, mantendo-se a consistência da base de dados. Executar primeiro T e depois T : Neste caso, temos que o resultado final seria B=0 e A=, mantendo-se a consistência da base de dados.. Temos que a execução concorrente apresentada abaixo iria dar um resultado diferente daquele que é obtido por um escalonamento serializável: T : read(a); T : read(b); T : read(a); T : if B=0 then A := A + ; T : write(a) ; T : read(b); T : if A=0 then B := B + ; T : write(b). Com este escalonamento, o resultado final seria A= e B=. Construindo-se um grafo de precedências para o escalonamento apresentado, poderia-se constatar que existe um ciclo entre as transacções T e T. 3. Não existem nenhum escalonamento concorrente das transacções T e T que corresponda a um escalonamento serializável. Imagine-se que a primeira operação da transacção T se executava primeiro num dado escalonamento. Por forma a termos um escalonamento concorrente, teríamos que pelo menos a primeira operação de T teria de ser intercalada com as operações de T, o que levaria sempre a uma situação em que o resultado final seria A= e B= (i.e., não equivalente a um escalonamento série), visto que a primeira operação de T faz a leitura do objecto B e este objecto só é escrito por T na sua última operação. O mesmo iria ocorrer se a primeira operação da transacção T se executasse primeiro, originando sempre um resultado final seria A= e B= (i.e., não equivalente a um escalonamento série). b) Liste as propriedades vulgarmente designadas pela sigla ACID. Explique cada uma delas e identifique os mecanismos normalmente utilizados pelos SGBDs para assegurar as propriedades correspondentes às letras I e D da sigla ACID (i.e., introduza um mecanismo para cada uma das duas letras). IST Pág. 7 de 3

8 Atomicidade : Para cada transacção, ou todas as suas operações são reflectidas correctamente na base de dados ou nenhuma delas é. Consistência : Para cada transacção, a sua execução de forma isolada preserva a consistência da base de dados. Isolamento : Embora várias transacções possam ser executadas simultaneamente, cada transacção tem de se manter independente das outras transacções que se executam concorrentemente (i.e., os escalonamentos concorrentes são equivalentes a escalonamentos série). Os resultados de uma transacção concorrente têm de estar ocultos à execução das outras transacções que se encontram em execução simultânea. Os SGBDs usam protocolos de gestão de concorrência baseados em locks ou em timestamps por forma a garantir a propriedade do isolamento. Durabilidade : Para cada transacção, depois da mesma se completar com sucesso, as mudanças que ela fez na base de dados persistem, mesmo que existam falhas no sistema. Os SGBDs usam protocolos de recuperação baseados em escritas persistentes em log (e.g., o ARIES, o qual se baseia na ideia de Write Ahead Logging) por forma a assegurar a propriedade da durabilidade. c) Explique a diferença entre um escalonamento série e um escalonamento serializavél. Um escalonamento série de múltiplas transacções corresponde a uma execução de cada uma das transacções por uma dada ordem, sem que as operações das mesmas se intersectem. Um escalonamento serializavél de múltiplas transacções corresponde a um escalonamento concorrente das mesmas, mas cujo resultado final seja equivalente a um possível escalonamento em série das mesmas. IST Pág. 8 de 3

9 4 Considere o protocolo ARIES. Considere ainda que, aquando de uma falha no SGBD, temos a seguinte informação no log, na tabela de transacções, e na dirty page table. LSN LAST_LSN TRAN_ID TYPE PAGE_ID T update C 0 T udpate B 3 T commit 4 CHECKPOINT 5 0 T3 update A 6 T update C 7 6 T commit TRANSACTION_ID LAST_LSN STATUS PAGE_ID LSN T 3 commit C T active B a) Mostre qual o resultado da aplicação do protocolo de recuperação ARIES no cenário acima, descrevendo claramente: A tabela de transacções e a dirty page table após a fase de análise. Os registos do log envolvidos na fase de redo. Os registos do log envolvidos na fase de undo. Os registos do log após a execução do protocolo ARIES. IST Pág. 9 de 3

10 Após a fase de análise, temos a seguinte situação: TRANSACTION ID LAST LSN STATUS PAGE ID PageLSN RecLSN T 3 commit C 6 T 7 commit B 0 T3 5 active B 5 5 UNDO-LIST : T3: 5 REDO-LSN: Durante a fase de REDO, as operações correspondentes aos registos com LSN,, 5 e 6 serão refeitas. Durante a fase de UNDO, a operação correspondente ao registo com LSN 5 será desfeita, registando-se no log um Compensation Log Record com LSN 8: LSN LAST LSN TRAN ID TYPE PAGE ID undonextlsn T commit 8 5 T3 CLR C < empty > b) Considere as seguintes duas propriedades do protocolo ARIES e responda às questões apresentadas:. O ARIES executa um redo para todos os updates, ou apenas para os updates correspondentes a transacções confirmadas? Justifique a sua resposta e apresente uma razão para este facto.. O ARIES regista no log as operações de undo executadas na fase de recuperação? Justifique a sua resposta e apresente uma razão para este facto. O ARIES executa um redo para todos os updates ainda não reflectidos de forma persistente na base de dados, e não apenas para os updates correspondentes a transacções confirmadas. Desta forma, ajuda-se a manter a relativa simplicidade do algoritmo de recuperação. O ARIES regista no log as operações de undo executadas na fase de recuperação, através de Compensation Log Records garantindo-se assim que, em caso de falha aquando de uma recuperação, não se efectuam as mesmas operações de undo repetidamente. IST Pág. de 3

11 c) O mecanismo Write Ahead Log (WAL) baseia-se em duas regras simples que relacionam a execução de operações na base de dados com as escritas em log. Explique estas duas regras e indique eventuais problemas associados ao não cumprimento de cada uma das duas regras. O WAL deve forçar a escrita do registo de log de forma persistente, antes da modificação correspondente ser reflectida no disco. Esta regra, em conjunto com a informação de UNDO, ajuda a garantir a propriedade da atomicidade (transacções ainda não confirmadas aquando de uma falha podem ter as suas operações individuais desfeitas). O WAL deve forçar a escrita persistente de todos os registos de log associados a uma transacção, antes da mesma poder ser confirmada. Esta regra, em conjunto com a informação de REDO, ajuda a garantir a propriedade da durabilidade (transacções confirmadas, mas cujas operações ainda não estavam armazenadas de forma persistente em disco, podem ser refeitas). IST Pág. de 3

12 5 Responda às seguintes questões. a) Proponha uma melhoria ao algoritmo external sort-merge que permita diminuir o número de merges necessários para ordenar a tabela. O algoritmo external sort-merge, tal como foi apresentado em aulas, efectua o passo de merge dois a dois, i.e., é feito o merge de duas passagens de cada vez. Uma melhoria seria efectuar o merge de N > passagens em simultâneo. Para tal, seria lido um bloco de cada passagem para a memória e o maior dos N blocos lidos seria escrito já no resultado final. O problema de escolher o maior de N blocos pode ser resolvido usando uma estrutura heap. b) Por vezes é necessário que o valor de um dado atributo numa relação seja sequencial (e.g., numeração de facturas). Explique por que razão esta restrição pode trazer problemas de desempenho e sugira uma solução que evite tais problemas. Para obter um valor sequencial para um atributo é necessário guardar um contador com o último valor gerado. Se este contador for utilizado por várias transacções, pode-se tornar um ponto crítico de concorrência, causando muitas esperas. A maioria dos SGBDs implementa mecanismos de contagem próprios, optimizados para esta situação. Uma solução melhor, no entanto, pode ser gerar valores para o atributo que não sejam sequenciais e, mais tarde, voltar a processar os dados para transformar esses valores em sequências. c) Considere uma carga num SGBD que consiste de (i) interrogações frequentes que seleccionam um único tuplo de uma tabela, (ii) interrogações raras que agregam todos os tuplos da tabela, e (iii) actualizações ocasionais sobre a tabela. Assuma que o SGBD suporta locks de dois tipos (i.e., exclusivos e partilhados), e que os utilizadores têm uma opção de configuração que lhes permite decidir, para cada query, se o SGBD vai usar locks ao nível da granularidade da tabela ou do tuplo. Indique um potencial problema associado com a gestão da granularidade dos locks neste SGBD, explicando-o de forma detalhada. IST Pág. de 3

13 O esquema de gestão de concorrência apresentado neste exercício apenas funciona se todas as transacções concordarem em usar locks a um nível de granularidade do tuplo ou da tabela. Se uma transacção decidir obter um lock de leitura na totalidade da tabela, e outra transacção concorrente decidir obter um lock em tuplos individuais, então não existe nenhum conflito entre os dois locks, o que pode resultar em problemas ao nível do isolamento. Os SGBDs que usam locks com vários níveis de granularidade normalmente introduzem um locks de intenção em adição aos locks partilhados e exclusivos, por forma a lidarem com este problema. d) Explique de que forma os mecanismos de criação de índices oferecidos pelo SQL Server 008 podem possibilitar optimizações semelhantes às obtidas por alterações ao nível do esquema, sem os problemas que lhes estão normalmente associados. Na sua resposta, considere optimizações relacionadas com: Particionamento de tabelas. Desnormalização pela adição de atributos derivados. Os mecanismos de criação de índices do SQL Server 008 possibilitam a criação de índices em que as chave de pesquisa contém múltiplos atributos, ou ainda índices em que se armazenam outros atributos pertencentes a uma dada tabela junto com as chaves de pesquisa. Desta forma, estes mecanismos possibilitam simular o particionamento vertical de tabelas, uma vez que através deles se podem gerar planos de execução que apenas fazem uso do índice (i.e., index-only plans) por forma a aceder aos atributos necessários à interrogação. Oferecem-se as vantagens associadas ao particionamento de tabelas, sem os problemas inerentes às alterações ao nível do esquema. Os mecanismos de criação de índices do SQL Server 008 possibilitam a criação de índices em que as chaves de pesquisa correspondem a valores derivados dos atributos pertencentes a uma tabela (e.g., valores computados por operações aritméticas sobre os atributos de uma tabela), simulando-se assim a inclusão de atributos derivados sobre uma dada tabela. Oferecem-se as vantagens associadas à adição de atributos derivados, sem problemas como a presença de informação inconsistente na base de dados. IST Pág. 3 de 3

Sumário. Introdução a Transações

Sumário. Introdução a Transações Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Gerenciamento de Transações em Banco de Dados

Gerenciamento de Transações em Banco de Dados Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

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

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Recuperação de Falhas Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Banco de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma CPU Forma de execução

Leia mais

Processamento de Produtos ( X )

Processamento de Produtos ( X ) Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge

Leia mais

Organização de Arquivos

Organização de Arquivos Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted

Leia mais

e c d o o r B s s n i : l e F s

e c d o o r B s s n i : l e F s e d o t n e m a s s e c o r P I I D B s e õ ç a s n a Tr Leite pe i l e F s i Lu : r o s s e Prof Contato luisleite@recife.ifpe.edu.br Professorluisleite.wordpress.com Ciclo de três aulas Processamento

Leia mais

Bases de Dados 2015/2016. Enunciado do Projeto Parte 2. O trabalho a desenvolver para a primeira parte do projeto consiste nos seguintes itens:

Bases de Dados 2015/2016. Enunciado do Projeto Parte 2. O trabalho a desenvolver para a primeira parte do projeto consiste nos seguintes itens: 2015/2016 Enunciado do Projeto Parte 2 Este enunciado corresponde à segunda parte do projeto da disciplina Bases de Dados que consiste na implementação de um bloco de notas estruturado sobre uma Base de

Leia mais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011 Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

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

Bases de Dados Paralelas

Bases de Dados Paralelas Bases de Dados Paralelas Introdução Paralelismo I/O Paralelismo Interquery Paralelismo Intraquery Paralelismo Intraoperação Paralelismo Interoperaçao Concepção de Sistemas Paralelos 1 Introdução As máquinas

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

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Lista

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 19 de Janeiro de 2011 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

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

PROCESSAMENTO DE TRANSAÇÕES

PROCESSAMENTO DE TRANSAÇÕES UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROCESSAMENTO DE TRANSAÇÕES Profº Erinaldo Sanches Nascimento Objetivos Discutir a necessidade de controle de concorrência e

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma

Leia mais

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres ESTRUTURA DE DADOS E ALGORITMOS Hashing (Tabela de Dispersão) Cristina Boeres Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves! Para

Leia mais

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data

Leia mais

Processamento de Transações

Processamento de Transações Arquitetura de Banco de Dados Processamento de Transações Carolina Nogueira Marcelo Eduardo Cardoso Rodrigo Dlugokenski Vítor De Araújo Bancos de dados Single-users versus Multiusers classificação baseada

Leia mais

Sistemas de Gerência de Bancos de Dados. Módulo 1 - Armazenamento

Sistemas de Gerência de Bancos de Dados. Módulo 1 - Armazenamento Sistemas de Gerência de Bancos de Dados Módulo 1 - Armazenamento Tópicos Introdução Gerência do Buffer Pool Armazenamento em SGBDs Convencionais Armazenamento em SGBDs Orientados a Objeto Introdução Etapas

Leia mais

Processamento da Consulta. Processamento da Consulta

Processamento da Consulta. Processamento da Consulta Processamento da Consulta Equipe 05 Adriano Vasconcelos Denise Glaucia Jose Maria Marcigleicy Processamento da Consulta Refere-se ao conjunto de atividades envolvidas na extra de dados de um banco de dados.

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações 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 é

Leia mais

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real 1. O modelo de processos - Notação Comecemos por sumariar a notação tipicamente utilizada durante as aulas teóricas. C D T Γ 1 Γ 1,1 Γ 1,2 0 3 6 9 12 tempo Activação da tarefa Fim da execução da tarefa

Leia mais

indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016

indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 Universidade Federal do Paraná indexação e hashing Índices

Leia mais

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS 1. Analise as afirmativas abaixo. I. Atributo = dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. II. Relacionamento = conjunto

Leia mais

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos Teste de Arquitectura de Computadores LEIC, LERCI e LEE IST - Taguspark Profs responsáveis: José Delgado e Rui Rocha 2º Semestre 2004/2005 1º teste, turno B 2 de Abril de 2004 RESOLUÇÃO Início: 10H00 FIM:

Leia mais

Scheduler Baseado em Timestamp

Scheduler Baseado em Timestamp Scheduler Baseado em Timestamp Técnica na qual toda transação Tx possui uma marca timestamp (TS(Tx)) Princípio de funcionamento (TS-Básico) no acesso a um item de dado D por operações conflitantes, a ordem

Leia mais

1. Monitorização. Índice. 1.1 Principais pontos críticos Pontos críticos directos

1. Monitorização. Índice. 1.1 Principais pontos críticos Pontos críticos directos Monitorização e Gestão do Servidor de Email ------------------------------------------------------------------------------------------------------------------------ Índice 1. Monitorização...1 1.1 Principais

Leia mais

Bases de Dados. Parte I. Introdução: conceitos básicos

Bases de Dados. Parte I. Introdução: conceitos básicos Bases de Dados Parte I Introdução: conceitos básicos (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri

Leia mais

Resolução dos exercícios da lista BD01

Resolução dos exercícios da lista BD01 Resolução dos exercícios da lista BD01 Pedro Losco Takecian Monitor João Eduardo Ferreira Professor 4 de abril de 2006 1. Quando faz sentido utilizar um SGBD ao invés de simplesmente utilizar o sistema

Leia mais

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época

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

Lock. Administração de Banco de Dados

Lock. Administração de Banco de Dados Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Prof. Mário A. Nascimento, Ph.D. mario@dcc.unicamp.br http://www.dcc.unicamp.br/~mario Material de autoria original de Raghu Ramakrishnan. 1 Bibliografia Ramakrishnan R., Database

Leia mais

Curso: Banco de Dados I. Conceitos Iniciais

Curso: Banco de Dados I. Conceitos Iniciais Curso: Conceitos Iniciais Discussão inicial O que são Bancos de Dados? Quais os programas de Bancos de Dados mais conhecidos no mercado? Quais as vantagens do uso de Bancos de Dados nas empresas? Como

Leia mais

Capítulo 11 Sistemas de Arquivos

Capítulo 11 Sistemas de Arquivos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo Sistemas de s Introdução O armazenamento e a recuperação de informações

Leia mais

DDL). O resultado da compilação dos parâmetros DDLs é

DDL). O resultado da compilação dos parâmetros DDLs é Banco Dados Aula 2 Linguagens de Banco de Dados e Tipos de Usuários 1. Linguagens de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do

Leia mais

SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL

SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL . SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL 1. A organização de um arquivo define como os dados estão internamente organizados. Explique a organização de arquivos indexada. NA ORGANIZAÇÃO INDEXADO O ARQUIVO

Leia mais

Gerência de Transações Distribuídas

Gerência de Transações Distribuídas Transação Gerência de Transações Distribuídas Uma é uma unidade de computação consistente e confiável Transparência de concorrência Transparência de falhas Fernanda Baião baiao@cos.ufrj.br Banco de dados

Leia mais

Função Fundamental do SO

Função Fundamental do SO Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a

Leia mais

Controle de Concorrência

Controle de Concorrência Controle de Concorrência Protocolos de Bloqueio Protocolo com base em Timestamps Protocolos Multi-versão Inserção e Remoção de Dados Controle de Concorrência Controle de concorrência é usado para garantir

Leia mais

6. Pesquisa e Ordenação

6. Pesquisa e Ordenação 6. Pesquisa e Ordenação Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 1 / 30 Pesquisa de Informação A pesquisa eficiente de informação

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Controle de Concorrência Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

Exercícios Módulo Banco de Dados I (08/07/2006)

Exercícios Módulo Banco de Dados I (08/07/2006) UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLOGICAS DEPARTAMENTO DE INFORMÁTICA Exercícios Módulo Banco de Dados I (08/07/2006) Marcelo Santos Daibert João Carlos da Silva Juiz de Fora

Leia mais

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

9 Sistemas de ficheiros

9 Sistemas de ficheiros 9 Sistemas de ficheiros Ficheiros Directórios Implementações de sistemas de ficheiros Exemplos de sistemas de ficheiros 1 Informação a longo-prazo 1. Deve guardar grandes quantidades de dados 2. A informação

Leia mais

O Modelo e a Álgebra Relacional

O Modelo e a Álgebra Relacional O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 30 de Novembro de o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 30 de Novembro de o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 30 de Novembro de 2005 2 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 UFRJ IM - DCC Sistemas Operacionais I Unidade IV Sistema de arquivos Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 ORGANIZAÇÃO DA UNIDADE Sistema de Arquivos Gerenciamento de E/S

Leia mais

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa Bancos de Dados IV Tuning de Bancos de Dados Rogério Costa rogcosta@inf.puc-rio.br 1 Sintonia (Tuning) de Bancos de Dados O que é? Realizar ajustes de forma a obter um melhor tempo de resposta para determinada

Leia mais

Aula Anterior. Decomposição algorítmica (continuação)

Aula Anterior. Decomposição algorítmica (continuação) Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2009/2010 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída)

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Modelos de consistência de memória João Luís Ferreira Sobral jls@... 29 Março 2011 Resumo Revisão: modelos de threads Qual a necessidade

Leia mais

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Banco de Dados Controle de Concorrência e Recuperação de Transação Última atualização: 20 de janeiro de 2006 Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Tópicos Modelo Transacional Clássico

Leia mais

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014 Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;

Leia mais

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos 25 de Julho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização dos arquivos Estrutura de diretório Gerência de espaço livre Gerência de alocação de arquivos em disco Proteção

Leia mais

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Prof. Paulo Ferreira Atividade para Sala de Aula: 25/11/2008 1. Introdução Índices Os índices

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo

Leia mais

Monitorização do Servidor de

Monitorização do Servidor de Monitorização do Servidor de Email Neste documento pretende-se descrever os principais pontos críticos do funcionamento dos servidores de email. Esta análise é feita sobre o modelo de servidor de email

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

Redes de Computadores (LTIC) 2014/15. Parte 1 (8 valores) Exame Final (1ª Época) 24 de junho de Nome:

Redes de Computadores (LTIC) 2014/15. Parte 1 (8 valores) Exame Final (1ª Época) 24 de junho de Nome: Redes de Computadores (LTIC) 2014/15 Exame Final (1ª Época) 24 de junho de 2015 ATENÇÃO: A duração da prova é de 2,5 horas (150 minutos). Só poderá haver desistências após 60 minutos. Todas as respostas

Leia mais

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória. Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks

Leia mais

Cap. 1 Arquitectura de Sistemas de Bases de Dados

Cap. 1 Arquitectura de Sistemas de Bases de Dados Cap. 1 Arquitectura de Sistemas de Bases de Dados Abel J.P. Gomes Bibliografia usada: T. Connoly e C. Begg. Database Systems: a pratical approach to design,implementation, and management. Addison-Wesley,

Leia mais

Oracle oferece ferramentas para consultas ocasional, geração de relátorios e analise de dados, incluindo o OLAP. O Oracle Application Server

Oracle oferece ferramentas para consultas ocasional, geração de relátorios e analise de dados, incluindo o OLAP. O Oracle Application Server Oracle oferece ferramentas para consultas ocasional, geração de relátorios e analise de dados, incluindo o OLAP. O Oracle Application Server Discoverver é uma ferramenta de aplicação web para consultas

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 2º Semestre 2005/2006 Programação de Sistemas 13/7/2006 Seja objectivo, utilizando respostas curtas e directas, e justifique

Leia mais

Replicação. Modelos de Consistência.

Replicação. Modelos de Consistência. Replicação. Modelos de Consistência. December 1, 2009 Sumário Introdução Questões Centrais da Replicação Modelos de Consistência Replicação O que é? O uso de múltiplas cópias de dados ou serviços (e estado

Leia mais

Vantagens da Folha de Cálculo. UFCD 3776 Informática folha de cálculo e base de dados. Formadora: Sónia Rodrigues.

Vantagens da Folha de Cálculo. UFCD 3776 Informática folha de cálculo e base de dados. Formadora: Sónia Rodrigues. UFCD 776 Informática folha de cálculo e base de dados Objectivos da UFCD: Utilizar aplicações informáticas de folha de cálculo e de base de dados. UFCD 776 Informática folha de cálculo e base de dados

Leia mais

Sistemas de Ficheiros

Sistemas de Ficheiros Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Ficheiro Ficheiros Unidade lógica de armazenamento Espaço de endereçamento lógico contíguo

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Modelo Relacional. Josino Rodrigues

Modelo Relacional. Josino Rodrigues Modelo Relacional Josino Rodrigues Modelo Relacional Chave Primária Atributos PILOTO Num-cad Nome CPF Endereço 0101 João 123456 Recife Tuplas 0035 José 234567 São Paulo... 0987 Pedro 567890 Recife 2 Chave

Leia mais

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. NoSQL Apache Cassandra para DBAs Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. Apresentação Pessoal Ronaldo Martins: Há mais de 14 anos dedicado à tecnologias Oracle, passando pelas

Leia mais