34
MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

MATA60 – BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados

Prof. Daniela Barreiro Claro

Page 2: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBD

Visão Geral

Componentes

Vantagens

Arquitetura de um SGBD

Agenda

2 de X FORMAS - UFBA

Page 3: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Um Sistema Gerenciador de Banco de Dados (SGBD) é uma

coleção de programas que habilitam usuários a criar e manter um

banco de dados.

O SGBD é um software de propósito geral, que facilita o processo

de definição, construção e manipulação de um banco de dados.

O grande objetivo de um SGBD é oferecer uma visão “abstrata”

dos dados, com disponibilidade eficiente, aos usuários.

SGBD

3 de X FORMAS - UFBA

Page 4: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBD

4 de X FORMAS - UFBA

Page 5: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBD

5 de X FORMAS - UFBA Fonte: Notas de aulas do Prof. Clodis Bocarioli

Page 6: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Compilador DML

Traduz comandos DML em instruções de baixo nível, entendidos pelo componente de execução

de consultas. Além disso, otimiza a solicitação do usuário.

Pré-compilador para comandos DML inseridos em programas de aplicação:

Convertem comandos DML em chamadas de procedimentos normais da linguagem hospedeira.

Interpretador DDL

Interpreta os comandos DDL e os registra no dicionário de dados.

Componentes de execução das consultas

Executa instruções de baixo nível gerada pelo compilador DML.

SGBD – Processador de Consultas

6 de X

Page 7: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Um dos principais objetivos de um Sistema de Banco de Dados é simplificar e

otimizar o acesso aos dados.

O desempenho de um SGBD depende diretamente da eficiência das estruturas

usadas na representação dos dados e do quanto este sistema está apto a

operar essas estruturas de dados

Um dos principais módulos de um SGBD é o gerenciador de memória,

responsável por fazer a interface entre o armazenamento de dados em um nível

mais baixo e as consultas e programas de aplicação submetidos ao sistema.

Ele também realiza a interface do SGBD com o Sistema de Arquivos do Sistema

Operacional.

SGBD – Gerenciador de Memória

7 de X FORMAS - UFBA

Page 8: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Gerenciamento de autorizações e integridade

Testam o cumprimento das regras de integridade e a permissão ao usuário no acesso ao dado.

Gerenciamento de Transações

Cuida da execução das transações.

Administração de buffer

Responsável pela intermediação de dados do disco para a memória principal e pela decisão de

quais dados colocar em memória auxiliar.

Administração de arquivos:

Gerencia a alocação de espaço no armazenamento em disco e as estruturas de dados usadas

para representar estas informações armazenadas em disco.

SGBD – Gerenciador de Memória

8 de X FORMAS - UFBA

Page 9: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquivo de dados

armazena os dados (o banco de dados propriamente dito).

Dicionário de dados

Metadados - definições e descrições sobre a estrutura que forma o BD (metadados); Definições

da estrutura de cada arquivo, o tipo e formato de armazenamento de cada item de dados, e

várias restrições dos dados;

Índices:

estrutura que otimizam o acesso aos itens de dados.

Estatística de dados:

armazena informações estatísticas relativas aos dados contidos no banco de dados. Essas

informações são usadas pelo processador de consultas para seleção de meios eficientes para

execução de consultas.

SGBD – Armazenamento em Disco

9 de X

Page 10: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Diferentes usuários podem acessar a mesma parte de dados no

mesmo momento (acesso concorrente).

Pessoas que trabalham com SGBDs

Desenvolvedores do SGBD

Constrõem o software do SGBD

Projetista do Banco de Dados

Determinam a estrutura e identificam os dados que serão armazenados

Usuário Final

Pessoas cujas profissões requerem um acesso a um banco de dados para consultas,

atualizações e relatórios.

SGBD – Usuários

10 de X

Page 11: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Analistas de Sistemas e Programadores de Aplicações

Desenvolvem pacotes que facilitam o acesso aos dados pelos usuários finais

Os analistas determinam as solicitações dos usuários finais, além de desenvolver as

especificações.

Os programadores implementam essas especificações como programas.

