A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INF 1010 Estruturas de Dados Avançadas Implementação de Árvores B no Oracle 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1.

Apresentações semelhantes


Apresentação em tema: "INF 1010 Estruturas de Dados Avançadas Implementação de Árvores B no Oracle 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1."— Transcrição da apresentação:

1 INF 1010 Estruturas de Dados Avançadas Implementação de Árvores B no Oracle 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1

2 Armazenamento no Oracle Estrutura de armazenamento 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.12

3 Armazenamento no Oracle Armazenamento de Tabelas 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.13

4 Armazenamento no Oracle Anatomia de um bloco 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.14

5 Armazenamento no Oracle Exemplo de uma tabela 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.15

6 Armazenamento no Oracle Anatomia de um bloco 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.16

7 Árvores B em Oracle Características da implementação Segue uma forma de árvores B* Uma árvore está sempre balanceada Cada folha aponta para a antecessora e a sucessora Cada folha contém chaves e apontadores para as linhas das tabelas Update = delete + insert 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.17

8 Árvores B em Oracle Árvores B* As chaves estão armazenadas nos nós internos, folhas e raiz (como em árvores B) Utilizam uma técnica de redistribuição de chaves, chamada de two-to-three split A operação de split é adiada até que dois nós irmãos estejam completamente cheios; quando isto corre, o conteúdo dos nós irmãos é redistribuído 17/10/21© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.18

9 Árvores B em Oracle Uma árvore B* de ordem m apresenta as seguintes propriedades: Cada nó possui no máximo m filhos Uma folha contém no mínimo (2m-1)/3 chaves e no máximo m-1 Todas as folhas estão no mesmo nível Todo nó, exceto a raiz e as folhas, possuem no máximo (2m-1)/3 descendentes Um nó interno com k filhos possui k-1 chaves 17/10/21© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.19

10 Árvores B em Oracle Exemplo de uma árvore B indexando o atributo EMPNO 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.110

11 Árvores B em Oracle Exemplo de uma árvore B indexando o atributo EMPNO 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.111

12 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.112

13 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.113

14 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.114

15 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.115

16 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.116

17 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.117

18 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.118

19 Árvores B em Oracle Exemplo de acesso à árvore B indexando o atributo EMPNO 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.119

20 Árvores B em Oracle 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.120

21 Árvores B em Oracle Agrupamento Ruim A tabela deve ser reconstruída e reordenada Agrupamento Bom 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.121

22 Árvores B em Oracle Alocação de espaço livre (PCTFREE) Oracle reserva uma percentagem do espaço como livre (default = 10%) Reduz e retarda a divisão dos nós de uma árvore B Exemplo: PCTFREE = 50% PCTFREE = 10% 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.122

23 Árvores B em Oracle Problema com alocação de espaço livre (PCTFREE) 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.123

24 Árvores B em Oracle Problema com alocação de espaço livre (PCTFREE) 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.124

25 Árvores B em Oracle Tratamento de remoções Reciclagem de espaço livre (criado por remoções) é retardado Blocos livres são colocados em uma lista e reciclados (embora permaneçam na árvore) Pode causar desperdício de espaço, se PCTFREE for alta, causando fragmentação da árvore 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.125

26 Resumo A implementação de árvores B no ORACLE... Usa uma variante árvores B* Mantém as árvores balanceadas Reusa o espaço liberado por remoções Comprime chaves (não discutido) 17/10/2011© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.126


Carregar ppt "INF 1010 Estruturas de Dados Avançadas Implementação de Árvores B no Oracle 17/10/20111© 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1."

Apresentações semelhantes


Anúncios Google