bases de dados aula 3 requisitos dos sgbd. fundamentais: segurança integridade controle da...

21
Bases de Dados Aula 3 Requisitos dos SGBD

Upload: internet

Post on 17-Apr-2015

111 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Bases de Dados

Aula 3

Requisitos dos SGBD

Page 2: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Requisitos dos SGBD

Fundamentais:

• Segurança

• Integridade

• Controle da Concorrência

• Recuperação/Tolerância a falhas

Page 3: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Requisitos dos SGBDSegurança

Objectivo:• Proteger os dados de acessos não autorizados,

garantindo que apenas os utilizadores autorizados acedem ao sistema de acordo com os privilégios definidos;

Segurança Física - no passado implicava o fastamento físico das pessoas não autorizadas; hoje com a dispersão dos meios informáticos este tipo de segurança é infrutífera

Page 4: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Segurança Lógica

• Definição de quem tem acesso, mas também a que é que se tem acesso, através do que se designa a definição do perfil do utilizador;

• Este perfil permite igualmente definir as views a que cada tipo de utilizador terá acesso;

• Muitas vezes é utilizada a encriptação dos dados, o que sobrecarrega o sistema, que tem de proceder a encriptação/desencriptação em cada acesso

Requisitos dos SGBDSegurança

Page 5: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Garantia de que todos os dados contidos na Base de Dados são válidos e não contradizem a realidade;

• A manutenção de integridade pressupõe proteger a Base de Dados de acessos menos válidos, impedindo os utilizadores menos autorizados de executar operações que ponham em risco a integridade (correcção) dos dados armazenados;

Requisitos dos SGBDIntegridade

Page 6: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• Durante a sua existência uma Base de Dados vai evoluindo ao longo de estados de integridade;

• Cada transacção (conceito posteriormente explicado) que envolva modificação do conteúdo da Base de Dados (inserção, alteração ou remoção de dados) e que seja finalizada com sucesso, faz passar a BD de um estado de integridade para outro estado de integridade;

Requisitos dos SGBDIntegridade

Page 7: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Tempo

Sucessivos estados da evolução de uma Base de Dados

Page 8: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• Para que a integridade não seja afectada, as actualizações estão dependentes de um conjunto de regras, designadas por restrições de integridades (rules), que definem o que é ou não válido;– Ex. de restrições

• Um aluno não pode estar matriculado em mais do que um curso;

• O preço de venda ao público tem de ser superior ao preço de custo;

Requisitos dos SGBDIntegridade

Page 9: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

As restrições de integridade podem ser:

• Implícitas - próprias de cada modelo de Base de Dados;

• Explícitas - impostas pela realidade modelada pela Base de Dados; podem-se subdividir em:– Estáticas - estabelecem restrições de validade entre estados

(Ex: um aluno é aprovado com nota superior a 9 valores);– Dinâmicas - definem as transições de estado permitidas (Ex:

o salário de um funcionário não pode decrescer);

Requisitos dos SGBDIntegridade

Page 10: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Sendo um dos pressupostos fundamentais dos Sistemas de Bases de Dados a partilha dos dados pelo nível aplicacional, nomeadamente em sistemas multi-utilizador, é importante garantir que cada aplicação ou utilizador, utilize o sistema como se fosse o único, evitando a ocorrência de conflitos entre transacções simultâneas.

Nestes sistemas existem 2 formas de execução de transacções :

Requisito dos SGBDControlo da Concorrência

Page 11: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• Execução em série - as transacções são executadas sequencialmente, só se iniciando uma quando a anterior tiver finalizado. Não existe concorrência, mas o desempenho do sistema é baixo;

• Execução concorrente - as várias transacções são executas concorrentemente, sendo no entanto necessário garantir que p resultado é o mesmo que se obteria se as mesmas tivessem sido executadas sequencialmente. Assim é possível obter ganhos em termos dos tempos de execução

Requisito dos SGBDControlo da Concorrência

Page 12: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• A execução concorrente de transacções sem qualquer coordenação pode originar resultados incorrectos:– lost update– dirty read

• A coordenação da concorrência pode ser efectudada por:

Requisito dos SGBDControlo da Concorrência

Page 13: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• Escalonamento (schedule) - sequência por que são executadas as operações de leitura/escrita de um conjunto de transacções concorrentes;

