SóProvas


ID
236245
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Um fator relevante na questão de desempenho de SGBD refere-se ao processo de substituir ponteiros no estilo OID (identificadores de objetos e que, em geral, são endereços lógicos de disco) por endereços de memória principal, quando os objetos são lidos para a memória (ou viceversa, quando os objetos são gravados de volta no BD). Trata-se de

Alternativas
Comentários
  • Problema: OIDs sa?o utilizados em memo?ria secunda?ria para representar a estrutura de objetos complexos, pore?m ponteiros normais obviamente sa?o mais apropriados quando o objeto complexo esta? em memo?ria principal.

    Pointer Swizzling consiste na conversa?o de OIDs em ponteiros.

    Tipos de esquemas de swizzling:
    - baseados em hardware
    - baseados em software
          - imediato
          - diferido

    Hardware Pointer Swizzling:

    Utiliza o pro?prio mecanismo de paginac?a?o do sistema operacional. Quando um objeto complexo e? trazido para memo?ria, os OIDs dos seus componentes sa?o trocados por enderec?os de pa?ginas virtuais fora do working set corrente. A navegac?a?o para um componente de um objeto complexo traduz-se no acesso a? pa?gina virtual correspondente, gerando uma page fault, que e? tratada pelo SGBD-OO para colocar parte do componente na pa?gina referenciada

    Vantagens: apresenta bom desempenho quando a aplicac?a?o seguidamente percorrer os mesmos objetos complexos
    Desvantagens: pode levar a? exausta?o do espac?o de memo?ria virtual. Trabalha a ni?vel de pa?ginas, dificultando a implementac?a?o de algoritmos baseados em objetos.

    Software Pointer Swizzling:
    Utiliza uma tabela de objetos mapeando OIDs em posic?o?es de memo?ria principal. Quando um objeto complexo e? trazido para memo?ria, os OIDs dos seus componentes sa?o trocados por apontadores para esta tabela. Acessos aos objetos sa?o sempre indiretos atrave?s desta tabela.
    Alternativas: Os OIDs dos subobjetos podem ser trocados:
    - imediatamente quando o objeto complexo e? acessado
    - diferidamente quando o componente e? acessado
    Vantagens: trabalha a ni?vel de objetos
    Desvantagem: acesso aos objetos e? sempre indireto