Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
MATA60 – BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados
Prof. Daniela Barreiro Claro
SGBD
Visão Geral
Componentes
Vantagens
Arquitetura de um SGBD
Agenda
2 de X FORMAS - UFBA
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
SGBD
4 de X FORMAS - UFBA
SGBD
5 de X FORMAS - UFBA Fonte: Notas de aulas do Prof. Clodis Bocarioli
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SGBDs Comerciais
28 de X FORMAS - UFBA
SGBDs Comerciais
29 de X FORMAS - UFBA
SGBDs Comerciais
30 de X FORMAS - UFBA
DB2:
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
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
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.
Facebook: /formasresearchgroup Twitter: /formasresearchgroup
Semantic Formalisms and Applications Research Group
FORMAS - UFBA
formas.ufba.br/dclaro
Disciplina: MATA60