Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEugénio de Almeida Minho Alterado mais de 8 anos atrás
1
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado
2
Referências Bibliográficas Sistemas de Banco de Dados Elmasri, Navathe Implementação de Sistemas de Bancos de Dados, Garcia-Molina Introdução a Sistemas de Bancos de Dados, C.J. Date, Ed. Campus. Sistema de Banco de Dados, A Silberschatz, H.F. Korth, Ed. Makron Books
3
Arquitetura de um SGBD Referência Catálogo do Sistema Compilador Otimizador Comandos da Aplicação /usuário/ DBA Respostas Gerente de Transações Gerente de bloqueios Gerente de logs Gerente de acesso a dados Gerente de buffers LOGBD
4
Instância e Banco de Dados Oracle
5
Estruturas de Armazenamento Banco de Dados Oracle
6
Unidades Lógicas Blocos de Disco Blocos de disco: Também chamados de páginas de disco Representam a unidade básica de I/O Local onde os registros de dados, índices, blobs ficam armazenados. Configurável via o SGBD Tamanho ideal ? (OLTP, OLAP) A maioria dos SGBDs não permite compartilhamento de blocos de disco Permitem compartilhamento das extensões (extents)
7
Unidades Lógicas Tipos de Dados Tipos de Dados Inteiro (2 e 4 bytes) Float (4 e 8 bytes) Char(n) - Varchar(n) (Qual a diferença ?) Date String de caracter de tamanho fixo ( 10 caracteres) – AAAA- MM-DD Time String de caracter de tamanho fixo ( 8 caracteres) – HH:MM:SS Bit(n) Blobs (Binary large Objects)
8
Unidades Lógicas Extensões Extensões (Extents): Quantidade de blocos contíguos Configurável (Depende do SGBD) Extensão inicial, Extensão incremental Número máximo de extensões e espaço Geralmente os SBGDs separam extensões distintas para tipos de dados distintos Dados (Data Page) Índices (Índex Page) Blobs (Blobs Page) Auxilia na desfragmentação dos blocos melhorando assim a performance
9
Unidades Lógicas Extensões e Páginas (Blocos) 4k 64 k Extensões Blocos de disco
10
Unidades Lógicas Segmentos Segmentos (Segments): Divisões de uma tablespace Há diferentes tipos de segmentos: Segmento de dados (Data segment): Cada tabela possui um único segmento de dados para manter todos os seus dados Segmento de índice (Index segments): Cada índice em um banco de dados Oracle possui um único segmento de índice. Segmentos temporários (Temporary segments): Área de trabalho temporária (TEMP) Segmentos de Rollback: Utilizados para desfazer transações
11
Tablespaces: Divisão do banco de dados em uma ou mais unidades lógicas de armazenamento Permite a distribuição dos objetos (Tabelas, índices, etc) do esquema em dispositivos distintos Diminui a concorrência de acesso aos dados Cada tablespace relaciona-se com um ou mais arquivos de dados físicos (datafiles ) Relação tablespace e schema é de MxN Algumas tablespaces são criadas automaticamente Users e System Evitar criar objetos do esquema na tablespace SYSTEM para evitar concorrência com o catálogo (dicionário de dados) do Oracle. Unidades Lógicas Tablespaces
12
CREATE TABLESPACE tablespace DATAFILE datafile_clause] [, datafile_clause] {extent_management_clause} [ MINIMUM EXTENT integer[K|M]] [ LOGGING | NOLOGGING] [ DEFAULT STORAGE storage_clause ] [ ONLINE | OFFLINE] [ PERMANENT | TEMPORARY]
13
Arquivos de Dados (Data Files) Objetos dos bancos de dados Arquivos de Redo Log Recupera o bd após falha física ou de sistema Arquivos de controle Configurações do banco de dados Nome, data da criação, Nome das tablespaces, localização dos arquivos de log, etc. Informações de checkpoint Unidades Físicas Arquivos
14
Estruturas de Armazenamento Manipulação de Registros Problemas com manipulação de registros Gargalo de um SGBD é o acesso ao disco Ordenação física dos registros (cluster) Inserção: Deslizamento entre blocos ou Blocos de estouro Deleção: Deslizamentos de blocos Atualização: Mesmos problemas dos anteriores Solução: Manutenção de espaço livre nos blocos de disco. Evita “page splits” SQL Server: FillFactor Oracle: PCTFree, PCTUsed
15
Estruturas de Armazenamento Preenchimento de blocos (Oracle) CABEÇALHO ESPAÇO LIVRE DADOS PCTFREE PCTUSED
16
Arquitetura Oracle Tabela CREATE TABLE [schema.]tabela (column datatype [, column datatype]... ) [ TABLESPACE tablespace] [ PCTUSED integer] [ PCTFREE integer] [ INITRANS integer] [ MAXTRANS integer] [ STORAGE storage_clause] [ LOGGING | NOLOGGING] [CACHE | NOCACHE ]
17
Estruturas de Armazenamento Exemplo do Metadados PCT_ Free Initial_ Extent Num_ Rows BlocksEmpty_ Blocks Avg_Row Length 01024010.000 ? ?58 User_Tables (Aluno) Supondo o bloco de disco configurado para 8k, quantos blocos de disco a tabela aluno ocuparia ? Cada bloco de disco possui 90 bytes de controle
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.