EDII15 [2012.1]   Classificação Externa
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
951
On Slideshare
940
From Embeds
11
Number of Embeds
1

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 11

http://estruturasdedadosdois.blogspot.com.br 11

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Prof. Kenia Kodel
  • 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 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. 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 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. 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 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. 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. 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 17unidade 2 22 28 30 31 36 40 07unidade 3 UFS - DComp - Prof. Kenia Kodel 40
  • 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. 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. 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. 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 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. 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í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. 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