EDII15 [2012.1] Classificação Externa

910 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
910
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EDII15 [2012.1] Classificação Externa

  1. 1. Prof. Kenia Kodel
  2. 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. 3. O que é classificar?UFS - DComp - Prof. Kenia Kodel 3
  4. 4. Quando aplicar classificação?UFS - DComp - Prof. Kenia Kodel 4
  5. 5. O que é classificação externa?UFS - DComp - Prof. Kenia Kodel 5
  6. 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. 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. 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. 9. Por que distinguir classificação interna da externa?UFS - DComp - Prof. Kenia Kodel 9
  10. 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. 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. 12. Como efetuar classificação externa?UFS - DComp - Prof. Kenia Kodel 12
  13. 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. 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. 15. Quais são os métodos de classificação interna?UFS - DComp - Prof. Kenia Kodel 15
  16. 16. Classificação Interna 58 45 31 80 45 54 58 45 31 80 45 54 45 58 31 80 45 54 31 45 58 80 45 54 31 45 58 80 45 54 31 45 45 58 80 54 31 45 45 54 58 80 Classificação por Inserção UFS - DComp - Prof. Kenia Kodel 16
  17. 17. Classificação Interna 58 45 31 80 45 54 45 31 58 80 45 54 45 31 58 45 54 80 45 31 58 45 54 80 31 45 58 45 54 31 45 45 54 58 Classificação por Troca: Bolha UFS - DComp - Prof. Kenia Kodel 17
  18. 18. Classificação Interna 58 45 31 80 45 54 ≥ ≤ 31 45 58 80 45 54 ≤ ≥ 31 45 58 54 80 45 ≤ ≥ 45 58 45 80 54 ≤ ≥ 45 58 54 45 80 Classificação por Troca: Quicksort UFS - DComp - Prof. Kenia Kodel 18
  19. 19. Classificação Interna 58 45 31 80 45 54 31 45 58 80 45 54 31 45 58 80 45 54 31 45 45 80 58 54 31 45 45 54 58 80 31 45 45 54 58 80 31 45 45 54 58 80 Classificação por Seleção: Direta UFS - DComp - Prof. Kenia Kodel 19
  20. 20. Classificação Interna(1) Dados:23 – 57 – 46 – 35 – 10 – 90 90(2) Montagem do heap.(3) Seleção dos maiores 35 57elementos – remoção da(s)raiz(es) do heap (ordenaçãodecrescente). 23 10 46 Classificação por Seleção: Heapsort UFS - DComp - Prof. Kenia Kodel 20
  21. 21. Classificação Interna 58 45 31 80 45 54 45 58 31 80 45 54 31 45 58 80 45 54 31 45 45 54 58 80 Merging Total UFS - DComp - Prof. Kenia Kodel 21
  22. 22. Classificação Interna 58 45 31 80 45 54 45 58 31 45 54 80 31 45 45 54 58 80 Merging Natural UFS - DComp - Prof. Kenia Kodel 22
  23. 23. Classificação Interna 58 45 31 80 45 54 * 31 45 58 45 54 80 31 45 45 54 58 80 Merging Parcial UFS - DComp - Prof. Kenia Kodel 23
  24. 24. RETOMANDO A QUESTÃO: Comoefetuar classificação externa?Transferindo os dados para memóriainterna e aplicando métodos declassificação interna? Ou aplicandoos métodos o de classificaçãointerna em memória secundária? UFS - DComp - Prof. Kenia Kodel 24
  25. 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. 26. Classificação ExternaA solução trivial do processo de classificaçãoexterna é: 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. 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. 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. 29. Classificação ExternaPara 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. 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. 31. Classificação ExternaPara classificação externa de dados a estratégia maisusada é 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
  32. 32. Classificação ExternaDada base de dados: 52 15 23 28 70 45 14 84 23 62 36Considerando memória interna com capacidade para três registros: 52 15 23 28 70 45 14 84 23 62 36Aplicando métodos de classificação interna: 15 23 52 28 45 70 14 23 84 36 62Aplicando merge: 15 23 52 28 45 70 14 23 84 36 62   ... UFS - DComp - Prof. Kenia Kodel 32
  33. 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. 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. 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. 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. 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. 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. 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. 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 17unidade 2 22 28 30 31 36 40 07unidade 3 UFS - DComp - Prof. Kenia Kodel 40
  41. 41. Intercalação Polifásica Efetuando a primeira intercalação:unidade 1 09 14 20 03 05 18 01 01 12 02 04 15 06 12 17unidade 2 22 28 30 31 36 40 07unidade 3 Obtém-se:unidade 1 02 04 15 06 12 17unidade 2unidade 3 09 14 20 22 28 30 03 05 18 31 36 40 01 01 07 12 UFS - DComp - Prof. Kenia Kodel 41
  42. 42. Intercalação Polifásica Efetuando a segunda intercalação: unidade 1 02 04 15 06 12 17 unidade 2 unidade 3 09 14 20 22 28 30 03 05 18 31 36 40 01 01 07 12 Obtém-se: unidade 1 unidade 2 02 04 09 14 15 20 22 28 30 03 05 06 12 17 18 31 36 40 unidade 3 01 01 07 12 Na próxima intercalação o arquivo original estará ordenado? UFS - DComp - Prof. Kenia Kodel 42
  43. 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 30unidade 2 03 05 06 12 17 18 31 36 40unidade 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. 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. 45. Intercalação em CascataTrata-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. 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. 47. ExercícioConsiderando: (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. 48. Complementar Estudos... File Organization and Processing Allan L Tharp Capítulo 13 Sorting External Sorting UFS - DComp - Prof. Kenia Kodel 48
  49. 49. Próximos passos... (Avaliações) UFS - DCOMP - Prof. Kenia Kodel 49 UFS - DComp - Prof. Kenia Kodel 49

×