Administrador de Banco de Dados (DBA- Database Administrator)

Autorização de acesso, coordenação e monitoração, segurança e tempo de

resposta do sistema, sintonização.

Cientista de Dados

SGBD – Usuários

11 de X FORMAS - UFBA

Page 12: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Independência dos Dados

O SGBD provê uma visão abstrata dos dados.

Disponibilização de um conjunto de interfaces de alto nível, o que facilita o

desenvolvimento de aplicativos.

Os dados podem ser compartilhados

Acesso concorrente aos dados simulando um único usuário.

A redundância pode ser reduzida

Integração de dados pode reduzir ou até eliminar a redundância.

SGBD – Principais Vantagens

12 de X

Page 13: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

A inconsistência pode ser evitada

Há restrições de integridade que garantem que dados são inseridos sem prejudicar a

integridade dos dados cadastrados.

Suporte a transação

Transação é uma unidade lógica de trabalho, envolvendo diversas operações (várias

operações de atualização).

Integridade pode ser mantida

Assegurar que todos os dados no BD estão corretos.

Segurança pode ser reforçada

Pode forçar os controles de acesso que governam quais dados estão visíveis a diferentes

classes de usuários.

SGBD – Principais Vantagens

13 de X

Page 14: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Um “bom” SGBD deve ter as seguintes características:

Definição de dados

Aceitar definições de dados (esquemas externos, conceitual, interno)

Manipulador de Dados

Lidar com requisições dos usuários para buscar, atualizar, incluir e excluir

dados

Otimização e execução

As requisições devem ser processadas por um otimizador, cuja finalidade é

determinar o modo eficiente de implementar a requisição.

SGBD – Um “bom”SGBD

14 de X

Page 15: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Segurança e integridade

O SGBD deve rejeitar toda tentativa de violar as restrições de segurança

e integridade definidas pelo DBA

Recuperação de Dados e Concorrência

Deve impor controles de recuperação e concorrência através do

gerenciador de transações

Dicionário de Dados

Deve conter um catálogo com informações sobre os dados

Também conhecido como metadados

SGBD – Um “bom”SGBD

15 de X FORMAS - UFBA

Page 16: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Os precursores do SGBD – década de 60

Arquivos ligados por ponteiros

Exemplos: IDS.I (Honeywell) e IMS.I (IBM)

PRIMEIRA GERAÇÃO – fim da década de 60

Separaram a descrição dos dados da manipulação pelos programas

Baseado nos modelos de rede e hierárquico

Exemplos: SGBD TOTAL, IDMS, IDS 2 e IMS 2

Evolução dos SGBDs

16 de X FORMAS - UFBA

Page 17: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SEGUNDA GERAÇÃO – década de 70

Modelo relacional, comercializado a partir de 1980 (SQL)

Oracle, SQL Server, DB2, Informix, INGRES

TERCEIRA GERAÇÃO – década de 80 (in vitro)

OO e OR

QUARTA GERAÇÃO

NoSQL, NewSQL, DW

Evolução dos SGBDs

17 de X FORMAS - UFBA

Page 18: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura de SGBD

Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP

Objetivos do Study Group

Determinar quais áreas da tecnologias de BD eram adequadas para PADRONIZAÇÃO

Study Group

Relatório: Somente as interfaces eram adequadas

18 de X

Page 19: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura de Banco de dados

Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquiteturas podem ser classificadas quanto a

funcionalidade e quanto a operacionalidade

Funcional

ANSI/X3/SPARC

Referência

Operacional

Centralizada, Cliente/Servidor, 3 camadas e n-camadas

19 de X

Page 20: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional

ANSI/X3/SPARC

Se divide em 3 níveis

EXTERNO, CONCEITUAL e INTERNO

Nível Externo

Nível do usuário individual

O programador lida com linguagens de programação

Que tem DSL (Data Sublanguage) como por exemplo SQL

SQL pode ser usada como

linguagem de consulta autônoma

Incorporada em outras linguagens como Java Q 20 de X

Page 21: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional

Nível externo

É o conteúdo do BD visto por um usuário

Exemplo

Banco de Dados do Judiciário

Procurador Processo

