Você está na página 1de 61

Evaristo Wychoski Benfatti

Fernando Nunes Bonifcio

ARMAZENAMENTO EM DISCO, ESTRUTURAS


BASICAS DE ARQUIVOS E HASHING

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

INTRODUO
As colees de dados que compe um banco
de dados computadorizado precisam ser de
alguma forma armazenadas em alguma mdia
de armazenamento, para que assim os
softwares SGBDs possam recuperar, atualizar
e processar esses dados conforme necessrio.

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

ARMAZENAMENTO DE DADOS

Hierarquia de armazenamento
Armazenamento
cache,

memria principal

Armazenamento
disco

primrio
secundrio

rigido, CD, WORM, DVD, etc.

ARMAZENAMENTO DE DADOS

ARMAZENAMENTO DE DADOS
Novas tecnologias - DVDs e fitas jukebox provavelmente sero opes viveis para o
uso de discos magnticos
Discos magnticos continuaro a ser a mdia
de escolha primria para grandes bancos de
dados por vrios anos [Elmasri]

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

DISPOSITIVOS DE ARMAZENAMENTO

Memria RAM (Random Access Memory)


Memria

de acesso aleatrio
Velocidade de transferncia centenas de vezes
superior dos dispositivos de memria de
massa
Extremamente simples: um minsculo capacitor,
que quando est carregado eletricamente
Voltil
Mdulos de memria so dividido em linhas e
colunas.

DISPOSITIVOS DE ARMAZENAMENTO

DISPOSITIVOS DE ARMAZENAMENTO

Memria cache
Memrias

no eram mais capazes de


acompanhar a velocidade dos processadores
Tipo ultra-rpido de memria que serve para
armazenar os dados mais freqentemente
usados pelo processador
Extremamente caro (chega a ser algumas
centenas de vezes mais cara que a memria
RAM convencional)

DISPOSITIVOS DE ARMAZENAMENTO

Armazenamento em disco
So

utilizados para armazenamento de grande


quantidade de dados
No volteis.
Na unidade de disco esto presentes: cabeote
de leitura/escrita, brao mecnico, atuador e
controladora de disco
Diviso fsica e diviso lgica

DISPOSITIVOS DE ARMAZENAMENTO

DISPOSITIVOS DE ARMAZENAMENTO

Armazenamento em disco
Diviso

fisica (no tem como mudar)

Trilhas
Cilindros
Setores

Diviso

lgica (formatao)
Blocos
Blocos so a unidade de transferncia entre o
disco e a memria principal

DISPOSITIVOS DE ARMAZENAMENTO

DISPOSITIVOS DE ARMAZENAMENTO

Armazenamento em disco
Operao

de leitura/escrita move o cabeote do


disco para o bloco a ser transferido.
Movimentos de rotao posicionam no setor
apropriado.
Um endereo fsico de bloco de disco consiste
de:
nmero do cilindro
nmero da trilha
nmero do bloco

DISPOSITIVOS DE ARMAZENAMENTO

Armazenamento em disco
Desempenho

baseado na medida de trs

tempos:
Tempo de pesquisa
Tempo de atraso rotacional (latncia)
Tempo de transferncia de bloco
Tempo de pesquisa e atraso rotacional so
geralmente muitos maiores que o tempo de
transferncia do bloco

DISPOSITIVOS DE ARMAZENAMENTO

Armazenamento em fitas magnticas


Dispositivos

de armazenamento de acesso

seqencial
Os dados so armazenados em cartuchos de
fitas magnticas
Parecidas com as fitas de udio e vdeo comuns
Cada byte disposto de forma transversal na fita
Acesso lento
Utilizadas principalmente para backup

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

BUFFERING DE BLOCOS
Diversos buffers podem ser reservados na
memria principal para acelerar a transferncia
de dados
Enquanto um buffer estiver sendo lido ou escrito
a CPU pode processar os dados em outro.
til para processos executados
concorrentemente
Buffering duplo: permite que leituras e escritas
sejam realizadas de forma continua em blocos
consecutivos no disco, eliminando assim o
tempo de pesquisa e atraso rotacional

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

DISPOSIO DE REGISTROS DE ARQUIVOS EM


