banco de dados ii prof. antônio cordeiro. arquitetura de um sgbd bancos de dados ii - prof....

27
Banco de Dados II Prof. Antônio Cordeiro

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Banco de Dados II

Prof. Antônio Cordeiro

Page 2: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 2

Page 3: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Sistema Gerenciador de Banco de Dados (SGBD): software para criar, manter e consultar um BD.

• SGBDs Relacionais: implementam esquemas de BD segundo o modelo relacional (esquemas relacionais)

Conceitos e Terminologia

Bancos de Dados II - Prof. Antônio Cordeiro Slide 3

Page 4: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

O Modelo Relacional

Bancos de Dados II - Prof. Antônio Cordeiro Slide 4

• Modelo Relacional– Tabelas– Operações sobre Tabelas– Transformação de esquemas OO em

esquemas relacionais

Conceitos e Terminologia

Page 5: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• SGBDs Objeto-Relacionais

– Implementam esquemas de BD segundo o modelo objeto-relacional (esquemas objeto-relacionais)

Conceitos e Terminologia

Bancos de Dados II - Prof. Antônio Cordeiro Slide 5

Page 6: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Modelo Objeto-Relacional

– Object Tables– Operações sobre Object Tables– Transformação de esquemas OO em

esquemas objeto-relacionais

• Esquemas OO são mais próximos do mundo real que os esquemas relacionais

Conceitos e Terminologia

Bancos de Dados II - Prof. Antônio Cordeiro Slide 6

Page 7: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Esquemas OO são também chamados de Esquemas Conceituais

• Esquemas Relacionais e Objeto-Relacionais são também chamados de Esquemas Lógicos

Conceitos e Terminologia

Bancos de Dados II - Prof. Antônio Cordeiro Slide 7

Page 8: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Esquema Físico– Descreve a implementação, pelo SGBD, de

um esquema lógico

• Projeto de BD– Criação de um Esquema OO– Transformação do Esquema OO em um

Esquema Lógico– Criação do Esquema Físico

Conceitos e Terminologia

Bancos de Dados II - Prof. Antônio Cordeiro Slide 8

Page 9: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Independência Lógica de Dados– Alteração de um esquema lógico não implica

necessariamente em alteração dos programas que acessam o BD.

• Independência Física de Dados – Alteração de um esquema físico não implica

em alteração dos programas que acessam o BD.

Benefícios do Uso de SGBDs

Bancos de Dados II - Prof. Antônio Cordeiro Slide 9

Page 10: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Suporte transacional - ACID;• Atomicidade: a transação é processada ou cancelada

como um todo. Tolerância a falhas

• Consistência: gravação correta do dado independente da situação.

• Isolamento: independência de contexto;

• Durabilidade:consistência de informações após o processamento da transação.

Benefícios do Uso de SGBDs

Bancos de Dados II - Prof. Antônio Cordeiro Slide 10

Page 11: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Modificações no Esquema

Consultas Atualizações

Processadorde Consultas

Gerente de Memória

Dados&Metadados

Gerentede Transações

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 11

Page 12: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Gerente de Memória– Localiza os arquivos em disco, através do

Gerente de Arquivos, e transfere para os buffers os blocos de dados solicitados pelo Gerente de Buffers.

– O Gerente de Buffers escolhe páginas da memória principal onde armazenar os blocos.

– Se as páginas contêm outros blocos, os novos blocos substituem os antigos.

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 12

Page 13: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Gerente de Transações

– Garante a atomicidade e o isolamento dos programas que modificam esquemas, ou consultam, ou atualizam o banco de dados

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 13

Page 14: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Processador de Consultas– Clientes(Identidade, Nome, Endereço)– Contas(Número, Saldo, Identidade)

– Encontrar os saldos de todas as contas de Maria José

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 14

Page 15: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Processador de Consultas– Possíveis Planos de Realização da Consulta

• Examinar todos os registros de Clientes, procurando por Maria José. Para cada Maria José, encontrar todos os registros de Contas com a identidade de Maria José

• Se houver um índice p/ nome de cliente, localizar, via o índice, os registros de Maria José. O restante é como o plano anterior

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 15

Page 16: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Processador de Consultas– Decide qual dos possíveis planos de

execução da Consulta é melhor• Exemplo : Um plano que explora a existência de

dois índices: para nome de cliente, e para identidade de proprietário de conta

O Processador de consultas escolherá o melhor plano de execução

Arquitetura de um SGBD

Bancos de Dados II - Prof. Antônio Cordeiro Slide 16

