O documento discute diferentes métodos de organização de arquivos, incluindo arquivos sequenciais desordenados e ordenados, arquivos diretos mantidos por dicionário de dados ou hashing, arquivos sequenciais indexados, e recuperação de chave secundária utilizando multilistas, arquivos invertidos ou árvores de assinaturas. Ele também aborda classificação externa, explicando o que é classificação, quando aplicá-la, e os principais métodos para realizar classificação externa de dados armazenados em memória secund
2.
Extrato
Organização de Arquivos
Arquivos Sequenciais Desordenados
Arquivos Sequenciais Ordenados Fisicamente
Arquivos Sequenciais Ordenados por Link
Arquivos Diretos Mantidos por Dicionário de Dados
Arquivos Diretos Mantidos por Hashing
Arquivos Sequenciais Indexados
Recuperação de Chave Secundária – Multilista
Recuperação de Chave Secundária – Arquivos Invertidos
Recuperação de Chave Secundária – Árvores de Assinaturas
Estruturas de Busca em Texto
Árvores B e B+
Classificação Externa
UFS - DComp - Prof. Kenia Kodel 2
3. O que é
classificar?
UFS - DComp - Prof. Kenia Kodel 3
4. Quando
aplicar
classificação?
UFS - DComp - Prof. Kenia Kodel 4
5. O que é
classificação
externa?
UFS - DComp - Prof. Kenia Kodel 5
6. Classificação Externa
Denomina-se classificar o
processo de ordenação de
dados, segundo um ou mais
campos – chaves de
classificação.
UFS - DComp - Prof. Kenia Kodel 6
7. Classificação Externanição
Esta operação é útil para
exibição dos dados de forma
mais amigável para usuários de
computadores e/ou para tornar
outras tarefas mais eficientes.
UFS - DComp - Prof. Kenia Kodel 7
8. Classificação Externaf
Quando a classificação é
aplicada sobre dados residentes
em memória principal, esta é
denominada classificação interna.
Quando em memória auxiliar,
classificação externa.
UFS - DComp - Prof. Kenia Kodel 8
9. Por que distinguir
classificação interna
da externa?
UFS - DComp - Prof. Kenia Kodel 9
10. Classificação Externa
As características do meio onde estão
armazenados os dados a serem
classificados afetam
significativamente o processo de
ordenação.
UFS - DComp - Prof. Kenia Kodel 10
11. Classificação Externa
Dois principais aspectos dos meios de
armazenamento exercem influência
sobre a classificação: (1) a
capacidade de armazenamento e
(2) velocidade de processamento.
UFS - DComp - Prof. Kenia Kodel 11
12. Como efetuar
classificação
externa?
UFS - DComp - Prof. Kenia Kodel 12
13. Para efetuar a
classificação externa,
deve-se transferir os
dados para memória
interna e aplicar
métodos de
classificação interna?
UFS - DComp - Prof. Kenia Kodel 13
14. Deve-se efetuar a
classificação externa,
aplicando em
memória externa os
mesmos métodos
aplicados em memória
interna?
UFS - DComp - Prof. Kenia Kodel 14
15. Quais são os
métodos de
classificação
interna?
UFS - DComp - Prof. Kenia Kodel 15
24. RETOMANDO A QUESTÃO: Como
efetuar classificação externa?
Transferindo os dados para memória
interna e aplicando métodos de
classificação interna? Ou aplicando
os métodos o de classificação
interna em memória secundária?
UFS - DComp - Prof. Kenia Kodel 24
25. Classificação Externa
São itens importantes a considerar:
custo de acesso adicional para
transferência de dados entre memórias;
custos adicionais para (re)posicionamento
dos dispositivos de leitura em memória
secundária;
restrições de acesso conforme o dispositivo
de armazenamento usado.
UFS - DComp - Prof. Kenia Kodel 25
26. Classificação Externa
A solução trivial do processo de classificação
externa é:
1. transferir os dados para memória principal;
2. aplicar método de classificação interna de
dados;
3. transferir dados (ordenados) para memória
secundária.
UFS - DComp - Prof. Kenia Kodel 26
27. Classificação Externa
Entretanto, a memória secundária, devido a
sua capacidade de armazenamento, é
usada para manter grande quantidade de
dados, os quais, muitas vezes, não cabem em
memória principal. Surge então o KeySort.
UFS - DComp - Prof. Kenia Kodel 27
28. Classificação Externa
Para aplicação do KeySort, deve-se:
1. transferir as chaves dos registros para a
memória principal;
2. aplicar método de ordenação interna;
3. gerar arquivo de dados a partir das
chaves.
UFS - DComp - Prof. Kenia Kodel 28
29. Classificação Externa
Para aplicação do KeySort:
1. transferir as chaves dos
registros para a memória
principal;
2. aplicar método de
ordenação interna; Que estrutura de
dados usaria em
3. gerar arquivo de dados a
memória
partir das chaves. principal?
UFS - DComp - Prof. Kenia Kodel 29
30. Classificação Externa
Porém há situação em que também as
chaves não cabem, num bloco único, em
memória principal. Então: (1) as chaves
são agrupadas em blocos; (2) os blocos
são ordenados em memória principal e
(3) os blocos ordenados são reunidos por
merging.
UFS - DComp - Prof. Kenia Kodel 30
31. Classificação Externa
Para classificação externa de dados a estratégia mais
usada é a estudada como Merge Parcial. Para tanto
é necessário:
1. Subdividir o arquivo a ser ordenado em blocos de
tamanho da memória interna disponível.
2. Ordenar cada bloco em memória primária,
usando métodos de classificação interna, de
preferência os de menor custo.
3. Intercalar os blocos ordenados criando blocos
ordenados cada vez maiores até que todo o
arquivo esteja ordenado.
UFS - DComp - Prof. Kenia Kodel 31
33. Balanceada em Vários Caminhos
Também denominada em T-Vias.
Dado o arquivo desordenado composto pelas
seguintes chaves:
09 14 20 05 18 03 01 12 01 04 02 15 06 12 17 22 30 28 31 42 36 07
Considerando que na memória interna disponível há
espaço para três registros; o arquivo é particionado:
09 14 20 05 18 03 01 12 01
04 02 15 06 12 17 22 30 28
31 42 36 07
UFS - DComp - Prof. Kenia Kodel 33
34. Balanceada em Vários Caminhos
Ordenando os blocos em memória principal obtém-se :
09 14 20 03 05 18 01 01 12
02 04 15 06 12 17 22 28 30
31 36 42 07
A etapa seguinte consiste em intercalar os blocos compondo blocos
maiores. Para tanto o método usa múltiplas unidades de
armazenamento.
A medida que os blocos são ordenados, estes são armazenados
equitativamente em três unidades de armazenamento
(quantidade definida pela capacidade da memória principal).
unidade 1 09 14 20 02 04 15 31 36 42
unidade 2 03 05 18 06 12 17 07
unidade 3 01 01 12 22 28 30
UFS - DComp - Prof. Kenia Kodel 34
35. Balanceada em Vários Caminhos
Para distribuição equitativa dos blocos nas três unidades: o 1º, após a
ordenação, é armazenado na unidade 1, o 2º na unidade 2, o 3º
na 3, o 4º na unidade 1, o seguinte na unidade 2 e assim
sucessivamente até que todos os blocos estejam alocados nas 3
unidades.
1
2
3
arquivo memória
desordenado unidades
principal
unidade 1 09 14 20 02 04 15 31 36 42
unidade 2 03 05 18 06 12 17 07
unidade 3 01 01 12 22 28 30
UFS - DComp - Prof. Kenia Kodel 35
36. Balanceada em Vários Caminhos
Os blocos ordenados são intercalados. Para tanto, o 1º registro
de cada uma das 3 unidades é transferido para memória
interna, nesta o menor item M é eleito e transferido para
memória secundária. Em seguida o próximo registro da
unidade de origem de M é transferido para a memória
interna.
unidade 1 09 14 20 02 04 15 31 36 42
unidade 2 03 05 18 06 12 17 07
unidade 3 01 01 12 22 28 30
memória
principal 09 03 01
UFS - DComp - Prof. Kenia Kodel 36
37. Balanceada em Vários Caminhos
São usadas outras 3 unidades e armazenadas nestas a
intercalação de cada 3 blocos de registros (9 registros). A
intercalação dos primeiros blocos na unidade 4, dos
segundos na 5, e assim sucessivamente. Ao final deste as 3
primeiras unidades usadas estão livres (vagas).
unidade 1 09 14 20 02 04 15 31 36 42
unidade 2 03 05 18 06 12 17 07
unidade 3 01 01 12 22 28 30
unidade 4 01 01 03 05 08 09 12 14 20
unidade 5 02 04 06 12 15 17 22 28 30
unidade 6 07 31 36 42
Se houvesse mais blocos?
UFS - DComp - Prof. Kenia Kodel 37
38. Balanceada em Vários Caminhos
Num determinado passo do processo haverá um
bloco de registros em cada unidade e um grupo
de unidades vazias. Então, para obtenção do
arquivo ordenado, basta efetuar a intercalação
destes blocos de registros usando uma das
unidades vazias como destino.
unidade 4 01 01 03 05 08 09 12 14 20
unidade 5 02 04 06 12 15 17 22 28 30
unidade 6 07 31 36 42
Neste caso a unidade 1 poderia ser usada como
destino da intercalação, e comportaria o arquivo
total ordenado (final de processo).
UFS - DComp - Prof. Kenia Kodel 38
39. Intercalação Polifásica
Corresponde a uma variante do método de
intercalação balanceada em T-Vias; onde os blocos
são distribuídos entre unidades de forma desigual e
somente uma fita é reservada para armazenar os
blocos resultantes das intercalações. Neste, a cada
passo, uma fita deve esvaziar-se.
Considerando
a mesma base 09 14 20 05 18 03 01 12 01
de dados
inicial: 04 02 15 06 12 17 22 30 28
31 42 36 07
UFS - DComp - Prof. Kenia Kodel 39
40. Intercalação Polifásica
Diferente da intercalação em T-Vias, neste não se usa
2n unidades onde n é a capacidade da memória
principal.
Neste se usa o número de unidades disponíveis.
unidade 1 09 14 20 03 05 18 01 01 12 02 04 15 06 12 17
unidade 2 22 28 30 31 36 40 07
unidade 3
UFS - DComp - Prof. Kenia Kodel 40
43. Intercalação Polifásica
Na intercalação seguinte o arquivo ordenado é
obtido e mantido na unidade 3.
unidade 1 01 01 01 07 09 12 14 15 20 22 28 30
unidade 2 03 05 06 12 17 18 31 36 40
unidade 3
O Merging Polifásico aposta na distribuição
perfeita das corridas nas vias; de forma a
obter, a cada passo, uma via vazia que
servirá como saída.
UFS - DComp - Prof. Kenia Kodel 43
44. Intercalaçãodistribuição de 129 corridas
Considerando uma
Polifásica
(blocos de registros) em 6 vias.
unidades
8
quantidade de
itens por unidades,
a cada passo
UFS - DComp - Prof. Kenia Kodel 44
45. Intercalação em Cascata
Trata-se de uma variante do Merging
Polifásico. Enquanto na Polifásica a cada
passo (T-1) são intercaladas (1 é usada
como destino). Na cascata a cada passo
as corridas de (T-1) vias são intercaladas;
em seguida (T-2), (T-3) e assim por diante.
UFS - DComp - Prof. Kenia Kodel 45
46. Intercalação em Cascata
Desta forma aposta-se em melhor performance que o
Polifásico, em função deste decréscimo do número de vias
intercaladas a cada passo. Considerando uma distribuição
de 190 corridas (blocos de registros) em 6 vias.
T1 T2 T3 T4 T5 T6 unidades
1 55 50 41 29 15 -
2 40 35 26 14 - 15
3 26 21 12 - 14 quantidade
de itens
4 14 9 - 12 por via, a
5 5 - 9 cada passo.
6 - 5
O processo segue com: 15 -14 – 12 – 9 – 5 distribuído em 5 unidades (vias).
UFS - DComp - Prof. Kenia Kodel 46
47. Exercício
Considerando: (1) a mesma base de dados
trabalhada em aula e (2) memória
principal com capacidade para 4
registros. Apresentar, passo a passo, a
ordenação desta usando:
(a) Intercalação balanceada em T-Vias
(b) Intercalação polifásica
UFS - DComp - Prof. Kenia Kodel 47
48. Complementar Estudos...
File Organization and Processing
Allan L Tharp
Capítulo 13
Sorting
External Sorting
UFS - DComp - Prof. Kenia Kodel 48
49. Próximos passos...
(Avaliações)
UFS - DCOMP - Prof. Kenia Kodel 49
UFS - DComp - Prof. Kenia Kodel 49