DISCO
Um arquivo uma sequencia de registros
Registro uma coleo de valores de dados
(itens de dados)
Dois tipos de registros: tamanho fixo e
tamanho varivel
Arquivos com mesmo tipo de registro e de
tamanhos fixo facilitam a procura para
SGBDs

DISPOSIO DE REGISTROS DE ARQUIVOS EM


DISCO
Um arquivo uma sequencia de registros
Registro uma coleo de valores de dados
(itens de dados)
Dois tipos de registros: tamanho fixo e tamanho
varivel
Arquivos com mesmo tipo de registro e de
tamanho fixo facilitam a procura para SGBDs
Arquivos com registros de campos de tamanho
varivel:

Caracteres de separao ou campos de


comprimento

DISPOSIO DE REGISTROS DE ARQUIVOS EM


DISCO
Registros so gravados em blocos
Fator de blocagem (bfr): nmero de registros
que podem ser armazenados em um bloco
(B/R).
Registros de arquivo podem ser spanned e
no-spanned (unspanned)

Spanned:

um registro pode ser armazenado


em mais de um bloco
No-spanned: registro no pode passar o
limite do bloco

DISPOSIO DE REGISTROS DE ARQUIVOS EM


DISCO
Registro spanned so indicados para
arquivos de registros de tamanhos varivel.
Registros no spanned so indicados para
arquivos de registros de tamanhos fixo.
Os blocos de disco que so alocados para
armazenar os registros de um arquivo
podem ser continuos, encadeados ou
indexados.
Um descritor de arquivo (cabealho de
arquivo) tem informes que descrevem o
arquivo, tais como: nomes dos campos e seu
tipos de dados, endereos dos blocos no

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

OPERAES EM ARQUIVOS

As operaes em um arquivo podem ser:


operaes

de recuperao
operaes de atualizao

Operaes mais comuns


Reset (Reinicializar): Reposiciona o ponteiro de
arquivo, de um arquivo aberto, no seu inicio.
Find ou Locate (Encontrar ou Localizar): Busca o
primeiro registro que satisfaa a condio de
pesquisa, transfere o bloco que tem a condio de
pesquisa para um buffer de memria principal e faz
o ponteiro de arquivo apontar para o registro no
buffer, tornando-o o registro atual.

OPERAES EM ARQUIVOS
Read ou Get (Ler ou Obter): Copia o registro atual
do buffer para uma varivel do programa de usurio.
FindNext (Encontrar o prximo): procura o prximo
registro no arquivo que satisfaa a condio de
pesquisa, transferindo o bloco que contm aquele
registro para o buffer da memria principal.
Delete (Excluir): Exclui o registro atual e no final
atualiza o arquivo de disco para refletir a excluso.
Modify (Modificar): Modifica alguns valores de
campos do registro atual e no final atualiza o arquivo
no disco para refletir a modificao.

OPERAES EM ARQUIVOS
Insert (Incluir): Acrescente um novo registro no
arquivo por meio da localizao do bloco no qual o
registro deve ser includo, transferindo aquele bloco
para o buffer da memria principal, escrevendo o
registro no buffer e no final escrevendo o buffer no
disco para refletir a modificao.
Close (Fechar): Finaliza o acesso ao arquivo por
meio da liberao dos buffers e da execuo de
quaisquer outras operaes de limpeza necessrias.

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap
Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

ARQUIVOS DE REGISTROS DESORDENADOS


(HEAP FILES)
Tambm chamados de arquivos de pilha
Novos registros so inseridos no final do
arquivo
Para procurar um registro necessrio uma
procura linear atravs dos registros
Insero de registros bem eficiente
Ler os registros em ordem de acordo com
um campo em particular exige a ordenao
prvia dos registros do arquivo.

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

ARQUIVOS ORDENADOS (SORTED FILES)


Tambm chamados de arquivo sequncial
Registros de arquivos so mantidos
ordenados por de acordo com um valor um
certo campo
Insero custosa
comum manter um arquivo de overflow
para agilizar as inseres
possivel fazer uma procura binria atravs
do valor do campo de ordenao

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

HASHING

A idia do hashing fornecer uma funo


h(x), chamada de funo hash que, aplicada
ao valor do campo de hash de um registro,
gere o endereo do bloco de disco no qual o
registro est armazenado.

