Bases de Dados 2013/2014 Armazenamento e Índices. Helena Galhardas. Sumário
|
|
- Marina Aleixo Salgado
- 7 Há anos
- Visualizações:
Transcrição
1 Bases de Dados 2013/2014 Armazenamento e Índices Helena Galhardas Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros Índices 1 1
2 Bibliografia Raghu Ramakrishnan, Database Management Systems, 3ª edição. Cap 9 Cap 8 Cap 10: , 10.8, 10.9 Cap 11: 11.1 e 11.5 Rever conceitos relacionados : Gestão de Memória 2012 Ins,tuto Superior Técnico 2 Armazenar tudo em memória: porque não? Muito caro (p.e. dados Nov 2011, obtidos numa loja de componentes PC) 4 GB RAM: 20 = 5 /Gb 2 TB SATA: 100 = 0.05 /Gb disco ~ 100 x mais barato Memória RAM é volátil Hierarquia típica dos sistemas de armazenamento: Memória primária: (RAM) para dados correntes Memória secundária: base de dados Memória terciária: bandas para arquivo de dados anteriores Típica, mas não universal: Podemos encontrar BDs em memória primária Podemos encontrar BDs em memória terciária 3 2
3 Hierarquia de Memórias Factores tempo de acesso, capacidade, custo/mb, volatilidade Usos Cache, persistência, backup cache main memory flash memory magnetic disk optical disk magnetic tapes 4 Flash" Dados sobrevivem a falhas de corrente eléctrica" Dados podem ser escritos num local só uma vez, mas o local pode ser apagado e escrito novamente" Pode suportar um número limitado (10K-1M) de ciclos escrever/apagar" Leituras são aproximadamente tão rápidas como em memória principal" Escritas são lentas (alguns msec), apagar é lento" Extensamente usadas em dispositivos embebidos (ex: câmaras digitais, telefones, ou " 5 3
4 Discos Óticos" Compact disk-read only memory (CD-ROM)! Discos removíveis" Tempo posicionamento 100 msec (leitura de cabeça óptica é mais pesada e lenta)" Latência mais alta (3000 RPM) e taxas de transferências de dados mais baixas (3-6 MB/s) do que discos magnéticos" Digital Video Disk (DVD)! DVD-5 holds 4.7 GB, and DVD-9 holds 8.5 GB! DVD-10 and DVD-18 are double sided formats with capacities of 9.4 GB and 17 GB! Blu-ray DVD: 27 GB (54 GB for double sided disk)! Tempos de posicionamento altos como CD-ROM" Record once versions (CD-R and DVD-R) populares" Dados só podem ser escritos uma vez, e não podem ser apagados" Capacidade alta e tempo de vida grande; usados para armazenamento de arquivo" Multi-write versions (CD-RW, DVD-RW, DVD+RW and DVD-RAM)" 2012 Ins,tuto Superior Técnico 6 Armazenamento Óptico Não volátil, dados lidos opticamente usando laser" CD-ROM (640 MB) e DVD (4.7 to 17 GB) formas mais populares" Blu-ray disks: 27 GB to 54 GB" Discos ópticos write-one, read-many (WORM) usados para armazenamento de arquivo (CD-R, DVD-R, DVD+R)" Múltiplas versões de escrita (CD-RW, DVD-RW, DVD+RW, and DVD-RAM)" Leituras e escritas mais lentas do que disco magnético" Sistemas Juke-box: grandes números de discos removíveis, poucas drives e um mecanismo para montar e desmontar discos acessíveis para guardar grandes volumes de dados" " 7 4
5 Fitas Magnéticas" Não volátil: Suportam grandes volumes de dados e oferecem taxas de transferência altas " Few GB for DAT (Digital Audio Tape) format, GB with DLT (Digital Linear Tape) format, 100 GB+ with Ultrium format, and 330 GB with Ampex helical scan format! Fitas baratas mas drives caras" Tempo de acesso muito lento quando comparado a discos magnéticos e ópticos" Limitado a acesso sequencial" Some formats (Accelis) provide faster seek (10s of seconds) at cost of lower capacity! Usados principalmente para: backup, armazenamento de dados não usados frequentemente, e como meio de transferência de dados de um sistema para outro" Tape jukeboxes usadas para grandes capacidades de armazenamento" Multiple petabyes (10 15 bytes)" 8 track t spindle Discos magnéticos sector s arm cylinder c head Principal vantagem sobre as bandas possibilita acesso aleatório platter arm rotation Dados guardados e recuperados em unidades designadas por blocos de disco ou páginas. Tempo de acesso não é sempre idêntico depende da localização dos dados no disco desempenho da BD depende muito da disposição das páginas no disco Operações em disco são de alto custo, relativamente às de acesso a memória: têm de ser planeadas e optimizadas com o máximo cuidado read write 9 5
6 11/15/ Ins,tuto Superior Técnico RAMAC h>p://en.wikipedia.org/wiki/ibm_ Ins,tuto Superior Técnico 11 6
7 Componentes de um disco Pratos giram a rpm O braço desloca as cabeças, posicionando-as sobre uma pista Apenas uma cabeça é usada em cada instante As pistas alinhadas sob as cabeças constituem um cilindro. Pistas divididas em sectores Um número fixo de sectores constitui um bloco ou página track t sector s cylinder c platter rotation spindle arm read write head ar 12 Subsistema de Discos - Interfaces Padrão (abundam variantes) IDE (parallel ATA) Desktops Massificados, menor custo. SCSI Em servidores de BD Mais rápidos SATA (serial ATA), SAS (Serial Attached SCSI) Dominam RPM em desktops RPM em servidores 13 7
8 Tempo de Acesso a páginas/blocos em Disco Tempo de acesso (R/W) a um bloco: Tempo de posicionamento (seek time)! Tempo que o braço demora para posicionar a cabeça sobre a pista a que o bloco pertence Atraso rotacional (rotational delay)! Tempo de espera até ao bloco estar sob a cabeça Tempo de transferência (transfer time)! Tempo de transferência de dados de/para o disco Tempo de posicionamento e atraso rotacional dominam: posicionamento: 1 a 20 ms atraso rotacional: 0 a 10 ms ritmo transferência: 1 ms por página de 4KB 14 Implicações da estrutura em disco no desempenho Dados têm que estar em memória antes do SGBD os poder processar A unidade de transferência entre memória principal e disco é um bloco Operação de E/S (I/O): leitura e escrita de um bloco de disco Tempo para leitura e escrita de um bloco depende da localização dos dados Tempo posicionamento + atraso rotacional + tempo transferência Tempo para executar operações na BD é afectado pelo modo como os dados estão guardados em discos Minimizado localizando os registos de dados estrategicamente em disco (i.e., se 2 registos são acedidos frequentemente em conjunto então devem estar no mesmo bloco) 15 8
9 Organização das Páginas em Disco Conceito de bloco seguinte : blocos na mesma pista,...seguidos por... blocos no mesmo cilindro,...seguidos por... blocos no cilindro adjacente blocos num ficheiro devem ser organizados sequencialmente em disco (segundo noção de seguinte ), para minimizar os atrasos de posicionamento e rotação... Para um varrimento (scan) sequencial, a transferência antecipada (pre-fetch) de várias páginas traz ganhos importantes! 16 RAID Redundant Array of Independent Disks RAID por hardware ou software 0 Striping Dados são segmentados em partições de igual tamanho distribuídos por múltiplos discos Maior velocidade 1 Mirroring Maior disponibilidade e mais cara Duplicação de necessidades de armazenamento 0+1 Mirroring + Striping Maior velocidade e maior disponibilidade Duplicação de necessidades de armazenamento... 5 Block-Interleaved Distributed Parity Óptima solução de compromisso
10 11/15/ Ins,tuto Superior Técnico Ins,tuto Superior Técnico 19 10
11 Sumário Tipos de memória Ø Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros Índices 20 Web forms App Front Ends SQL Interface SQL Commands DBMS Plan Executor Parser Operator Evaluator Optimizer Query Evaluation Engine Transaction manager Lock manager Concurrency Control Files & Access methods Buffer manager Disk space manager Recovery manager Database System Catalog Index Files Data Files 21 11
12 Gestão do Espaço em Disco Gestor de espaço em disco (disk space manager) - Camada inferior do software do SGBD que gere espaço em disco Dispõe de primitivas para: afectar (allocate)/desafectar uma página ler/escrever página Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management Pedido de sequência de páginas deve ser satisfeito por afectação sequencial de páginas no disco! Níveis superiores desconhecem como isto é feito ou como é gerido o espaço livre em disco. 22 Ficheiros num SGBD e num S.O Três formas de coexistência: Tabelas são ficheiros do S.O., cada um acedido como ficheiro de registos (file of records) pelo SGBD Database files: ficheiro de bytes de grande dimensão reservado no sistema de ficheiros do sistema operativo SGBD organiza o espaço atribuído em sistema de ficheiros interno; gere files of records no seu interior Raw devices: discos (ou partições) reservados para acesso exclusivo pelo sistema de ficheiros privado do SGBD 23 12
13 SGBD vs. Sistema Ficheiros do S.O. Razões para não usar apenas as funcionalidades dos sistemas operativos: Portabilidade nem todos os S.O. se comportam da mesma forma Limitações Tamanho ficheiro S.O. é limitado e SGBD pode querer aceder a um único ficheiro maior do que esse limite Requisitos Especiais do Gestor de Buffers de um SGBD: Poder marcar (pin) uma página específica, e forçar a sua transferência para disco (ver Controlo de Concorrência e Recuperação) Ajustar política de substituição e capacidade de pré-transferência de páginas baseado nos padrões de acesso de operações típicas das BD. 24 Gestão de buffers Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management 25 13
14 Gestão do Buffer num SGBD (Buffer Management) Pedidos de Páginas dos Níveis Superiores Página De disco BUFFER POOL Quadro (frame) livre Memória Central Database (em Disco) Disco Dados têm de estar em RAM antes do SGBD lhes aceder 26 Quando uma página é pedida... Se a página não está na buffer pool e esta está cheia: Escolher quadro para substituição Se quadro está sujo corresponde a página modificada, logo escrevê-la em disco Ler a página pedida para o quadro Marcar (pin) a página e retornar o seu endereço Se os pedidos podem ser antecipados (scans), as páginas podem ser prétransferidas em grupos 27 14
15 Mais sobre Gestão dos Buffers A mesma página no tampão (buffer pool) pode ser pedida várias vezes: usa-se contador pin count número de utilizadores da página Uma página apenas é candidata a ser substituída sse pin count = 0 Quem liberta página deve desmarcá-la (unpin), e indicar se esta foi modificada: sinalizado por variável dirty Controlo de Concorrência e Recuperação podem obrigar a I/O adicional quando um quadro é seleccionado para substituição Protocolo Write-Ahead Log, a ser abordado mais à frente 28 Política de substituição de páginas Decisão sobre quais as páginas existentes em memória principal que devem ser substituídas por novas páginas transferidas do disco 29 15
16 Políticas de substituição possíveis Página menos usada recentemente (Least Recently Used LRU) Relógio - Clock MRU, etc... Política escolhida pode ter grande impacto no nº de R/W, dependendo do padrão de acesso. 30 Política ou Regulamento de Substituição de Buffers (cont.) Inundação Sequencial (Sequential flooding): situação de péssimo desempenho causada por LRU + Scans Sequenciais sucessivos. # quadros < # páginas no ficheiro implica que cada pedido de página causa uma E/S. MRU (Most Recently Used) teria muito melhor desempenho nesta situação mas seria claramente mau noutras Ins,tuto Superior Técnico 31 16
17 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ø Ficheiros de registos Ø Heap files Organização de ficheiros Índices 32 Ficheiros de Registos Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management 33 17
18 Ficheiros de Registos Página ou bloco são primitivas adequadas à gestão de E/S, mas os níveis superiores do SGBD operam sobre registos, e ficheiros de registos Ficheiro: uma colecção de páginas, cada uma com uma colecção de registos. Cada registo é identificado univocamente por um identificador Record-id ou rid identifica o endereço do disco em que a página contendo o registo está guardada Operações a suportar: inserir/apagar/modificar registo ler um registo específico (especificado pelo seu rid) Varrimento (scan) de todos os registos (possivelmente com algumas condições sobre os registos a obter) 34 Registos de Comprimento Fixo F1 F2 F3 F4 L1 L2 L3 L4 Endereço Base (B) Endereço = B+L1+L2 Cada campo tem um tamanho fixo e número de campos é fixo Encontrar o campo i requer varrimento/scan do registo Ins,tuto Superior Técnico 35 18
19 Registos de Comprimento Variável Dois formatos alternativos (# campos é fixo): Nº de Campos F1 F2 F3 F4 4 $ $ $ 4 & & & & Campos delimitados por símbolos especiais F1 F2 F3 F4 Array com deslocamentos dos campos Segunda opção oferece: (1) acesso directo a cada campo, (2) armazenamento eficiente dos NULLs, (3) ligeiro overhead com directório 2012 Ins,tuto Superior Técnico 36 Páginas de Registos de Comprimento Fixo M Slot 1 Slot 2 Slot N Espaço Livre Slot 1 Slot Slot N Slot M Empacotada N Número de Registos Presentes na Pag M M Número de ranhuras Desempacotada, BITMAP Record id = <page id, slot #>. Na 1ª alternativa, rid muda quando se re-organiza espaço livre; pode não ser aceitável Ins,tuto Superior Técnico 37 19
20 Páginas de Registos de Comprimento Variável Rid = (i,n) Rid = (i,2) Rid = (i,1) Página i N N #slots Directório de Ranhuras/Slots Cada ranhura tem 2 campos: offset para início da página comprimento do registo. Podem-se mover registos na página sem mudar rid; serve também para registos de comprimento fixo Ins,tuto Superior Técnico Apontador para início de espaço livre 38 Ficheiros Não Ordenados ou Aleatórios (Heaps) A estrutura de ficheiro mais simples contém registos sem nenhuma ordem em particular As páginas são alocadas ou libertadas à medida que o ficheiro cresce ou se reduz Para suportar operações ao nível do registo há que: registar quais as páginas de um ficheiro registar o espaço livre nas páginas registar os registos de cada página Há muitas alternativas possíveis para manter este tipo de ficheiro de registos 39 20
21 Heap mantida como lista de páginas Data Page Data Page Data Page Páginas Preenchidas Header Page Data Page Data Page Data Page O endereço da header page e o nome da heap file são guardados no catálogo. Cada página contém 2 apontadores + dados. Páginas com Espaço Livre 40 Heap com Directório de Páginas Header page Data Page 1 Data Page 2 Directório Data Page n A entrada de uma página na header page pode incluir nº de bytes livres na página. O directório é uma colecção de páginas; realização como lista ligada é uma alternativa possível. Muito mais pequeno que lista de todas as páginas do Heap! 41 21
22 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Ø Organização de ficheiros (cap 8) Índices 42 Alternativas para Organização de Ficheiros Ficheiros Aleatórios (Heap files) Melhor quando o acesso típico é um varrimento de todos os registos. Ficheiros Ordenados (Sorted Files) Melhor se os registos devem vir numa ordem fixa ou se pretende obter apenas uma gama de registos. Ficheiros Directos (Hashed Files) Bons em selecção de registos por relação de igualdade. Ficheiro é uma colecção de buckets. Bucket = primary page + zero ou mais páginas de overflow. Função de Dispersão (Hashing function h): h(r) = bucket que contém registo r. h apenas analisa alguns campos de r, designados por campos de pesquisa (search fields)
23 Análise Comparativa Ignoramos custo de CPU e considera-se: B: Número de páginas com dados R: Número de registos por página D: Tempo (médio) de leitura/escrita de página em disco Estimativa de nº de E/S ignora eventuais ganhos com prétransferência de blocos de páginas; O custo de E/S é também aproximado Análise para situação típica; baseada em várias premissas simplistas Permite contudo observar as tendências! 2012 Ins,tuto Superior Técnico 44 Premissas para Análise Inserção/Remoção de um só registo de cada vez. Ficheiros Não Ordenados - Heap: Selecção por igualdade na chave; apenas uma detecção. Inserções sempre no fim do ficheiro. Ficheiros Ordenados - Sorted: Ficheiros compactados após remoções. Selecções nos campos da ordenação. Ficheiros Directos - Hashed: S/ buckets de overflow, páginas ocupadas a 80% Ins,tuto Superior Técnico 45 23
24 Custo das Operações B: nº pags c/dados; R: nº de regs. por pag; D: tempo (médio) de R/W de pag em disco ND: nº de pags com detecções Heap Sorted Hashed Scan all records??? Equality Search??? Range Search??? Insert??? Delete??? 2012 Ins,tuto Superior Técnico 46 Custo das Operações B: nº pags c/dados; R: nº de regs. por pag; D: tempo (médio) de R/W de pag em disco ND: nº de pags com detecções Heap Sorted Hashed Scan all records B*D B*D 1.25*B*D Equality Search 0.5*B*D D*log 2 B D Range Search B*D D*(log 2 B+ND) 1.25*B*D Insert 2*D Search+B*D 2*D Delete Search+D Search+B*D 2*D 2012 Ins,tuto Superior Técnico 47 24
25 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros (cap 8) Ø Índices Ø Definições Alternativas para entradas de dados Índices agrupados e desagrupados Índices primários e secundários Índices densos e esparsos Índices com chave composta 48 Índices Um ficheiro permite aceder a registos: por especificação do rid, ou por varrimento (scan) de todos os registos Muitas vezes, pretendemos chegar aos registos pelos valores de um ou mais campos Procurar todos os alunos do DEI Procurar todos os alunos de média superior a 14 Índices: estruturas de dados alternativas (ficheiros de índice) que nos permitem responder a estes pedidos de forma eficiente 49 25
26 Formato registo índice Índices permitem acelerar o acesso aos dados p.ex. índice remissivo de um livro assunto é a chave de procura (search key) nº da página é o apontador Um índice contém registos na forma chave de procura! apontador(es) para registo(s)" em geral é muito mais pequeno que a tabela indexada 50 Chave de pesquisa Um índice num ficheiro acelera as selecções sobre os campos da chave de pesquisa do índice Qualquer sub-conjunto dos campos de uma relação pode ser a chave de pesquisa de um índice da relação Chave de pesquisa não é o mesmo que uma chave (conjunto mínimo dos campos que definem univocamente cada registo numa relação) Um índice contém uma colecção de entradas de dados (data entries) Uma entrada de dados em que a chave de pesquisa tem valor k denota-se k* 51 26
27 Consulta sem Índice Implica pesquisa sequencial ou varrimento (scan) pode ser muito lenta para tabelas grandes = k? 52 Consulta com Índice Pesquisa no índice é muito rápida, mesmo para tabelas grandes k Índice 53 27
28 Entrada de Dados k* no Índice Existem três alternativas: 1. Uma entrada de dados k* é um registo de dados com chave de procura de valor k 2. Uma entrada de dados é um par <k, rid>, em que rid é o id do registo d dados com chave procura de valor k 3. Uma entrada de dados é um par <k, rid-list>, em que ridlist é a lista dos rids dos registos de dados com chave de pesquisa k A escolha da alternativa usada para a entrada de dados é ortogonal à técnica de indexação usada para localizar entradas de dados com um dado valor k. Exemplos de técnicas de indexação: Árvores B+, estruturas baseadas em funções de dispersão (hash) 54 Índice com Alternativa 1 A estrutura do índice corresponde a uma organização de ficheiro para registos de dados organização de ficheiro indexado Usado em vez de um ficheiro ordenado ou aleatório No máximo, apenas um índice em cada colecção de registos pode usar a Alternativa 1 Evita-se assim armazenar registos de dados múltiplas vezes Se se pretende mais de um índice sobre um dado ficheiro, apenas 1 no máximo pode usar Alternativa 1; os outros terão de usar Alternativas 2 ou
29 Índice com Alternativas 2 e 3 Independente da organização do ficheiro de dados As entradas de dados são tipicamente muito mais pequenas que registos de dados Alternativas 2,3 melhores que Alternativa 1 quando registos de dados longos, especialmente se as chaves de pesquisa são pequenas Alternativa 3 é mais compacta que Alternativa 2, mas conduz a entradas de dados de tamanho variável, mesmo se as chaves de pesquisa tiveram tamanho fixo. 56 Índices agrupados (clustered) vs desagrupados (unclustered) Se a ordem dos registos dos dados é a mesma (ou próxima) das entradas de dados de um índice, então diz-se que o índice é agrupado (clustered). Alternativa 1 implica índice agrupado (clustered file) Índice que usa Alternativas 2 ou 3 podem ser agrupados se os registos de dados estiverem ordenados pela chave de pesquisa Um ficheiro pode ser agrupado no máximo por uma chave de pesquisa. O custo de usar um índice para responder a uma interrogação de intervalo varia muito com o facto do índice ser agrupado ou 57 29
30 Índice Agrupado vs. Desagrupado Entradas do índice Ficheiro de Índice Entradas de dados Registos de dados Ficheiro de Dados 58 Índices Agrupados (clustered) Índice Índice 59 30
31 Índices Desagrupados (non-clustered) Tabela Tabela Índice Índice 2012 Instituto Superior Técnico 60 Índice Primário vs Secundário Se a chave de pesquisa contém a chave primária diz-se que o índice é primário Os outros índices dizem-se secundários Duas entradas de dados no índice são duplicadas se tiverem o mesmo valor para a chave de pesquisa associada com o índice Índice primário é garantido não conter duplicados Em geral, índice secundário contém duplicados Índice Único (Unique): Chave de pesquisa contém chave candidata 61 31
32 Índices Densos vs Esparsos Densos: se há pelo menos uma entrada de dados por cada valor da chave de pesquisa (em algum registo de dados) Esparsos: se existe uma entrada de dados no índice apenas para alguns valores que a chave de procura pode tomar no ficheiro de dados Alternativa 1 implica sempre índice denso Um índice esparso é sempre agrupado Índices esparsos são menores; contudo algumas optimizações úteis são baseadas em índices densos 62 Índices Densos e Esparsos Índice Esparso em Nome Ashby Cass Smith Ashby, 25, 3000 Basu, 33, 4003 Bristow, 30, 2007 Cass, 50, 5004 Daniels, 22, 6003 Jones, 40, 6003 Smith, 44, 3000 Tracy, 44, 5004 Ficheiro de Dados Índice Denso em Idade 63 32
33 Índices Esparsos Só podem ser usados quando os registos de dados estão ordenados pela chave de pesquisa Para localizar o registo com valor K procurar a entrada no índice com o maior valor < K Pesquisar o ficheiro de dados sequencialmente a partir daí 64 Índices Esparsos Vantagem Ocupam menos espaço e implicam um número menor de manobras para inserção/ remoção de registos Desvantagem Mais lento a localizar os registos pretendidos no ficheiro de dados Melhor compromisso é um índice esparso com uma entrada para cada bloco que a tabela ocupa em disco em que o valor indexado correspondente ao menor valor da chave de procura nesse bloco 2012 Instituto Superior Técnico 33
34 Índices desagrupados Índices desagrupados têm de ser densos (porquê?) Também têm que ser mantidos actualizados Menos eficiente que um índice agrupado (nas pesquisas por intervalo) cada acesso a um registo pode implicar o acesso a um bloco diferente 2012 Instituto Superior Técnico 66 Índices com Chave de Pesquisa Composta Chaves de pesquisa compostas: chaves de pesquisa com mais de um atributo Úteis para: Pesquisa numa combinação de campos Pesquisa por igualdade: Todos os campos têm um valor constante p.e. com respeito a índice sobre <sal,age> pesquisa age=20 AND sal =75 Pesquisa por intervalo: algum dos campos tem um valor variável p.e. pesquisa age =20; ou age=20 AND sal > 10 São pesquisados por ordem lexicográfica na concatenação dos valores dos atributos: (age 1, salary 1 ) < (age 2, salary 2 ) se (age 1 < age 2 ) ou (age 1 = age 2 ) e (salary 1 < salary 2 ) 67 34
35 Índices Compostos com Ordem Lexicográfica 11,80 12,10 12,20 name age sal ,75 <age, sal> bob cal <age> 10,12 20,12 75,13 80,11 <sal, age> Entradas de dados no índice ordenadas por <sal,age> joe sue Registos de dados ordenados por name <sal> Entradas de dados ordenadas por <sal> 68 Índices com múltiplas chaves de procura Certas interrogações podem usar vários índices select account_number! from account! where branch_name = Perryridge and balance = 1000! Estratégias possíveis usar índice para branch_name e testar valor de balance usar índice para balance e testar valor de branch_name usar índice para branch_name e outro para balance e intersectar os resultados 2012 Instituto Superior Técnico 69 35
36 Actualização de Índices Ter um índice implica custos de manutenção Remoção ao remover o único registo com um dado valor, remove-se a respectiva entrada do índice Inserção pesquisar o valor do registo no índice índices densos se o valor não estiver indexado, inserir nova entrada no índice índices esparsos só é necessário criar uma nova entrada se a inserção der origem a um novo bloco 70 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros (cap 8) Índices Definições Ø Técnicas de indexação Baseadas em árvore (tree-based) Baseadas em função de dispersão (hash-based) Bitmap Impacto no desempenho da BD 71 36
37 Técnicas de indexação Índices ordenados (p.ex. árvore B + ) Entradas de dados estão ordenadas pela chave de pesquisa e organizadas usando uma estrutura de dados baseada em árvore Índices baseados em função de dispersão (hash-based) valores da chave de procura são particionados uniformemente por vários "contentores" (buckets) de acordo com uma função de dispersão (hash) Índices bitmap Valores das chaves de pesquisa são segmentados para formar conjunto de critérios booleanos 72 Critérios de Comparação Tipos de acesso disponíveis às pesquisas suportadas pelo índice Tempo de acesso a um item ou conjunto de itens Tempo de Inserção /Tempo de remoção tempo de acesso + tempo actualização Overhead Espaço adicional para armazenamento do índice 73 37
38 Árvore B+ Entradas de Indice Pesquisa Directa Entradas de Dados Sequence Set 74 Introdução Técnicas de indexação por estruturas de dados em árvore suportam tanto pesquisas de intervalo como pesquisas de igualdade Árvore B+: dinâmica, adapta-se a inserções/remoções. As entradas de dados no índice estão ordenadas pelo valor da chave de pesquisa e é mantida uma estrutura de pesquisa hierárquica que dirige as pesquisas para as páginas de entradas de dados correctas 75 38
39 Árvore B+ Nós folha (leaf) contêm entradas de dados e estão ligados duplamente; correspondem a registos de dados se fôr usada a alternativa 1 Acesso a um nó envolve uma E/S de disco, i.e., acesso a uma página 76 Exemplo árvore B+ < Útil para consultas do tipo: todas a as entradas com 9 < k < 15 Nb E/S disco = altura da árvore + nb páginas folha com entradas que satisfazem o critério 77 39
40 Árvore B + nós Cada nó da árvore é uma página física organizada do seguinte modo: K i são valores ordenados K 1 < K 2 < K 3 <... < K n 1 P i são apontadores apontadores para outros nós (se o nó não é folha) ou apontadores para registos de dados (se é folha) 2012 Instituto Superior Técnico 78 Árvore B + nós folha Se o nó é folha P i aponta para um registo com valor K i ou P i aponta para um contentor de registos com K i necessário se o valor aparece em vários registos Ou P n aponta para a folha seguinte (mesmo nível) 79 40
41 Árvore B + nós não-folha Se o nó não é folha forma um índice esparso multi-nível para as folhas todas as chaves na sub-árvore de P i (esquerda) são menores que K i em geral, todas as chaves na sub-árvore de P i são K i 1 e < K i as chaves K n 1 estão na sub-árvore apontada por P n 2012 Instituto Superior Técnico 80 Procura em Árvores B + Encontrar todos os registos de dados com chave de pesquisa de valor K 1. Começa pela raiz a) procurar na raiz o menor valor K i tal que K i > k b) se existir, seguir P i (esquerda) para o nó descendente c) senão, seguir P n (último da direita) 2. repetir o passo anterior até chegar a uma folha 3. assim que chegamos a uma folha a) procurar na folha o valor K i tal que K i = k b) se existir, seguir P i para o registo c) senão, é porque o registo não existe Se houver K valores da chave de procura na árvore, nenhum caminho é mais longo do que log n/2 (K) 81 41
42 Modificação de Árvores B + (inserção/remoção) 1. Pesquisar o valor pretendido na árvore, desde a raíz até chegar à folha respectiva (top-down) 2. Efectuar as alterações pretendidas ao nível das folhas 3. Repercutir os efeitos de forma bottom-up, isto é, depois de alterar nós a um nível, verificar se o nó ascendente fica coerente, senão propagar os efeitos recursivamente (até à raiz, se necessário) IST DEI Bases de Dados 82 Árvore B+ - propriedades (1) Inserção/Remoção com custo proporcional a log n/2 (K) Mantém altura equilibrada Ocupação mínima de 50% (excepto raiz). Cada nó contém d <= m <= 2d entradas. O parâmetro d é designado por ordem da árvore. Suporta de forma eficiente pesquisas sobre igualdade ou por intervalo. Estrutura de Indice mais utilizada 83 42
43 Árvore B + propriedades (2) Todos os caminhos da raiz a qualquer folha percorrem o mesmo número de nós Cada nó tem entre n/2 e n descendentes excepto a raiz, que pode ter menos Cada folha tem n apontadores e (n-1) valores apenas alguns podem estar preenchidos regra geral, tem de ter no mínimo (n-1)/2 valores Casos especiais: se a raiz não é uma folha, tem pelo menos 2 descendentes se a raiz é folha (e a árvore só tem esse nó) pode ter entre 0 e (n 1) valores 2012 Instituto Superior Técnico 84 Aplicações de Árvores B+ Ordem típica: 100. Factor de preenchimento típico: 67%. Fan-out (nº apontadores por nó) médio = 133 Capacidades típicas: Altura = 4: = 312,900,700 registos Altura = 3: = 2,352,637 registos Níveis de topo estão frequentemente no buffer: Nível 1 = 1 pag = 8 Kbytes Nível 2 = 133 pags = 1 Mbyte Nível 3 = 17,689 pags = 133 MBytes 85 43
44 Observações Geralmente um nó é do tamanho de um bloco, tipicamente 4 KB se cada entrada no índice (valor, apontador) ocupa 40 bytes, escolhe-se n 100 com 1 milhão de valores de chave e n=100 acede-se a apenas log 50 ( ) = 4 nós se a árvore fosse binária seriam precisos 20 nós cada nó exige um acesso ao disco (~20ms) 86 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros (cap 8) Índices Definições Técnicas de indexação Baseadas em árvore (tree-based) Ø Baseadas em função de dispersão (hash-based) Bitmap Impacto no desempenho da BD 87 44
45 Introdução Índices baseados em funções de dispersão (Hashbased) São os melhores para selecção por igualdade. Não podem suportar pesquisas por intervalo Existem técnicas de dispersão estáticas e dinâmicas Estática nº de contentores inalterado uma vez criado o índice Dinâmica nº de contentores varia ao longo do ciclo de vida do índice 88 Índices baseados em função de dispersão Índice é um conjunto de contentores (buckets) Um contentor armazena um conjunto de entradas de dados do índice Tipicamente um contentor ocupa uma página em disco (ou mais se existirem contentores de overflow) Função de dispersão (hash) recebe como parâmetro o valor da chave de pesquisa e determina o contentor em que se situa o registo No mesmo contentor podem haver diferentes valores da chave de pesquisa Dentro de cada contentor, as entradas são pesquisadas sequencialmente Se Alternativa 1, os contentores contêm registos de dados; senão contêm pares <k, rid> ou <k, list of rid> 89 45
46 Índice de Dispersão Estática # páginas primárias fixo, alocado sequencialmente, nunca libertado; páginas de overflow se necessário h(k) = contentor (bucket) onde pertence a entrada de dados com chave de pesquisa de valor k. (M = # de contentores) Há que distribuir os valores pelo intervalo 0... M-1. h(key) = (a * key + b) em geral funciona bem. key h(key) mod M h M-1 Primary bucket pages Overflow pages 90 Exemplo k 91 46
47 Observações Problemas na utilização de índices do tipo hash se o número de contentores for pequeno, poderá ser necessário contentores extra (overflow) se o número de contentores for demasiado grande, haverá desperdício de espaço Os sistemas actuais usam hashing dinâmico, em que o número de contentores varia dinamicamente Exige mudar a função de hash e reorganizar o índice quando o número de contentores se altera 92 Índices Bitmap" Especial para interrogação eficiente sobre várias chaves de pesquisa! Registos numa relação assumem-se numerados sequencialmente! Funciona sobre atributos que tomam um conjunto reduzido de valores distintos" Por ex: sexo, país, " Ex: nível rendimento (decomposto em níveis, como: , , , infinito)" Um bitmap é apenas um array de bits! Ideia é registar valores para colunas esparsas como uma sequência de bits, um para cada possível valor" 93 47
48 Estrutura" Um índice bitmap sobre um atributo tem um bitmap sobre cada valor do atributo. Cada bitmap tem tantos bits como registos record number 0 ID gender m income_level L1 Bitmaps for gender m f L1 Bitmaps for income_level f L2 L f L1 L m f L4 L3 L4 L Utilização" São especialmente vantajosos em interrogaçõe sobre vários atributos Respostas obtidas com operações sobre bitmaps Intersecção (AND) União (OR) Complemento (NOT) Cada operação usa 2 bitmaps do mesmo tamanho e obtém resultado num outro bitmap Ex: AND = OR = NOT = Interrogação; Quantos homens têm classe rendimento L AND = Ficam identificados os tuplos que satisfazem a condição Contagem do nº de tuplos no resultado ainda mais imediata 95 48
49 Sumário Tipos de memória Gestão do espaço em disco Gestão do tampão em memória Ficheiros de registos Heap files Organização de ficheiros (cap 8) Índices Definições Técnicas de indexação Ø Impacto no desempenho da BD 96 Escolha de Índice Agrupado Podemos ter os índices não agrupados que quisermos sobre um ficheiro, mas apenas podemos ter um índice agrupado por ficheiro apenas uma organização de cada ficheiro permite um índice agrupado Manter um índice agrupado tem custos quase como um ficheiro ordenado Apenas se justifica em geral se várias interrogações tiram partido dele Há possibilidade de os planos de execução de interrogações acederem exclusivamente a índices index-only-plans Nesse caso índices não agrupados podem ser muito eficazes 97 49
50 Exemplo 1 SELECT E.dno FROM Employees E WHERE E.age > 40 Índice B+ em age Utilidade do índice depende da seletividade da condição (nº tuplos que satisfazem a condição) Se 90% tem idade superior a 40, índice é inútil Se apenas 10% têm idade superior a 40, é útil apenas se estiver agrupado 98 Exemplo 2 SELECT E.dno, COUNT(*) FROM Employees E WHERE E.age > 10 GROUP BY E.dno Melhor opção seria ter índice agrupado em dno se condição em age é pouco seletiva Se condição em age é muito seletiva, melhor seria um índice agrupado sobre age 99 50
51 Exemplo 3 SELECT E.dno FROM Employees E WHERE E.hobby = stamps Se condição em hobby é pouco selectiva e interrogação frequente então criar índice agrupado em hobby! Se condição fosse E.eid = 552 seria ínútil ter o índice agrupado. 100 Exemplo 4 SELECT E.dno, COUNT(*) FROM Employees E GROUP BY E.dno Ficheiro ordenado por E.dno seria excelente solução Se criarmos índice em E.dno, podemos ter um index-only plan, sendo irrelevante se está agrupado
52 Exemplo 5 SELECT E.eid FROM Employees E WHERE E.age BETWEEN 20 and 30 AND E.sal BETWEEN 3000 and 5000 Índice composto <age,sal> se condições forem selectivas. Do tipo B+ apenas. Hash não serve Agrupado é melhor Ordem do índice composto indiferente se atributos igualmente seletivos 102 Exemplo 6 SELECT E.eid FROM Employees E WHERE E.age=25 AND E.sal BETWEEN 3000 and 5000 Índice B+ composto em <age,sal> e agrupado é ideal. Índice composto em <sal,age> seria pouco útil
53 Exemplo 7 SELECT AVG(E.sal) FROM Employees E WHERE E.age=25 AND E.sal BETWEEN 3000 and 5000 Índice B+ composto em <age,sal> permite responder com um index-only plan Índice composto em <sal,age> tb permite, mas um maior número de entradas de dados do índice vão ser acedidas 104 Índices em SQL SQL-92 não define sintaxe para criação de índices, embora sejam suportados pelos SGBD s comerciais Sintaxe MySQL: CREATE INDEX... CREATE INDEX IndexAge on Students(age,name) USING BTREE, DROP INDEX IndexAge
54 Catálogo de Sistema Para cada índice: estrutura (e.g. B+ tree) e campos da pesquisa Para cada relação: nome, nome do ficheiro, estrutura do ficheiro (ex: Heap file) nome de atributo e tipo, para cada atributo nome do índice, para cada índice regras de integridade Para cada vista/view: Nome e definição E ainda estatísticas, permissões, tamanho buffer pool size, etc.. Nota : os Catálogos são guardados como relações! 106 Catálogo do Sistema: Representação Modelo Relacional Rep. relacional guardada em disco." Em memória, mantido em estruturas de dados especializadas, concebidas para acesso eficiente." Relation_metadata relation_name number_of_a ributes storage_organization location Index_metadata index_name relation_name index_type index_a ributes View_metadata view_name definition A ribute_metadata relation_name a ribute_name domain_type position length User_metadata user_name encrypted_password group
55 Sumário Armazenamento e Índices Próxima aula: Transacções
Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação
Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha
Sistemas de Informação e Bases de Dados 2012/2013 Índices Alberto Sardinha Sumário Índices Criação de Índices em SQL Exemplos 2012 Ins)tuto Superior Técnico 1 Bibliografia Raghu Ramakrishnan, Database
Leia maisBases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.
Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks
Leia maisBases de Dados. Remoções em árvores B + Remoção em árvores B +
Bases de Dados Remoções em árvores B + Remoção em árvores B + Remoção procurar o registo e removê-lo do ficheiro se o apontador ou contentor ficar vazio, remover a entrada (valor, apontador) da folha se
Leia maisBases de Dados. Parte VIII. Organização Física dos Dados
Bases de Dados Parte VIII Organização Física dos Dados Ricardo Rocha DCC-FCUP 1 Unidades de Medida da Informação A unidade fundamental é o byte. 1 byte corresponde a 8 bits e cada bit permite representar
Leia maisSistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes
Leia maisOrganização de Arquivos
Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted
Leia maisDISCO MAGNÉTICO Cabeçote Trilha
1 São os componentes mais importantes da memória externa. É formado por um prato circular coberto de um material que pode ser magnetizado. Os dados são gravados e posteriormente lidos por meio de uma bobina
Leia maisCap. 5 Indexação Baseada em Hashing
Cap. 5 Indexação Baseada em Hashing Not cahos-like, together crushed and bruised, But, as the world harmoniously confused: Where order in variety we see. -- Alexander Pope Abel J.P. Gomes Bibliography:
Leia maisCaching. Caches do Sistema de Ficheiros
Caching Caches do Sistema de Ficheiros Acessos aos dispositivos de memória de massa: 4 a 5 ordens de grandeza mais lentos que os acessos a memória, Como usar caches para reduzir peso das escritas e leituras
Leia maisImplementação de Diretórios (1)
Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de
Leia maisSistemas de Arquivos. (Aula 23)
Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento
Leia maisPesquisa binária em árvores-b + Índices em SQL
Pesquisa binária em árvores-b + K= 5 5 K=9 7 8 5 6 7 8 9 Bases de Dados Fernando Silva / Departamento de Ciência de Computadores Índices em SQL criar um ficheiro de índices sobre um atributo de uma dada
Leia maisBANCO DE DADOS Índices em BD Árvores B+
BANCO DE DADOS Índices em BD Árvores B+ Bacharelado em Ciência da Computação IFCE - Campus Aracati - Semestre 2018.2 Prof. Érica Gallindo - erica.gallindo@ifce.edu.br Arquivos de banco de dados Um arquivo
Leia maisACH2025. Laboratório de Bases de Dados Aula 7. Armazenamento Físico. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratório de Bases de Dados Aula 7 Armazenamento Físico Professora: Fátima L. S. Nunes Introdução Até agora vimos os conceitos de BD e SGBD e o funcionamento geral da linguagem SQL. Mas, o que
Leia maisSistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes
Leia maisindexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016
indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 Universidade Federal do Paraná indexação e hashing Índices
Leia maisBases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.
Bases de Dados Algoritmos Custo de operação Algoritmos de selecção Algoritmo de ordenação Algoritmos de junção Outras operações Materialização e pipelining 2 1 Bases de Dados Algoritmos de selecção Algoritmos
Leia maisDois parâmetros essenciais t T tempo de transferência de um bloco. assume-se igual para operações de leitura e escrita
Bases de Dados Algoritmos de processamento Custo de operação Dois parâmetros essenciais t T tempo de transferência de um bloco assume-se igual para operações de leitura e escrita t S tempo de localização
Leia mais11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária
/8/00 Tópicos Organização e Indexação de Dados em Memória Secundária Disciplina Bancos de Dados II Prof Renato Fileto INE/CTC/UF Bancos de dados e acesso a memória secundária Noções de organização de dados
Leia maisHierarquia de Memória
Hierarquia de Memória Organização da cache AC1 Hierarquia da Memória: Organização 1 Mapeamento Directo A cada endereço de memória corresponde apenas uma linha da cache. linha = resto (endereço do bloco
Leia maisÍndices. SCE-203 Algoritmos e Estruturas de Dados II
Índices SCE-203 Algoritmos e Estruturas de Dados II Índice Em geral, um índice fornece mecanismos para localizar informações Índice de um livro ou catálogo de uma biblioteca Facilitam muito o trabalho
Leia maisDisco como gargalo. Armazenamento Secundário. Técnicas p/ minimizar o problema. Técnicas p/ minimizar o problema
Disco como gargalo Armazenamento Secundário Discos são muito mais lentos que as redes ou a CPU Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Muitos processos são disk-bound,
Leia maisACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro
ACH04 Aula Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro 1 Tipos de organização de arquivos Sequencial Lista ligada (com ou sem tabela de alocação) Indexada Um
Leia maisModelo Relacional. Josino Rodrigues
Modelo Relacional Josino Rodrigues Modelo Relacional Chave Primária Atributos PILOTO Num-cad Nome CPF Endereço 0101 João 123456 Recife Tuplas 0035 José 234567 São Paulo... 0987 Pedro 567890 Recife 2 Chave
Leia maisARQUITETURA DE COMPUTADORES UNIDADES DE MEMÓRIA. Prof: Leandro Coelho
1 ARQUITETURA DE COMPUTADORES UNIDADES DE MEMÓRIA Prof: Leandro Coelho Leandro.coelho@unifacs.br Plano de Aula 2 Memória Interna Registradores Cache L1 L2 Principal (RAM) Secundária Persistente Plano de
Leia maisFundamentos de Arquivos e Armazenamento Secundário
Fundamentos de Arquivos e Armazenamento Secundário Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Armazenamento de Dados Armazenamento primário memória
Leia maisARMAZENAMENTO SECUNDÁRIO, PARTE 2
ARMAZENAMENTO SECUNDÁRIO, PARTE 2 Professora Rosane Minghim PAE 2012: Rafael M. Martins 2012 Baseado em: Leandro C. Cintra e M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Disco como gargalo
Leia maisde Bases de Dados Exame 1
Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da
Leia maisDo Inglês HARD DISK inicialmente designado Winchester (nome de código da IBM durante o desenvolvimento do projecto)
O DISCO RÍGIDO 1 Do Inglês HARD DISK inicialmente designado Winchester (nome de código da IBM durante o desenvolvimento do projecto) Parte do computador onde são armazenados os dados DE FORMA PERMANENTE
Leia maisIntrodução à Informática. Alexandre Meslin
Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivos Dispositivos de armazenamento Sistemas de arquivos Memória ROM Memória de apenas leitura Utilizada para armazenar programas e dados
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 23: Título: Sumário: - II ; memória virtual - caches. 2015/2016 Nuno.Roma@tecnico.ulisboa.pt Arquitectura
Leia maisAcesso Sequencial Indexado
Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar
Leia maisMemória Externa. Prof. Leonardo Barreto Campos 1
Memória Externa Prof. Leonardo Barreto Campos 1 Sumário Disco Magnético; RAID; Memória Óptica; Bibliografia. Prof. Leonardo Barreto Campos 2/30 Disco Magnético O disco magnético é constituído de um prato
Leia maisSistemas de Bases de Dados
Sistemas de Bases de Dados José Júlio Alferes José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 Objectivos - Numa cadeira de Bases de Dados de uma Licenciatura, tipicamente pretende-se:
Leia maisDepartamento de Engenharia Elétrica - EESC-USP. Organização de Computadores. Memórias Parte 2. Aula 4. Profa. Profa. Luiza Maria Romeiro Codá
Departamento de Engenharia Elétrica - EESC-USP SEL-0415 Introdução à Organização de Computadores Memórias Parte 2 Aula 4 Profa. Profa. Luiza Maria Romeiro Codá Memórias Secundárias Hierarquia de Memórias
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar
- Aula 2 - ÍNDICE 1. INTRODUÇÃO Quando criamos a estrutura de um banco de dados temos que usar artifícios que melhorem a performance na recuperação dos dados que lá serão armazenados. Dentre várias técnicas
Leia maisChapter 11: Indexing and Hashing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017
Chapter 11: Indexing and Hashing José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 36 Chapter 11: Indexing and Hashing - Conceitos de base - Índices ordenados - B + -Tree Index B-Tree Index
Leia maisDepartamento de Engenharia Elétrica - EESC-USP. Organização de Computadores. Memórias Parte 2. Aula 5. Prof. Dr. Marcelo Andrade da Costa Vieira
Departamento de Engenharia Elétrica - EESC-USP SEL-0415 Introdução à Organização de Computadores Memórias Parte 2 Aula 5 Prof. Dr. Marcelo Andrade da Costa Vieira Memórias Secundárias Hierarquia de Memórias
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 17ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação Características
Leia maisSistemas de Ficheiros
Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Ficheiro Ficheiros Unidade lógica de armazenamento Espaço de endereçamento lógico contíguo
Leia maisGBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices)
GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Organização
Leia maisParte 2 Abordagem Comparativa
GBC053 Gerenciamento de Banco de Dados Organização de Arquivos Parte 2 Abordagem Comparativa Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Organização de Arquivos
Leia maisArquitetura de Computadores
Arquitetura de Computadores -Sistemas de Memória Externa por Helcio Wagner da Silva Discos Magnéticos Os discos são feitos de material plástico ou metálico, coberto por material magnetizante Os cabeçotes
Leia maisINE5408 Estruturas de Dados. Gerência de Arquivos
INE5408 Estruturas de Dados Gerência de Arquivos Introdução Arquivo: conjunto de dados em um dispositivo de armazenamento secundário (externo); tipicamente: disco, disquete, fita, CD-ROM, MO-Disc, Zip,
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisELECTRÓNICA DE COMPUTADORES. Sumário
ELTRÓNICA DE COMPUTADORES Aulas nº14 e15 Memórias tampão (s) 12.1 Sumário Princípio da localidade espacial e temporal Organização das caches s de dados: políticas de escrita e estratégias de alocação Interligação
Leia maisArquitetura de SGBD Relacionais Organização da Memória em Disco para SGBD Relacionais
Arquitetura de SGBD Relacionais Organização da Memória em Disco para SGBD Relacionais Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisOrganização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri
Organização de Arquivos Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri Organização de Arquivos Informações em arquivos são, em geral, organizadas logicamente em campos e
Leia maisBases de Dados. Parte VIII Organização Física dos Dados
Bases de Dados Parte VIII Organização Física dos Dados (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri
Leia maisAdministração e Optimização de BDs
Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 2 Entrega a 16 de Abril de 2011 2º semestre A resolução deve ser claramente identificada com o número de
Leia maisINSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados
Número: Nome: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame
Leia maisUFU/FACOM/BCC Gerenciamento de Bancos de Dados 2019/1-1 a Lista de Exercícios Prof. Ilmério Reis da Silva
UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2019/1-1 a Lista de Exercícios Prof. Ilmério Reis da Silva 1. (9.5 do livro-texto) Considere um disco com tamanho de setor igual a 512 bytes, 2000 trilhas
Leia maisCap. 3 Organização de Ficheiros e Indexação
Cap. 3 Organização de Ficheiros e Indexação If you don t find it in the index, look very carefully through the entire catalogue. -- Sears, Roebuck, and Co., Consumer s Guide, 1897 Abel J.P. Gomes Bibliografia:
Leia maisArquitetura de Computadores
Arquitetura de Computadores AULA 4 Organização de Sistemas de Computadores s Bits Sumário de Ordem de Bytes Conceitos Básicos Secundária Códigos de Correção de Erros Prof. Edilberto M. Silva Edilberto
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema
Leia maisSistemas Operacionais. BC Sistemas Operacionais
BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Estrutura do Sistema de Arquivo Gerência de espaço em disco Roteiro Cópia de segurança do sistema
Leia maisCapítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition
Capítulo 11: Implementação de Sistemas de Arquivos Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação
Leia maisOrganização de um Sistema Operativo
Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de
Leia maisHierarquia de memória
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Consultar slides originais no moodle Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Leia maisOrganização de Arquivos. SCE-183 Algoritmos e Estruturas de Dados II
Organização de Arquivos SCE-183 Algoritmos e Estruturas de Dados II 1 Arquivos Ao construir uma estrutura de arquivos, estamos impondo uma organização aos dados Qual a diferença entre os termos stream
Leia maisÍndice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações
Índice Índices Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Em geral, um índice fornece mecanismos para localizar informações No caso de arquivos, permite localizar registros
Leia maisEtapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório
UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de
Leia maisNíveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup
Memória Níveis de memória Diferentes velocidades de acesso Pequeno Alto(a) Cache RAM Auxiliar Auxiliar-Backup Memória Cache altíssima velocidade de acesso acelerar o processo de busca de informações na
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Sumário Linguagem SQL 2 História Princípio dos
Leia maisINTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos físicos de armazenamento, exemplo
Leia maisGerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)
Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela
Leia maisOrganização de Computadores Memória. Professor: Francisco Ary
Organização de Computadores Memória Professor: Francisco Ary Parte do computador responsável por armazenar dados e instruções; volátil; ou permanente sem a memória o computador não seria capaz de armazenar
Leia maisProf. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo
Prof. Benito Piropo Da-Rin memória é o local onde se armazenam dados Será???? Memória é um local ou dispositivo onde podem se armazenar dados e que permite que sejam recuperados quando deles se precisar
Leia maisBases de Dados. Parte IX: Organização Física dos Dados
Bases de Dados Parte IX Organização Física dos Dados Unidades de Medida da Informação A unidade fundamental é o byte. byte corresponde a 8 bits e cada bit permite representar ou um 0 ou um. Kilobyte (Kbyte
Leia maisAula 21 Ordenação externa
MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas
Leia maisMemoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Memoria Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Memória paginada; Tabela de páginas; Tabela de páginas hierárquica. 2014/2015
Leia maisHierarquia. Hierarquia
Algoritmos e Estruturas de Dados II Professora: Josiane M. Bueno Todo conjunto de dispositivos que são capazes de armazenar bits de informação Diferentes organizações diferentes tipos de memória Apresenta
Leia maisSumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis
Sumário Bancos de Dados Avançados Índices DCC030 - TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 - TSI: Bancos de Dados Avançados (Sistemas Informação) DCC842 - Bancos de Dados (Pós-Graduação)
Leia maisAlgoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa
Algoritmos e Estruturas de Dados II Ordenação Externa II Prof. Ricardo J. G. B. Campello As análises dos métodos de ordenação tradicionais se preocupam basicamente com o tempo de execução dos algoritmos
Leia maisDisco Rígido. Disciplina: Montagem e Manutenção de Computadores. Professor: Thiago Siva Prates
Disco Rígido Disciplina: Montagem e Manutenção de Computadores Professor: Thiago Siva Prates Disco Rígido HD (hard disk) ou disco rígido é um componente do computador que tem a função de armazenar dados.
Leia maisNoções de Informática INSS. Novo Curso. Aula 01
127767 Noções de Informática INSS Novo Curso Aula 01 http://facebook.com/profricardobeck contato@profricardobeck.com.br Mensurando Dados Sistema de numeração Binário (0 e 1) Fax/Modem 56 Kbps Placa de
Leia maisü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache
Departamento de Ciência da Computação - UFF Principal Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Principal ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória
Leia mais3 Plano de Execução de Consultas
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisHashing convencional...
Hashing M.C.F. de Oliveira & Cristina Ciferri 2006/2007 Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 1 Hashing 0 chave de busca K = LOWELL h(k) endereço 4 1 2 3 4 5...
Leia mais!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional
Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos
Leia maisArquitectura de Computadores
Arquitectura de Computadores Hierarquia de Memória; Memória Cache (13.2 e 13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto
Leia maisHashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures
Hashing externo (II) Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing Extensível Espalhamento Extensível (Extendible Hashing): permite um auto-ajuste do espaço de endereçamento do espalhamento
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Memória Externa II Prof. Sílvio Fernandes Parâmetros
Leia maisUniversidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck
Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck Banco dedados I Estruturas de Índices para Arquivos Cascavel - Pr 2009 Sumário Introdução; Índices Ordenados de nível
Leia maisMemórias cache: uma introdução
Memórias cache: uma introdução João Canas Ferreira Dezembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC) Memórias
Leia maisORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano
ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA Prof. Dr. Daniel Caetano 2014-1 Objetivos Compreender o que é a memória e sua hierarquia Compreender os diferentes tipos de memória Entender como é feito o acesso à
Leia maisINF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices)
INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Organização
Leia maisde Bases de Dados Exame 2
Ano lectivo 2009/2010 2 o semestre Administração e Optimização de Bases de Dados Exame 2 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de
Leia maisAULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual
AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica
Leia maisMemória Principal. Tiago Alves de Oliveira
Memória Principal Tiago Alves de Oliveira tiago@div.cefetmg.br Memória Principal Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e
Leia maisSistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4 Cristina Boeres Memória! É um dos componentes de um sistema de computação! Sua função é armazenar informações que são ou serão manipuladas
Leia maisAdriano J. Holanda FAFRAM. 4 e 11 de maio de 2012
Memória Adriano J. Holanda FAFRAM 4 e 11 de maio de 2012 Trilha Introdução Hierarquia da memória Memórias RAM Memória ROM Introdução Arquitetura de Von Neumann Memória Aritmética Controle E/S Unidade central
Leia mais9 Sistemas de ficheiros
9 Sistemas de ficheiros Ficheiros Directórios Implementações de sistemas de ficheiros Exemplos de sistemas de ficheiros 1 Informação a longo-prazo 1. Deve guardar grandes quantidades de dados 2. A informação
Leia maisSistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas de Memória Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Memória: O Gargalo de Von Neuman Memória principal: considerada como sendo
Leia mais