• Para um conjunto de transacções existem vários escalonamentos possíveis, conduzindo uns a base a estados de integridade, mas podendo outros originar resultados incorrectos;

• Para testar um escalonamento utilizam-se grafos de precedências, que são representações gráficas das dependências entre transacções,

Requisito dos SGBDControlo da Concorrência

Page 14: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Requisito dos SGBDControlo da Concorrência

Ti

Nodo

Arco Orientado

Ti

Tj(E,n)

O elemento E da Base de Dados foi acedidopela transacção Ti e posteriormente pela transacção Tj. Se uma das transacções criar uma nova versãodo elemento E há uma dependência I/O entre as duas transacções

Page 15: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

• Os escalonamentos que podem originar problemas (lost update, dirty read, etc.), são representados por grafos de dependências com ciclos, o que mostra que esses escalonamentos não são seriados.

Requisito dos SGBDControlo da Concorrência

Ti Ti

Page 16: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

•Locking

•Etiquetagem

•Optimistas

Os 2 primeiros são métodos preventivos, que visam permitir a execução concorrente das transacções até onde for possível, evitando que estas interfiram entre si.

Requisito dos SGBDMétodos de Controlo da Concorrência

Page 17: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Os métodos optimistas baseiam-se na ideia de que as interferências entre transacções são raras, pelo que não se justificará sobrecarregar o sistema com tarefas de gestão e sincronização das transacções;Nestes métodos as operações são realizadas sobre cópias dos dados e não sobre estes. As transacções processam-se livremente e a cada transacção associam-se 2 conjuntos (read-set e write-set) correspondentes a todas as actualizações efectuadas nos dados. No final existe um processo de certificação, que compara os read-set e os write-set das transacções concorrentes. Cajo não haja interferência as transacções podem finalizar e os dados são actualizados. Se houver interferência é efectuado um rollback e o processo reinicializa-se.

Requisito dos SGBDMétodos de Controlo da Concorrência

Page 18: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Os métodos optimistas só são viáveis em sistemas em que as interferências entre transacções são, de facto, raras. Caso contrário o sistema acabará por ser sobre arregado com o constante desfazer e reiniciar das transacções;

Nos métodos de etiquetagem há controlo da concorrência ao longo do decurso de cada transacção. Quando uma transacção se inicia recebe uma etiqueta com o número de ordem de chegada ao sistema e, durante a sua execução, marca cada elemento de dados a que acede, para leitura ou escrita, com a sua etiqueta.

Requisito dos SGBDMétodos de Controlo da Concorrência

Page 19: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

Os problemas só poderão surgir quando uma transacção tenta aceder a um elemento que já foi acedido por uma transacção que se iniciou mais tarde, ou seja, com uma etiqueta de valor superior. Neste caso esta última é desfeita e iniciada novamente.

Este método permite uma maior precisão do controlo de concorrência através de refinamentos, como a utilização de etiquetas de leitura e etiquetas de escrita.

Requisito dos SGBDMétodos de Controlo da Concorrência

Page 20: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

De todos os métodos de controlo de concorrência os mais usados são os que usam mecanismos de locking. Os mais elementares usam locking binário e em cada momento, o lock de cada elemento da BD poderá assumir os valores 0( unlocked) ou 1(locked).Se o valor de lock de um elemento for 1 (locked) isso significa que não pode ser acedido e qualquer transacção que o deseje aceder terá de esperar que o lock passe a 0;Embora seja um tipo de acesso seguro, têm a desvantagem de só permitir acessos exclusivos, permitindo assim um baixo nível de concorrência. Os refinamentos existem através da utilização de locked para escrita (wlock) ou de leitura (rlock), além do unlock.

Requisito dos SGBDMétodos de Controlo da Concorrência

Page 21: Bases de Dados Aula 3 Requisitos dos SGBD. Fundamentais: Segurança Integridade Controle da Concorrência Recuperação/Tolerância a falhas

A utilização de mecanismos de locking pode trazer, também, alguns problemas. É o caso do deadlock, em que os locks de duas transacções as bloqueiam mutuamente, impedindoas de progredir. Para evitar este tipo de problemas são definidas regras que definem claramente qm que condições uma transacção pode manter os seus locks.

Requisito dos SGBDMétodos de Controlo da Concorrência