HASHING INTERNO
Hashing interno normalmente implementada
atravs de uma tabela hash por meio de um
vetor de registros
Suponha que o ndice do vetor varie de 0 a M-1

Uma funo tpica para isto seria a funo:


h(K)

= K mod M

este valor ser ento usado como endereo do


registro

Funes hash no garantem endereos nicos


Ocorrncia de colises

HASHING INTERNO

Mtodos para tratar colises:


Open

Addressing (Endereo aberto)


Encadeamento (Chaining)
Hashing Mltiplo

HASHING EXTERNO

Chama-se hash externo quando se trata de


hashing para arquivos em disco
O espao de endereamento alvo constitudo de
buckets,
Buckets so grupos de blocos de disco
consecutivos.
A funo hash mapeia uma chave a um nmero de
bucket
Uma tabela, mantida no cabealho do arquivo,
converte o nmero do bucket para o endereo de
bloco de disco

HASHING EXTERNO

HASHING EXTERNO

HASHING

Os dois esquemas de hashing descritos


anteriormente so chamados de hashing esttico,
porque o nmero de buckets alocados fixo. Isto
representa um grande problema para arquivos
dinmicos.
Hashing para lidar com arquivos dinmicos tiram a
vantagem de que a aplicao de uma funo
hashing gera um nmero inteiro no negativo,
podendo ser representado como nmero binrio

HASHING EXTENSVEL

Mantm um vetor de 2d endereos de buckets,


onde d chamado de profundidade global, que
funciona como um tipo de diretrio
Uma profundidade local d', armazenada em cada
bucket, especifica o nmero de bits no qual os
contedos dos buckets so baseados
O valor d pode ser aumentado ou diminudo uma
unidade por vez, dobrando ou dividindo ao meio a
capacidade

HASHING EXTENSVEL

Uma insero em um bloco que esteja cheio causa


a diviso do bloco em dois novos blocos. Os
registros so redistribuidos ao longo destes dois
blocos.
Precisa de dois acessos a blocos para localizar o
registro desejado

HASHING LINEAR

Permite que um arquivo hash expanda ou diminua


seu nmero de buckets dinamicamente, sem
necessitar de um diretrio
Funcionamento:
Supomos que um arquivo comece com M
buckets numerados de 0 a M - 1 e use a funo
hash h(K) = K mod M
Quando uma coliso levar a um registro de
overflow em qualquer bucket do arquivo, o
primeiro bucket ser dividido em dois buckets

HASHING LINEAR
O

novo bucket M ser adicionado ao final do


arquivo.
Os registros originalmente posicionados no
bucket 0 sero distribudos entre os dois buckets
segundo uma funo hash diferente hi+1(K) = K
mod 2M
medida que ocorre overflow, todos os buckets
originais do arquivo sero divididos, assim o
arquivo passa a possuir 2M buckets ao invs de
M

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

OUTRAS ORGANIZAES PRIMRIAS


DE ARQUIVOS

Nem sempre arquivos so compostos apenas de


registros do mesmo tipo
Em arquivos mistos vrios tipos de entidade esto
inter-relacionadas
Esses relacionamentos podem ser representados
por campos de conexo
SGBSs orientados a objeto, SGBDs hierrquicos
ou mesmo SGBDs em rede implementam
relacionamentos entre registros por meio de
relacionamentos fsicos obtidos por meio de
adjacncia fsica dos registros (clustering) ou por
ponteiros fsicos.

OUTRAS ORGANIZAES PRIMRIAS


DE ARQUIVOS

Se o tamanho do registro quanto ao nmero de


registros em um arquivo for pequeno, alguns
SGBDs oferecem a opo de estrutura de dados
de rvore B como organizao primaria de
arquivos.

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

ACESSO PARALELO EM DISCO


USANDO RAID
Tecnologia de armazenamento secundrio deve
tomar medidas para manter o desempenho e a
confiabilidade de acordo com a tecnologia dos
processadores.
O maior avano na tecnologia de
armazenamento secundrio representado
pelo desenvolvimento do RAID
O principal objetivo do RAID acabar com a
grande diferena de performance dos discos
magnticos comparado s tecnologias da
memria e dos processadores.

