Anda di halaman 1dari 2

ndices Objetivo: acesso rpido a dados de um arquivo. Diversas tcnicas: nenhuma a melhor. A mais adequada depender da situao.

. Variveis a serem avaliadas: tempo de acesso tempo de insero tempo de remoo espao extra

ndice primrio: associado chave de busca que especifica a ordem sequencial do arquivo. Tipos: clustered x non-clustered: o ndice clustered guarda os dados ordenados da tabela em sintonia com a estrutura da rvore. O acesso aos dados das tabelas indexadas por um ndice clustered, tem obrigatoriamente que ser feito atravs do ndice, pois os dados so guardados no prprio ndice. O ndice non-clustered no altera a ordenao dos dados da tabela. As folhas da rvore de um ndice non-clustered guardam um apontador para os dados da tabela e no os prprios dados como acontece num ndice clustered. denso x esparso: ndice denso possui um registro de ndice para cada valor de chave, o ndice esparso possui registros de ndices para alguns valores.

rvore B+ um caso especial de rvore balanceada. Possui ponteiros para blocos de dados armazenados nos ns-folha. Mantm sua eficincia independentemente da insero e da remoo de dados. Todo caminho da raiz e uma folha do mesmo tamanho. Cada n tem n/2 e n filhos. Implementada como ndice multinvel.

Controle de concorrncia A maioria assegura a serializao de planos de execuo usando protocolos (regras). Mais importantes: usam bloqueio e mais usados nos SGBD comerciais. Outro tipo: baseado em timestamp (identificador nico para cada transao). Fator que afeta: granularidade dos dados.

Bloqueio (lock) em duas fases (2PL) Uma varivel de lock associada a um item de dados que descreve as possveis operaes aplicveis a ele. H diferentes tipos de bloqueio. Bloqueio binrio: simples, muito restritivo e pouco usado. No permite uso do recurso nem sequer para leitura. Bloqueio mltiplo modo (compartilhado/exclusivo): possui trs possveis estados (read_locked, write_locked ou unlocked)

Converso de bloqueio: transao T do estado read_locked para write_locked ou o inverso (rebaixamento). Fases (2PL-bsico): fase de crescimento: novos bloqueios podem ser adquiridos, mas no podem ser liberados. fase de encolhimento: bloqueios podem ser liberados, mas novos bloqueios no podem ser adquiridos.

2PL-conservador: uma transao deve bloquear todos os itens antes de iniciar a execuo. 2PL-estrito (mais popular): transao T no libera nenhum de seus bloqueios exclusivos (escrita) at que se efetive ou aborte. Deadlock (travamento indefinido): dento de um conjunto de transaes, uma transao T espera por algum item bloqueado por alguma outra transao. preveno: protocolo de preveno de deadlock. cada transao bloqueia tudo o que precisa, se algum no for possvel, nada ser bloqueado.

Starvation: uma transao no pode continuar por um perodo indefinido de tempo enquanto outras continuam.

Anda mungkin juga menyukai