SGBD e Arquitetura de um SGBD - Rede DCC

Propaganda
MATA60 – BANCO DE DADOS
Aula 2- Sistema Gerenciador de Banco de Dados
Prof. Daniela Barreiro Claro
Agenda


SGBD

Visão Geral

Componentes

Vantagens
Arquitetura de um SGBD
FORMAS - UFBA
2 de X
SGBD



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.
FORMAS - UFBA
3 de X
SGBD
FORMAS - UFBA
4 de X
SGBD
FORMAS - UFBA
Fonte: Notas de aulas do Prof. Clodis Bocarioli
5 de X
SGBD – Processador de Consultas

Compilador DML


Pré-compilador para comandos DML inseridos em programas de aplicação:


Convertem comandos DML em chamadas de procedimentos normais da linguagem hospedeira.
Interpretador DDL


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.
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.
6 de X
SGBD – Gerenciador de Memória




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.
FORMAS - UFBA
7 de X
SGBD – Gerenciador de Memória

Gerenciamento de autorizações e integridade


Gerenciamento de Transações


Cuida da execução das transações.
Administração de buffer


Testam o cumprimento das regras de integridade e a permissão ao usuário no acesso ao dado.
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.
FORMAS - UFBA
8 de X
SGBD – Armazenamento em Disco

Arquivo de dados


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:


armazena os dados (o banco de dados propriamente dito).
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
9 de X
execução de consultas.
SGBD – Usuários


Diferentes usuários podem acessar a mesma parte de dados no
mesmo momento (acesso concorrente).
Pessoas que trabalham com SGBDs

Desenvolvedores do SGBD


Projetista do Banco de Dados


Constrõem o software do SGBD
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.
10 de X
SGBD – Usuários

Analistas de Sistemas e Programadores de Aplicações




Administrador de Banco de Dados (DBA- Database Administrator)


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.
Autorização de acesso, coordenação e monitoração, segurança e tempo de
resposta do sistema, sintonização.
Cientista de Dados
FORMAS - UFBA
11 de X
SGBD – Principais Vantagens

Independência dos Dados



Os dados podem ser compartilhados


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.
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.
12 de X
SGBD – Principais Vantagens

A inconsistência pode ser evitada


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


Há restrições de integridade que garantem que dados são inseridos sem prejudicar a
integridade dos dados cadastrados.
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.
13 de X
SGBD – Um “bom”SGBD

Um “bom” SGBD deve ter as seguintes características:

Definição de dados


Manipulador de Dados


Aceitar definições de dados (esquemas externos, conceitual, interno)
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.
14 de X
SGBD – Um “bom”SGBD

Segurança e integridade


Recuperação de Dados e Concorrência


O SGBD deve rejeitar toda tentativa de violar as restrições de segurança
e integridade definidas pelo DBA
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
FORMAS - UFBA
15 de X
Evolução dos SGBDs

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
FORMAS - UFBA
16 de X
Evolução dos SGBDs

SEGUNDA GERAÇÃO – década de 70



TERCEIRA GERAÇÃO – década de 80 (in vitro)


Modelo relacional, comercializado a partir de 1980 (SQL)
Oracle, SQL Server, DB2, Informix, INGRES
OO e OR
QUARTA GERAÇÃO

NoSQL, NewSQL, DW
FORMAS - UFBA
17 de X
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
20 de X
Q
Arquitetura Funcional

Nível externo


É o conteúdo do BD visto por um usuário
Exemplo
Prisão
Cartório
Procurador
MP
Penal
Movimentação
Processo
Desembargador
Juiz
Banco de Dados do Judiciário
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


Mapeamento Externo/Conceitual


Especifica como a estrutura conceitual é armazenada fisicamente
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
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
27
SGBDs Comerciais
FORMAS - UFBA
28 de X
SGBDs Comerciais
FORMAS - UFBA
29 de X
SGBDs Comerciais
DB2:
FORMAS - UFBA
30 de X
Arquitetura dos SGBDs Comerciais

PostgreSQL
 Arquitetura
 Trabalha
 Ha
com a memória compartilhada
um processo coordenador postmaster
 Funciona
O
segue o modelo Processo por transação
como o monitor de processos
backend segue a arquitetura de referência
 Análise,
otimização e execução
31
Arquitetura dos SGBDs Comerciais

IBM DB2

Aplicações clientes remotas utilizam um agente para se conectar ao
BD


Cada BD possui um conjunto de processos que realizam as tarefas


É uma thread chamada Db2agent
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
32
Arquitetura dos SGBDs Comerciais

Oracle


Pode trabalhar ainda como Servidor Dedicado ou Compartilhado
Servidor Dedicado

processo servidor


processo de segundo plano


executa SQL
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.
33
www.dcc.ufba.br/~dclaro
Disciplina: MATA60 (2016.1)
Semantic Formalisms and Applications Research Group
Facebook: /formasresearchgroup
Twitter: /formasresearchgroup
FORMAS - UFBA
Download