ACESSO PARALELO EM DISCO


USANDO RAID
A soluo natural usar um grande vetor de
pequenos discos independentes atuando
como um nico disco lgico de maior
desempenho
Um conceito que usa o paralelismo para
melhorar o desempenho de dados
chamado de striping
O striping de dados distribui os dados de
maneira transparente por mltiplos discos
como se fosse um nico disco grande e

ACESSO PARALELO EM DISCO


USANDO RAID

Foram definidas diferentes organizaes de RAID


com base em diferentes combinaes de dois fatores
de granularidade de dados e padro utilizado para
calcular a informao redundante
RAID nvel 0 (Striping ou Fracionamento):

Dados so divididos em pequenos segmentos e


distribudos entre os discos
No existe redundncia
A distribuio dos dados entre os discos proporciona
grande velocidade na gravao e leitura

RAID nvel 1 ("Mirroring" ou "Espelhamento"):

Adiciona discos paralelos aos discos principais


Os discos adicionados trabalham como uma cpia do
original

ACESSO PARALELO EM DISCO


USANDO RAID

RAID nvel 2:

RAID nvel 3:

Adapta o mecanismo de deteco de falhas em discos rgidos


(cdigo Hamming)
Todos os discos da matriz ficam sendo "monitorados" pelo
mecanismo
Os dados so divididos entre os discos da matriz, exceto um,
que armazena informaes de paridade
Consegue oferecer altas taxas de transferncia e
confiabilidade das informaes

RAID nvel 4:

Divide os dados entre os discos, sendo que um exclusivo


para paridade
A diferena com o nvel 3, que em caso de falha de um dos
discos, os dados podem ser reconstrudos em tempo real
atravs da utilizao da paridade calculada a partir dos outros
discos

ACESSO PARALELO EM DISCO


USANDO RAID

RAID nvel 5:
Semelhante

ao nvel 4
A paridade no fica destinada a um nico disco,
mas a toda a matriz
A gravao de dados mais rpida

RAID nvel 6:
Tambm

conhecido RAID 0 + 1
Uma combinao dos nveis 0 (Striping) e 1
(Mirroring)
Utiliza o bom rendimento do nvel 0 com a
redundncia do nvel 1

ACESSO PARALELO EM DISCO


USANDO RAID

CONTEDO

Introduo
Armazenamento de dados
Dispositivo de armazenamento
Buffering de blocos
Disposio de registros de arquivos em disco
Operaes em arquivos
Arquivos de registros desordenados (Heap Files)
Arquivos Ordenados (Sorted Files)
Tcnicas de Hashing
Outras organizaes primrias de arquivos
Acesso Paralelo em disco Usando RAID
rea de armazenamento em Rede

REA DE ARMAZENAMENTO EM REDE

Para as atuais organizaes direcionadas para a


Internet, tornou-se necessrio mudar de uma
operao com centro de dados (data center) fixo e
esttico para uma infra-estrutura mais flexvel e
dinmica, dado seus requisitos de processamento de
informao
Grandes organizaes esto adotando um conceito
chamado rea de Armazenamento em Redes (SAN Storage Area Networks)
Em uma SAN, perifricos de armazenamento on-line
so configurados como ns em uma rede de alta
velocidade e podem ser conectados e
desconectados dos servidores de maneira bastante

REA DE ARMAZENAMENTO EM REDE


SAN permite que os sistemas de
armazenamento sejam posicionados a grandes
distancias dos servidores e proporcionam
diferentes opes de conectividade e de
desempenho
Algumas das alternativas de arquitetura para
SAN:

conexes 'ponto-a-ponto' entre servidores e


sistemas de armazenamento por meio de canal de
fibra ptica
uso de um switch com canal de fibra para conectar
mltiplos sistemas RAID bibliotecas de fitas etc. a
servidores
uso de hubs e switches com canal de fibra para

REA DE ARMAZENAMENTO EM REDE

As SANs tm crescido muito rapidamente,


mas ainda enfrentam muitos problemas, tais
como a combinao de opes de
armazenamento de diferentes fornecedores
e negociaes envolvendo os padres de
software e hardware de gerenciamento e
armazenamento