Movimentação

Desembargador Juiz

Cartório Prisão

MP Penal

21 de X

Page 22: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional

Nível Conceitual

Visão do BD como os dados são realmente

A visão conceitual permite definir o esquema conceitual

Tipos de dados elementares dos objetos

As entidades

Os relacionamentos

Eventualmente as regras que acompanham os dados, ou seja, restrições

de domínio e cardinalidades.

22 de X

Page 23: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional

Nivel Interno

Também conhecido como nível físico

É o mais próximo do meio de armazenamento físico

A definição do esquema interno necessita da prévia definição do BD

O esquema interno define como os registros são armazenados e também os índices

Mantém informações como:

Registros (tamanho, campos que o compõe, etc)

Caminhos de acesso ao registro (índice, etc)

23 de X

Page 24: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Mapeamento entre os níveis

Dois principais mapeamentos

Mapeamento Conceitual/Interno

Especifica como a estrutura conceitual é armazenada fisicamente

Mapeamento Externo/Conceitual

Define a correspondência entre a visão externa específica e a

conceitual

Exemplo: Vários campos conceituais podem ser

combinados em um único campo externo

24 de X

Page 25: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional de Referência

Arquitetura ANSI/X3/SPARC

Compreender e distinguir os níveis de descrição e manipulação de

dados

Poucos SGBDs seguem/utilizam esta arquitetura atualmente

Proposta: Arquitetura de referência

Mais próxima dos SGBD atuais

Baseada em dois níveis

Esquema – integra nível interno+nível conceitual

Visão – nível externo

25 de X

Page 26: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Arquitetura Funcional de Referência

Analisador

Análise Sintática (conforme a gramática)

Análise Semântica (conforme o esquema ou a visão)

Controlador

Consulta é traduzida (modificada) em um formato interno

Normalmente Álgebra relacional

Otimizador

Elaborar o plano de acesso otimizado

26 de X

Page 27: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

27

Arquitetura Operacional

Analisando as arquiteturas sob uma perspectiva de mais

alto nível

Ponto de vista operacional

SGBD é um conjunto de processos e tarefas para satisfazer o

usuário

Operacionalmente, as arquiteturas de BD podem ser

divididas em:

Centralizadas, Cliente/Servidor, 3-camadas, n-camadas

Page 28: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBDs Comerciais

28 de X FORMAS - UFBA

Page 29: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBDs Comerciais

29 de X FORMAS - UFBA

Page 30: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

SGBDs Comerciais

30 de X FORMAS - UFBA

DB2:

Page 31: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

31

Arquitetura dos SGBDs Comerciais

PostgreSQL

Arquitetura segue o modelo Processo por transação

Trabalha com a memória compartilhada

Ha um processo coordenador postmaster

Funciona como o monitor de processos

O backend segue a arquitetura de referência

Análise, otimização e execução

Page 32: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

32

Arquitetura dos SGBDs Comerciais

IBM DB2

Aplicações clientes remotas utilizam um agente para se conectar ao BD

É uma thread chamada Db2agent

Cada BD possui um conjunto de processos que realizam as tarefas

Busca prévia, limpeza do pool de buffer, logging e detecção de impasses

Segue o Servidor de Transação, mas a memória compartilhada é particionada em memórias específicas

MC de Servidor, de BD, de aplicação

Page 33: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

33

Arquitetura dos SGBDs Comerciais

Oracle

Pode trabalhar ainda como Servidor Dedicado ou Compartilhado

Servidor Dedicado

processo servidor

executa SQL

processo de segundo plano

Tarefas administrativas e de desempenho

Servidor Compartilhado

Aumenta o número de usuários que processos servidores podem admitir

Processo é compartilhado com outras instruções.

Page 34: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 2 - SGBD e Arquitetura... · 2018. 3. 14. · Arquitetura de Banco de dados Este relatório deu origem a arquitetura ANSI/X3/SPARC

Facebook: /formasresearchgroup Twitter: /formasresearchgroup

Semantic Formalisms and Applications Research Group

FORMAS - UFBA

formas.ufba.br/dclaro

Disciplina: MATA60