Page 17: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Processador de Consultas– As consultas (querys) são especificadas em linguagens de alto

nível.– O SGBD precisa converter estes comandos em algoritmos

capazes de recuperar as informações desejadas.– Fases do processo.

Processamento de Consultas

Bancos de Dados II - Prof. Antônio Cordeiro Slide 17

Exame, analise e validação

OtimizaçãoGeração do

PlanoExecução

Page 18: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

• Esquema de Processamento

Bancos de Dados II - Prof. Antônio Cordeiro Slide 18

QueryParser and Translator

Relational Algebra expression

Otimizer

Execution plan

Statistics Abaout data

Evolution EngineQuery Out Put

Data

Processamento de Consultas

Page 19: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Fase de Exame, Análise e Validação

Realiza a validação sintática e semântica do comando

Efetua a validação dos nomes de colunas e tabelas acessadas

Traduz a consulta em uma representação interna (árvore de consulta) geralmente definida por meio de uma expressão da álgebra relacional.

A estrutura a ser otimizada é a árvore de consulta

Bancos de Dados II - Prof. Antônio Cordeiro Slide 19

Processamento de Consultas

Page 20: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Os blocos de consulta (select básico) são as unidade básicas de tradução

Cada bloco é traduzido para depois ser otimizado

Select cod_cli, nom_cli

from clientes σ sls-medio > par (Clientes)

where sdl-medio = (

select avg(sld-medio)

from clientes Par <- AVG sld-medio (

where uf = ‘BA’ ) σ UF=‘BA’ (Clientes))

Bancos de Dados II - Prof. Antônio Cordeiro Slide 20

Otimização de Consulta

Page 21: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Consiste basicamente na escolha do melhor algoritmo possível para executar uma dada consulta

Deve ser definida a melhor estratégia de execução possível para recuperar o resultado da consulta a partir das estruturas de dados disponíveis.

Resumidamente, é do otimizador a tarefa de definir o plano de execução da consulta.

Bancos de Dados II - Prof. Antônio Cordeiro Slide 21

Otimização de Consulta

Page 22: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Basicamente tem a função de gerar o código que será executado na recuperação da consulta.

Diante do plano definido pelo Otimizador, o código da consulta deve ser gerado com base em algoritmos previamente definidos para cada tipo de acesso presente no plano de execução

GERAÇÃO DE CÓDIGO DA CONSULTA

Bancos de Dados II - Prof. Antônio Cordeiro Slide 22

Page 23: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

O Modelo Relacional

Bancos de Dados II - Prof. Antônio Cordeiro Slide 23

É uma tarefa realizada pelo processador run-time do Banco de Dados.

O Processador executa o código definido pelo gerador, acessando dados em disco e gerenciando a memória necessária.

É nesta fase que a consulta é realmente processada

Execução

Page 24: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Para uma mesma consulta, pode existir mais que um plano de execução possível.

A tarefa do otimizador é escolher aquela que recupere os dados a um menor custo.

Cada operador pode ser executado, e por conseguinte, avaliado utilizando vários algoritmos com custos de consultas diferentes.

A diferença entre os custos de execução de dois planos pode ser significativa

Otimização de Consulta

Bancos de Dados II - Prof. Antônio Cordeiro Slide 24

Page 25: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

A partir de regras que transformam uma expressão relacional em outra equivalente, gerar as várias expressões que sejam logicamente iguais.

Anotar as várias expressões resultantes com as alternativas de planos de acessos.

Escolher entre os várias planos gerados, aquele que represente o menos custo.

Passos da Otimização de Consultas

Bancos de Dados II - Prof. Antônio Cordeiro Slide 25

Page 26: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

É uma estrutura de dados em forma de árvore que corresponde a uma expressão da álgebra relacional.

Cada nó descendente representa uma entrada para os operadores relacionais posicionados nos nós internos.

O resultado de um operador em um nó mais interno serve de entrada para o operador no nó interno pai.

A execução ocorre sempre dos nós folha para a raiz.

Árvore de Consulta

Bancos de Dados II - Prof. Antônio Cordeiro Slide 26

Page 27: Banco de Dados II Prof. Antônio Cordeiro. Arquitetura de um SGBD Bancos de Dados II - Prof. Antônio CordeiroSlide 2

Exemplo de Árvore de Consulta

Bancos de Dados II - Prof. Antônio Cordeiro Slide 27

Л Nome_aluno

σ media > 8

| X |

| X | alunos

Históricos

σ Cod_disc =‘SIBDIIA’

Disciplinas