Buscar

armazenamento de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Livro Eletrônico
Aula 00
Banco de Dados Avançados para Concursos - Curso Regular 2017
Professor: Equipe Informática e TI, Thiago Rodrigues Cavalcanti
Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 1 de 56 
 
AULA 00: Armazenamento de Dados e Indexação 
Sumário 
Apresentação do professor ........................................................................................................... 1 
Motivação para o curso .................................................................................................................. 2 
Cronograma ........................................................................................................................................ 3 
Armazenamento de Dados. .......................................................................................................... 4 
1. Estrutura de arquivos ..................................................................................................... 4 
1.1. Dispositivos de armazenamento secundário ..................................................... 6 
1.2. Arquivos no disco ....................................................................................................... 10 
1.3. Organização de arquivos ......................................................................................... 14 
1.4. RAID – Redundant Array of Independent Disks ............................................. 21 
1.4.1. Níveis de RAID ......................................................................................................... 22 
1.4.2. Nested RAID ............................................................................................................. 24 
1.5. Novos sistemas de armazenamento ................................................................... 24 
Estrutura de indexação para arquivo ..................................................................................... 27 
2. Índices ................................................................................................................................ 27 
3. Índices multiníveis ......................................................................................................... 32 
4. Outros tipos de índices ................................................................................................. 33 
Questões Comentadas .................................................................................................................. 36 
Considerações finais ...................................................................................................................... 56 
Referências ....................................................................................................................................... 56 
 
Apresentação do professor 
 
Olá senhoras e senhores! Hoje começamos mais um curso relacionado a 
Banco de dados, apresentado alguns conceitos avançados sobre o assunto. 
É um prazer imenso fazer parte desta equipe de professores do Estratégia 
Concursos e ter a oportunidade de apresentar um pouco do meu conhecimento e 
experiência em concursos públicos! Gostaria, antes de começar de fato o 
conteúdo teórico desta aula, de me apresentar de forma rápida. 
Meu nome é Thiago, sou casado, tenho um filho de cinco anos. Sou cristão. 
Frequento a IPN – Igreja Presbiteriana Nacional. Sou formado em Ciência da 
Computação pela UFPE. Tenho mestrado em engenharia de software na mesma 
instituição. Frequento academia para manter a forma, mas meu hobby mesmo é 
pedalar! Decidi vender o carro e viver num desafio intermodal de transporte. 
Vou para o trabalho de bike sempre que possível! Ultimamente tenho usado 
mais Uber do que a magrela, mais isso é um detalhe! 
Onde eu trabalho? No Banco Central do Brasil! Fruto de uma trajetória de 
dois anos de estudos diários. Aposentei as canetas em 2010. Trabalho com 
análise e modelagem de dados. Já passei por equipes de desenvolvimento de 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 2 de 56 
 
software, mas, desde 2014, estou em uma nova área dentro do Departamento 
de Informática (Deinf) que trata de dados e inteligência de negócio (BI). 
Falamos um pouco sobre como está estruturado o Deinf de uma das principais 
autarquias da administração pública federal no webnário do Estratégia. 
Minha mais recente experiência com dados, seja na administração ou 
modelagem, é parte de uma estratégia profissional de alinhar meu trabalho 
diário como servidor público com minha carreira paralela de professor e 
consultor de Banco de Dados (BD) e Bussiness Inteligence (BI). A ideia é 
conseguir me especializar cada vez mais no tema, nesta nova carreira dentro da 
TI, que o mercado está denominando de cientista dos dados. 
Entrei no universo de concurso há alguns anos. Desde 2012 tenho me 
dedicado especificamente ao conteúdo de BD e BI. Tenho experiência em cursos 
presencias aqui em Brasília e em diversas partes do Brasil, bem como tenho 
gravado sistematicamente aulas on-line. É com essa bagagem que eu me 
apresento aos senhores como professor. A ideia é desenvolver um material 
completo, recheado de questões e com dicas exclusivas para ajudar você no seu 
objetivo: ser aprovado e nomeado! 
Para finalizar, não deixe de seguir minha página no Facebook® 
(profthiagocavalcanti), onde eu publico, sistematicamente, questões comentadas 
e dicas semanais. Outra atividade que mantenho regularmente são as lives via 
Periscope® (@rcthiago), toda quinta-feira, 21h, apresentamos um conteúdo 
rápido, focado em concurso que pode ajudar na sua preparação. 
Motivação para o curso 
Esse curso vai ser desenvolvido para lapidar e aprimorar os seus 
conhecimentos em banco de dados. A ideia é construir a base teórica dos 
conteúdos avançados de banco de dados que geralmente são cobrados pelas 
mais diversas bancas. Neste contexto, optamos por selecionar os assuntos de 
maior relevância para concursos públicos. 
Teremos muito trabalho pela frente. Por isso, montamos um curso teórico 
em PDF, baseado nas mais diversas bancas, e apresentando o conteúdo 
observando as variadas formas de cobrança do mesmo pelas bancas 
examinadoras. 
Teremos ainda videoaulas que apresentam o conteúdo teórico de forma 
detalhada para algumas partes da matéria. Acredito que todos os vídeos 
referentes às aulas deste curso deverão estar disponíveis até o final de 2017. 
Nosso objetivo é garantir que você tenha capacidade e conhecimento para ser 
aprovado. Logo, todo conteúdo necessário para a prova estará presente nos 
PDFs e será complementado pelas videoaulas. 
Vamos juntos? 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 3 de 56 
 
 
 
Cronograma 
Para proporcionar uma visão geral do assunto e fornecer uma linha de ação 
para o estudo da matéria dividimos o curso em cinco aulas, sendo esta a aula 
00. A aula engloba a parte de estruturas de arquivos e métodos de acesso. 
Falaremos ainda sobre indexação de banco de dados. As demais aulas, seguindo 
a ementa do curso, são apresentadas abaixo e estão distribuídas como se segue: 
EMENTA DO CURSO: Armazenamento de dados e indexação, Processamento e 
otimização de consulta, Banco de dados distribuídos e paralelos, Segurança em 
banco de dados e Noções e georreferenciamento e banco de dados orientado a 
objetos 
Pois bem, e como serão distribuídas as nossas aulas? 
Aula 00 – Armazenamento de dados e indexação 
Aula 01 - Processamento e otimização de consulta 
Aula 02 – Banco de dados distribuídos e paralelosAula 03 – Segurança em banco de dados 
Aula 04 - Noções de georreferenciamento e banco de dados orientado a 
objetos 
Definido o cronograma, vamos partir para o conteúdo da nossa aula 
demonstrativa. 
Observação importante: este curso é protegido por direitos 
autorais (copyright), nos termos da Lei 9.610/98, que altera, 
atualiza e consolida a legislação sobre direitos autorais e dá 
outras providências. 
 
Grupos de rateio e pirataria são clandestinos, violam a lei e 
prejudicam os professores que elaboram os cursos. Valorize o 
trabalho de nossa equipe adquirindo os cursos honestamente 
através do site Estratégia Concursos ;-) 
Observação importante II: todo o conteúdo deste curso 
encontra-se completo em nossos textos escritos. As 
videoaulas, caso existam, visam reforçar o aprendizado, 
especialmente para aqueles que possuem maior facilidade de 
aprendizado com vídeos e/ou querem ter mais uma opção 
para o aprendizado. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 4 de 56 
 
Armazenamento de Dados. 
O assunto da nossa aula da tratará dos aspectos físicos do banco de dados. 
Nosso roteiro terá como foco a organização de arquivos e métodos de 
acesso. Outra forma de descrever esse mesmo assunto usada por alguns 
autores é relacionar a estruturas de arquivo, indexação e hashing. Veremos 
como a estrutura física efetivamente contribui para o desempenho de um 
sistema de banco de dados. 
1. Estrutura de arquivos 
Quando estudamos estrutura de arquivos, tratamos da organização dos 
bancos de dados em locais de armazenamento e as técnicas para acessá-los de 
modo eficiente usando diversos algoritmos, alguns dos quais exigindo estruturas 
auxiliares chamadas índices. Se relembramos da arquitetura ANSI/SPARC, 
estamos falando do nível interno ou representação física dos dados. 
 
O armazenamento em diversas mídias nos leva a primeira classificação 
relevante dentro do assunto. As estruturas de armazenamento podem ser 
divididas em primárias, secundárias e terciárias. O nível primário pode ser 
operado diretamente pela CPU, essa característica faz com que ele ofereça 
acesso rápido aos dados, contudo sua capacidade de armazenamento é limitada 
e são mais caras em relação as demais. 
Os níveis secundário e terciário de armazenamento estão associados a 
memórias não voláteis que não são operadas diretamente pela CPU. Por não 
poderem ser manipuladas diretamente pela CPU, existe uma necessidade de 
transferência das informações para a memória primária. Esta operação é um 
procedimento demorado quando comparado com as demais etapas do 
processamento de consultas. Podemos listar como exemplo de armazenamento 
secundário os discos rígidos e de terciário as fitas removíveis. 
É possível ainda, separar os dispositivos físicos de armazenamento em 
volátil ou não volátil. Esse conceito se refere ao fato da informação ser ou não 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 5 de 56 
 
perdida caso falte energia no sistema. A memória RAM, sigla para Random 
Access Memory, é um tipo de memória volátil que serve para rodar aplicações 
depois que o computador já está ligado, e cujas informações são perdidas depois 
do desligamento da máquina. 
Na figura a seguir você por observar uma hierarquia de armazenamento, os 
três primeiros níveis da pirâmide tratam de armazenamento temporário. O 
quarto nível mostra os dispositivos de armazenamento permanente. Falaremos 
um pouco sobre alguns dispositivos de acesso com armazenamento temporário 
logo adiante. 
 
Existem dois tipos de memória RAM que devem ser consideradas no nosso 
estudo: DRAM e SRAM. DRAM é a sigla em inglês para Dynamic Random Access 
Memory, ou Memória de Acesso Randômico Dinâmica. Isso significa que ela 
precisa que a informação seja atualizada o tempo todo para que permaneça 
armazenada. Com isso, esse tipo de RAM gasta mais energia se comparado 
com a SRAM. 
A Memória de Acesso Randômico Estática (SRAM) consegue manter os 
bytes mesmo sem atualização contínua, os dados são perdidos somente após 
a interrupção da fonte de energia. A memória RAM estática é mais econômica, 
além de entregar uma performance melhor. Vejamos como esse assunto já foi 
cobrado em provas anteriores. 
 
1. ANO: 2015 BANCA: CONSULPLAN ÓRGÃO: HOB PROVA: TÉCNICO 
ADMINISTRATIVO - INFORMÁTICA 
A memória RAM possui como características, EXCETO: 
A Armazena os dados que o processador utiliza para trabalhar. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 6 de 56 
 
B É uma memória não volátil, pois armazena seus dados temporariamente. 
C SRAM e DRAM são tipos de tecnologia de memória RAM muito utilizados. 
D A quantidade de memória influencia diretamente na capacidade de trabalho do 
computador. 
Comentários: Vejam que acabamos de expor a características de volatilidade 
das memórias RAM, seja SRAM ou DRAM. Desta forma podemos concluir que 
existe um erro no texto na alternativa B. Como a questão pede a assertiva que 
não representa uma característica da memória, essa é a nossa resposta. 
Gabarito: B 
Quando passamos a analisar as memórias não voláteis, o primeiro tipo que 
devemos analisar seria as ROM/BIOS. ROM significa Read-Only Memory é uma 
memória somente de leitura, e está, principalmente, localizada no chip 
responsável pela iniciação do sistema. É lá que as informações básicas do 
computador ficam armazenadas, portanto não são afetadas quando o dispositivo 
é desligado. Lembra da tela azul que aparece quando apertamos F8 na 
inicialização do computador? 
 
Outros dispositivos de armazenamento permanente são os discos 
removíveis, os dispositivos de armazenamento em rede e os discos rígidos. A 
organização dos dados dentro dos discos são de extrema importância dentro do 
assunto. Dedicaremos as próximas linhas para tratar sobre como os arquivos são 
organizados no disco. 
1.1. Dispositivos de armazenamento 
secundário 
Ao definir como os arquivos são organizados nos disco, definimos por 
tabela como podemos acessá-los. Outro ponto que temos que ter em mente: Os 
dados são transferidos da memória secundária para a primária, onde a CPU pode 
manipular os dados e, em seguida, gravados de volta na memória secundária. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 7 de 56 
 
Uma organização secundária ou estrutura de acesso auxiliar permite acesso 
mais eficiente aos registros do arquivo com base em campos alternativos, além 
dos que foram usados para a organização de arquivo primário. A ideia da 
maioria desses dispositivos auxiliares se concentra na criação de índices, 
falaremos sobre eles mais adiante. 
Segundo Navathe: “É importante estudar e entender as propriedades e as 
características dos discos magnéticos e o modo como os arquivos podem ser 
organizados neles a fim de projetar banco de dados eficazes, com desempenho 
aceitável”. Independente da sua capacidade, todos os discos são feitos de um 
material magnético modelado como um disco circular fino, ver figura abaixo: 
 
Um disco pode ter apenas uma das suas faces uteis conforme podemos 
observar na parte (a) da figura acima. Outra possibilidade é ter as duas faces 
com capacidade de leitura e gravação. Podemos ainda ter um disk pack com 
vários discos em apenas um dispositivo como exemplificado na parte (b) da 
figura. 
A figura apresenta aindaos termos técnicos que descrevem uma estrutura 
de disco. Por estarem em inglês vamos aproveitar as próximas linhas para 
descrever os termos aproveitando para expor a devida palavra em português. 
Track (trilha) – é um círculo de pequena largura. Existem vários em cada 
uma das faces de um disco. Em disk packs, as trilhas de mesmo diâmetro são 
denominados cilindros. Dados armazenados no mesmo cilindro são recuperados 
mais rapidamente. Cada trilha é dividida em blocos ou setores. 
Actuator (acionador) - é o responsável por mover o braço sob a 
superfície dos pratos, e assim permitir que as cabeças façam o seu trabalho. 
Para que a movimentação ocorra, o atuador contém em seu interior uma bobina 
que é induzida por imãs. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 8 de 56 
 
Arm (braço) - Se há um componente dos discos rígidos considerado o 
Tendão de Aquiles, este é o braço de acesso. O braço deve mover muito rápida e 
corretamente através de distâncias relativamente longas. Além disso, o 
movimento do braço de acesso não é contínuo — deve acelerar rapidamente ao 
se aproximar do cilindro desejado e então desacelerar rapidamente para evitar 
passar do ponto. Consequentemente, o braço de acesso deve ser forte (para 
suportar as forças violentas provocadas pela necessidade de movimentos 
rápidos) e leve ao mesmo tempo (para que haja menor massa para 
acelerar/desacelerar). 
Read/write head (cabeça de leitura/gravação) - As cabeças de 
leitura/gravação do disco rígido funcionam somente quando os pratos do disco 
sobre os quais elas atuam estão rodando. Como é o movimento da mídia sob as 
cabeças que permite acessar ou ler os dados, o tempo que leva para a mídia 
contendo o setor desejado passar completamente por baixo da cabeça é o único 
determinante da contribuição da cabeça para o tempo total de acesso. A média é 
de 0,0086 milissegundos para um drive de 10.000 RPM com 700 setores por 
faixa. 
Spindle (eixo) - discos ficam posicionados sob o eixo, que é responsável 
por fazê-los girar (Disk Rotation) 
OK! Já sabemos como o disco funcionam e quais os elementos físicos 
principais compõe a estrutura de um HD. Agora vamos entender como os pratos 
são organizados. Cada um dos pratos presentes em um disk pack devem ser 
divididos em partes denominadas blocos e setores. Esses geralmente são 
definidos durante a formatação do disco. 
Um setor é um espaço físico em um disco formatado que contém 
informações. Quando um disco é formatado, as faixas são definidas (anéis 
concêntricos a partir do interior para o exterior do prato de disco). Cada faixa é 
dividida em fatias, conhecida como setores. Os setores podem se estender por 
um ângulo fixo ou manter uma densidade de gravação uniforme – veja a figura 
a seguir. Em discos rígidos e disquetes, cada setor pode armazenar 512 bytes 
de dados. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 9 de 56 
 
 
Um bloco, por outro lado, é um grupo de setores que o sistema 
operacional pode endereçar. Um bloco pode ter um ou vários setores (2,4,8, ou 
até 16). Quanto maior a unidade, mais setores estarão presentes em um único 
bloco. Você define o tamanho do bloco durante a formatação. Um fator que 
influencia é o tamanho do buffer do disco. 
E qual a utilidade desse buffer? Imagine que o processador está 
trabalhando na execução de uma determinada tarefe, ao mesmo tempo o 
dispositivo de entrada e saída pode ler para o buffer os próximos blocos de 
disco. Enfim, buffer é aquela parte de memória principal disponível para 
armazenamento de cópias de blocos de disco. É necessário desenvolver uma 
estratégia para o gerenciamento desse espaço. Observe a figura a seguir, ela 
tenta clarear a sua percepção sobre o uso do buffer. 
 
Uma consideração importante é que um dos objetivos dos sistemas de 
banco de dados é minimizar o número de transferências de blocos entre o disco 
e a memória. O tempo para transferência dos dados do disco para a memória é 
formado por algumas etapas. O tempo de busca, o atraso rotacional ou latência 
e o tempo de transferência. O tempo de busca é considerado o principal culpado 
pelo atraso envolvido na transferência de blocos entre o disco e a memória. 
Analisaremos a seguir como os arquivos de dados ou informações são 
gravadas dentro dos blocos de disco. Veremos como a distribuição dos registros 
de um arquivo podem fazer diferença no processamento de uma consulta. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 10 de 56 
 
1.2. Arquivos no disco 
Primeiramente precisamos da definição de registro, que trata basicamente 
de uma coleção de valores ou itens de dados. Um arquivo, por sua vez, é 
definido como uma sequência de registros. A primeira opção para compor um 
arquivo seria utilizarmos um conjunto de registros de tamanho fixo. Imagine que 
tenhamos x registros, desta forma fica fácil de definir e alocar espaço em disco, 
basta multiplicar a quantidade pelo tamanho de um registro. 
A segunda opção seria definir arquivos cujos registros tem tamanho 
variável. São várias as possibilidades para que isso aconteça. Um ou mais 
campos de um registro são de tamanho variado. Um ou mais campos podem ter 
múltiplos valores para registros individuais. Um ou mais campos são opcionais. 
O arquivo pode ser misto, composto por registros de tamanho fixo e variável. 
O Silberchatz gasta algumas páginas para evoluir com o conceito de 
tamanho fixo para tamanho variável de registro no arquivo. Aqui, vamos nos 
limitar a exemplificar os conceitos com uma figura, na nossa opinião isso é 
maios do que suficiente para provas de concurso. Vejam a imagem a seguir. 
 
Observem que na primeira figura acima temos um registro de tamanho 
fixo. Observem que sabemos a posição das informações dentro do registro 
quando observamos a definição do mesmo. Para lermos o salário do funcionário 
basta lermos o campo que começa na posição 40 do vetor de bytes. Vejam que 
temos seis campos de tamanho total de 71 bytes. 
No registro apresentado na letra (b) temos dois campos de tamanho 
variáveis que são delimitados por um caractere de separação. E temos ainda 
três campos de tamanho fixo, quais sejam: San, Salary e Job_Code. Por fim, na 
opção (c) temos um registro que apresenta algumas propriedades interessantes. 
Primeiro a descrição e o valor de cada campo aparecem dentro do registro. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 11 de 56 
 
Segundo, da mesma forma da alternativa anterior (b), temos uma marca para 
delimitar os campos. Por fim, temos um delimitador de fim registro. 
Vejam que do ponto de vista prático o que acontece nos arquivos de dados 
que conhecemos hoje é uma variação do que foi descrito acima com várias 
outras informações que compõe o cabeçalho do arquivo. Esta aula não está 
interessada neste cabeçalho, que deve ser tratada dentro do conteúdo de 
sistemas operacionais na parte de gerenciamento de arquivos. 
Reforçamos que o objetivo de uma boa organização de arquivos é localizar 
o bloco que contém um registro desejado com um número mínimo de 
transferência de bloco. Esse cabeçalho ou descritor contém informações que são 
exigidas pelos programas do sistema que acessam os registros do arquivo. 
Servem para determinar os endereços de disco dos blocos, registrar descrições 
de formato, tamanho e ordem doscampos em um registro, para registros não 
espalhados de tamanho fixo. Ou ainda registra o código de tipo de campo, 
caracteres separadores e códigos de tipo de registro, para registros de tamanho 
variado. 
Agora já sabemos como cada arquivo é composto. Que os registros fazem 
parte dos arquivos, vamos fazer a associação entre os registros e os blocos do 
disco. Imagine que o espaço restante em um bloco não seja suficiente para o 
armazenamento do próximo registro a ser inserido no arquivo. Qual atitude 
devemos tomar? 
São duas as opções possíveis. A primeira é conhecida como unspanned ou 
não espalhada, onde os registros não podem ultrapassar o tamanho do bloco. A 
outra opção é denominada spanned ou espalhada, neste caso um ponteiro no 
final do primeiro bloco aponta para o bloco que contém o restante do registro, 
caso não seja o próximo bloco consecutivo. Vejam a diferença na figura 
apresentada a seguir, a letra (a) representa a opção não espalhada e a letra (b) 
representa a opção espalhada: 
 
A figura acima nos ajuda a calcular outra definição importante dentro do 
assunto: o fator de blocagem (Bfr). Seja B o tamanho do bloco e R o tamanho 
do registro, se B ≥ R, bfr = べB/Rぺ (função piso da divisão). Esse valor define a 
quantidade registros por bloco de disco. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 12 de 56 
 
Para alocar os blocos de arquivos no disco, o ideal é que tenhamos uma 
alocação contínua. Esta posição dos blocos no disco torna a litura mais rápida, 
principalmente, se tiver utilizando uma buffer de leitura. Outra opção para 
alocação do arquivo seria a forma ligada. Nela cada bloco contém um ponteiro 
para o próximo. Isso facilita a expansão do arquivo, contudo torna a leitura mais 
lenta. 
Podemos juntar as duas opções acima criando clusters de bloco. Nele 
temos conjuntos de blocos contínuos para cada segmento de arquivo. A última 
opção seria a alocação indexada, onde um ou mais blocos de índice contêm 
ponteiros para os blocos de arquivos reais. 
Quando pensamos em discos rígidos, o endereço de hardware de um bloco 
é uma combinação de número de cilindro, número de trilha e número de 
bloco, ele é fornecido ao hardware de E/S do disco. Algumas características dos 
discos são o endereçamento por acesso aleatório, a transferência de dados para 
memória principal que ocorre em unidades de blocos. Esses blocos tem um 
endereçamento físico, conhecido como endereço de hardware, um endereço 
lógico, denominado LBA – Logical Block Address, e o endereço de buffer que é 
usado na leitura. Veja a figura abaixo uma foto de um disco com alguma das 
suas unidades ou estruturas apontadas. 
 
Os HDs são conectados ao computador por meio de interfaces capazes de 
transmitir os dados entre um e outro de maneira segura e eficiente. Há várias 
tecnologias para isso, sendo as mais comuns os padrões IDE, SCSI e, 
atualmente, SATA. 
O controlador de disco (HDC) é comumente embutido na unidade de disco. 
Ele controla a unidade de disco e interliga ao sistema de computação, 
geralmente por meio de uma interface. O controlador aceita comandos de alto 
nível de E/S e controla a execução. A localização dos dados no disco é um 
gargalo principal nas aplicações de banco de dados. O tempo de E/S é 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 13 de 56 
 
constituído pelo somatório do tempo de busca, do atraso rotacional ou latência e 
do tempo de transferência. 
Outro dispositivo comum à placa lógica é um pequeno chip de memória 
conhecido como buffer (ou cache). Cabe a ele a tarefa de armazenar pequenas 
quantidades de dados durante a comunicação com o computador. Como este 
chip consegue lidar com os dados de maneira mais rápida que os discos rígidos, 
seu uso agiliza o processo de transferência de informações. No mercado, 
atualmente, é comum encontrar discos rígidos que possuem buffer com 
capacidade entre 2 MB e 64 MB. 
Já temos os arquivos e seus registros! Que tal agora aprendermos como 
fazer operações sobre eles? Apresentamos abaixo um conjunto de operações 
que são executadas para recuperação de informações em um arquivo. 
 
 Estas operações, exceto open e close, são chamadas operações um 
registro por vez, pois cada uma se aplica a um único registro a cada instante. 
Outra operação importante é o scan, vista no quadro abaixo: 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 14 de 56 
 
 
 Existem algumas outras operações que podem ser fornecidas pelo SGBD 
ou pelo sistema de entrada e saída do SO. Essas operações são responsáveis por 
retornar ou manipular mais de um registro que satisfaça a uma determinada 
condição. Observem a lista no quadro a seguir: 
 
Agora que já conhecemos os princípios básicos dos arquivos vamos seguir 
para entender sua organização. 
1.3. Organização de arquivos 
A organização de arquivo e métodos de acesso são estudas em conjunto 
mais possuem definições distintas. Antes de começarmos a tratar dos termos 
práticos, vamos fazer um exercício mental. Pegue o livro que está mais 
próximo de você! Procure a expressão banco de dados. Você tem várias formas 
de executar essa pesquisa. Supondo que seja um livro técnico de Tecnologia da 
Informação, você pode folhear as páginas até encontrar o termo solicitado. 
Outra opção seria pesquisar no índice, ou no índice remissivo, que geralmente 
é colocado ao final do livro. 
Na história que acabamos de contar o livro é o arquivo, e a forma como 
eles está estruturado é conhecido como organização. O método de acesso é o 
passo-a-passo que você segue para chegar ao assunto que ti interessa. Após a 
nossa rápida metáfora, vamos agora para os termos e conceitos mais formais 
sobre o assunto. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 15 de 56 
 
A organização de arquivos refere-se à organização dos dados de um 
arquivo em registros, blocos e estruturas de acesso. Inclui o modo como 
registros e blocos são colocados no meio de armazenamento e interligados. Os 
métodos de acesso oferecem operações que podem ser aplicadas a um 
arquivo. É possível aplicar vários métodos de acesso a uma organização de 
arquivos. 
Alguns métodos de acesso, porém, só podem ser aplicados a arquivos 
organizados de certas maneiras. Por exemplo, não podemos aplicar o método 
de acesso indexado a um arquivo sem um índice. Várias técnicas gerais, como 
ordenação, hashing e indexação, são usadas para criar métodos de acesso. 
As formas de organização de arquivos podem ser classificadas em: 
registros desordenados, conhecido também como arquivo de heap; registros 
ordenados ou arquivo classificado; registros com hashing; registros mistos; e 
B-tree (árvore). Falaremos de cada um deles a partir de agora. 
Os arquivos de registros desordenados ou arquivos de heap (Heap 
files) são organizados na ordem em os registros que são inseridos no arquivo. 
A principal característica é o fato de novos registros serem sempre inseridos no 
final do arquivo. Isso garante uma inserção extremamente eficiente! Contudo a 
pesquisa é feita de forma linear, lendo todos os registros em ordem, o que 
torna o tempo de leitura alto quando comparado com outras organizações. 
Outro problema é a exclusão que deixa espaço livre. Existem algumas formas 
de resolver esse problema. 
Uma delas é usar o espaço de registros excluídos aoinserir novos 
registros, embora isso exija uma manutenção extra para se manter informado 
sobre os locais vazios. Outra opção é usar a reorganização de arquivo para 
reduzir os espaços livre resultantes da exclusão. Todas as opções acabam por 
requerer processamentos adicionais. 
Para ler todos os registros na ordem dos valores de algum campo, 
criamos uma cópia classificada do arquivo. A classificação é uma operação cara 
para um arquivo de disco grande, e técnicas especiais de classificação externa 
são utilizadas. Uma solução é ter os arquivos já ordenados. 
Os arquivos de registros ordenados, classificados ou sequencial são 
armazenados de forma ordenada de acordo com algum campo do registro, 
conhecido como campo de ordenação. Se esse campo for a chave do registro 
em questão, também podemos chama-la de chave de ordenação. As vantagens 
desta forma de organização são uma leitura mais eficiente dos registros, 
carregar o próximo registro, em geral, não precisar recarregar o bloco do disco 
e a possibilidade de usar busca binária. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 16 de 56 
 
Vejamos um exemplo para verificarmos essas características. Observem a 
relação EMPLOYEE descrita na figura abaixo. A figura representa blocos com 
informações dos funcionários ordenadas alfabeticamente. Percebam que 
podemos fazer uso de pesquisa binária sobre os blocos. Os arquivos ordenados 
estão em blocos e armazenados em cilindros contíguos para minimizar o tempo 
de busca. 
Os arquivos de registros ordenados, porém, não oferece vantagem para 
busca por campos diferentes do ordenado. A inserção e a exclusão de registros 
são operações dispendiosas. Na inclusão podemos ter que deslocar, em média, 
metade dos registros. Podemos então deixar espaços em branco em cada 
bloco, para evitar que o deslocamento supere o âmbito do bloco; ou criar um 
arquivo overflow ou transação. Com essa técnica, o arquivo ordenado real é 
chamado de arquivo principal ou mestre e outro arquivo armazena os novos 
registros que excedem o tamanho do bloco. Isso aumenta o custo e 
complexidade do algoritmo de escrita, pois um arquivo separado do principal 
tem que ser consultado e analisado me todas as operações. 
Existem também problemas com a exclusão, que são considerados menos 
graves, a solução é usar marcadores e fazer a reorganização do arquivo. A 
preocupação com modificações só deve ser relevante se alterarmos valores de 
campos que fazem parte do campo de ordenação. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 17 de 56 
 
 
A próxima forma de organização de arquivos são os arquivos de acesso 
direto ou arquivos de hash que utilizam as técnicas de hashing. A ideia por 
trás do hashing é oferecer uma função h, chamada função de hash ou função 
de randomização, que é aplicada ao valor do campo de hash de um registro e 
gera o endereço do bloco de disco em que o registro está armazenado. Vejam 
o funcionamento do hash na figura abaixo: 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 18 de 56 
 
 
A Condição de pesquisa precisa ser uma condição de igualdade em um 
único campo conhecido como campo hash ou chave hash. Vamos aproveitar a 
oportunidade para falar um pouco das técnicas de hashing existentes. Também 
é utilizado como uma estrutura de pesquisa interna em um programa. Sempre 
que um grupo de registros é acessado exclusivamente pelo uso do valor de um 
campo, por exemplo, CPF. Basicamente temos os seguintes tipos de hashing: 
hashing interno, hashing externo para arquivos de disco e técnicas de hashing 
que permitem a expansão dinâmica do arquivo. 
Na minha concepção o Navathe e outros autores apresentam hashing 
interno na teoria para podermos entender como ele funciona. Nosso objetivo é 
fazer com que você entenda o que acontece quando aplicamos a função hash 
ao campo de hash. E o mais importante: após entender que o número de 
valores possível da função é muito menor do que todas as entradas, as colisões 
tornam-se, portanto, uma realidade. Mas como tratar as colisões? É o que 
veremos mais adiante. 
O hash interno pode ser entendido por meio da figura anterior. A 
aplicação da função de hash nos leva a uma posição em uma tabela que 
armazena um registro. Vejam que existe a possibilidade da função nos levar 
para o mesmo endereço de memória, é o que chamamos de colisão. A 
pergunta mais uma vez é: como tratar as colisões? 
A primeira forma é usar o endereçamento aberto que usa a próxima 
posição do array de registro que está disponível. Outra opção é usar o 
encadeamento, neste caso utilizamos uma lista ligada onde o registro 
armazenado na posição do array aponta para o próximo registro que tem como 
resultado da função hash o mesmo valor. No encadeamento, o novo registro é 
colocado em um local de overflow e um ponteiro aponta para ele. Por fim, 
temos a possibilidade de utilizar o hash múltiplo ou double-hash, neste caso 
existe uma nova função que aplicaremos o nosso valor de entrada para 
obtermos um endereço de memória disponível. 
No hash para arquivos em disco, uma tabela mantida no cabeçalho do 
arquivo converte o número do bucket para o endereço do bloco de disco 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 19 de 56 
 
correspondente. O problema da colisão é menos sério, pois, 
independentemente de quantos registros possam caber no bucket eles podem 
ser definidos por hashing ao mesmo bucket sem causar problema. 
Esse modelo é conhecido como hashing externo. O bucket é o espaço de 
endereços de destino, é um bloco de disco ou um cluster de bloco de disco 
contíguos. Uma função mapeia uma chave no bucket relativo e não no 
absoluto. Até aqui o endereçamento é estático, não é possível crescer ou 
diminuir o tamanho do espaço de endereçamento do hash. Os próximos 
modelos estão baseados na criação de buckets de forma dinâmica. 
A próxima opção é usar o hashing extensível que armazena uma 
estrutura de acesso fora do arquivo, semelhante a indexação. O hash 
extensível usa um diretório dinâmico de registros que armazena uma tabela, 
onde cada registro contém um ponteiro para um balde (tabela que armazena 
os registros) e cada balde tem um número fixo de itens. 
A ideia é usar um diretório de ponteiros para baldes e duplicar o número 
de baldes através da duplicação do diretório, particionando justamente o balde 
que transbordou. Veja a figura abaixo: 
 
Outra opção seria utilizar o hashing linear que não requer estruturas 
adicionais. Essa abordagem usa buckets que são estruturas com espaços para 
mais de um registro, equivale a baldes alocados em uma estrutura sequencial. 
Cada bucket possui um tamanho fixo M, ou seja, armazena M chaves. Inicia-se 
a estrutura com um número fixo de buckets. Caso o espaço do bucket estoure, 
é utilizado um bucket de overflow que pode ser implementado como uma lista 
encadeada. Um ponteiro p determina qual o bucket a ser duplicado. Veja a 
figura abaixo para entender melhor: 
0Aula Demonstrativa
0
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 20 de 56 
 
 
A criação de novo bucket é determinado pelo fator de carga da estrutura. 
Ou seja, vários buckets podem conter maisregistros do que o espaço 
determinado e fazer uso de buckets de overflow. A cada inserção, é verificado 
o fator de carga. Caso seja maior do que um limite estipulado, um novo espaço 
de alocação é determinado. 
Existem ainda outras organizações de arquivos primárias. Temos os 
arquivos de registro misto que possui diferentes tipos de registros e as B-
tree que são árvores balanceadas projetadas para trabalhar com dispositivos 
de armazenamento secundário como discos magnéticos. 
Considerando a forma como o arquivo está organizado, o sistema de 
arquivos pode recuperar registros de diferentes maneiras. Antigamente, o 
acesso só poderia ser feito de modo sequencial, neste caso, os sistemas 
operacionais só armazenavam arquivos em fitas magnéticas, com isso, o 
acesso era restrito a leitura dos registros na ordem em que eram gravados e a 
gravação de novos registros só era possível de ser feita no final do arquivo. 
Este tipo de acesso, chamado de acesso sequencial, é próprio da fita 
magnética que, como meio de armazenamento, possuía esta limitação. 
O próximo método seria o acesso direto. Com o advento dos discos 
magnéticos, foi possível a introdução de métodos de acesso mais eficientes. O 
primeiro foi o acesso direto, que permite a leitura/gravação de um registro 
diretamente na sua posição. Este método é realizado através do número do 
registro que é a sua posição relativa em relação ao início do arquivo. É 
importante ressaltar que o acesso direto somente é possível quando o arquivo 
é definido com registros de tamanho fixo. 
Temos também o acesso indexado. Esse método de acesso mais 
sofisticado, que tem como base o acesso direto, é o chamado acesso indexado 
ou acesso por chave. Para este acesso, o arquivo deve possuir uma área de 
índice onde existam ponteiros para os diversos registros. Sempre que a 
aplicação desejar acessar um registro, deverá ser especificada uma chave 
através do qual o sistema pesquisará na área de índice o ponteiro 
correspondente. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 21 de 56 
 
Após apresentar essa rápida introdução as organizações de arquivos e 
métodos de acesso, nós vamos seguir em frente falando sobre RAID e novos 
sistemas de armazenamento. 
1.4. RAID – Redundant Array of 
Independent Disks 
Focado em paralelizar o acesso aos discos o RAID - Redundant Arrays of 
Inexpensive (Independent) Disks – traz consigo duas principais vantagens para 
a sua implementação: maior confiabilidade e melhor desempenho. Já vimos 
que o gargalo no processamento de dados acontece na maioria das vezes por 
conta do tempo de E/S. RAID veio nivelar as diferentes taxas de melhoria de 
desempenho do disco contra as da memória e dos microprocessadores. 
Ele possui implementações em hardware e software. Nas implementações 
em hardware as vantagens são o fato de ser transparente para o sistema 
operacional e não utilizar recursos do processador. Em implementações por 
software, o sistema operacional gerencia o RAID através da controladora de 
discos, sem a necessidade de um controlador de RAIDs, o que torna a 
implementação mais barata. 
O conceito se baseia na ideia de um grande array de pequenos discos 
independentes, que atuam como um único disco lógico maior. Para isso eles 
fazem o que chamamos de striping de dados que nada mais é do que o emprego 
do paralelismo para melhorar o desempenho, alocando cada parte das 
informações em diferentes discos de forma que elas possam ser lidas 
simultaneamente. 
O striping de dados pode acontecer em diferentes níveis. striping em nível 
de bit, como o exemplo da figura abaixo, que acontece em quatro discos. Temos 
também o striping em nível de bloco, também apresentado em quatro discos. O 
paralelismo tem dois objetivos: balancear a carga e realizar grandes acessos em 
paralelo. Esse paralelismo, portando, influência diretamente no desempenho. 
 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 22 de 56 
 
Outro ponto importante é a confiabilidade que é uma consequência da 
redundância. O espelhamento ou sombreamento dos dados vai duplicar a 
informação. Neste caso, você teria os dados em diferentes discos e poderia 
também paralelizar a leitura. O ponto importante aqui é a resiliência do sistema 
quando um disco falha. Como existe o espelhamento, as requisições são 
repassadas para o disco que continua ativo. O que acaba acontecendo nestes 
casos é uma queda de performance por falta do paralelismo, que pode ser 
retomando assim que o disco for restaurado. 
Outra possibilidade que garante a confiabilidade é a utilização do código de 
Hamming ou bits de paridade. A ideia é conseguir recuperar um ou mais discos 
em uma composição de RAID por meio das informações contidas nos demais 
discos que continuam ativos. A forma pela qual os bits de paridade estão 
divididos entre os discos é uma das propriedades que definem a classificação do 
RAID em diferentes níveis. 
1.4.1. Níveis de RAID 
Vamos tratar primeiramente dos níveis sete níveis de RAID mais comuns na 
literatura. Vejamos cada um deles na lista abaixo: 
RAID 0 - também conhecido como striping de disco, é uma técnica que 
divide um arquivo e distribui os dados em todas as unidades de disco em um 
grupo RAID. Não existe nenhum espelhamento ou controle de paridade. Neste 
caso todos os discos funcionam como apenas um, multiplicando a performance 
geral pelo número de discos utilizados no conjunto (desde que o sistema 
operacional ofereça suporte), unicamente com o objetivo de aumentar o 
desempenho. 
RAID 1 – Conhecido como discos espelhados. É utilizado quando a 
confiabilidade dos dados gravados é a maior preocupação, utiliza no mínimo 
dois discos e basicamente copia os dados de um em outro. Possui uma 
performance geral menor em comparação a um disco comum e não utiliza 
paridade. 
RAID 2 - é um tipo de solução de armazenamento que surgiu no final dos 
anos 1980. Naquela época e nos anos seguintes, os HDs não tinham o mesmo 
padrão de confiabilidade que têm hoje. Por este motivo, foi criado o RAID 2. Ele 
é, até certo ponto, parecido com o RAID 0, mas conta com um mecanismo de 
detecção de falhas do tipo ECC (Error Correcting Code). Hoje, este nível 
quase não é mais utilizado, uma vez que praticamente todos os HDs já possuem 
o referido recurso implementado internamente. 
RAID 3 - reserva uma unidade de armazenamento apenas para guardar as 
informações de paridade, razão pela qual são necessários pelo menos três 
discos para montar o sistema. A paridade é intercalada por bit. Este nível 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 23 de 56 
 
também pode apresentar maior complexidade de implementação pelo fato de as 
operações de escrita e leitura de dados considerarem todos os discos em vez de 
tratá-los individualmente. Vejam um exemplo de RAID 3 na figura a seguir. 
 
RAID 4 - também utiliza o esquema de paridade, tendo funcionamento 
similar ao RAID 3, com o diferencial de dividir os dados em blocos maiores e de 
oferecer acesso individual a cada disco do sistema. Neste caso a paridade é 
intercalada por bloco de disco. Este nível pode apresentar algum 
comprometimento de desempenho, pois toda e qualquer operação de gravação 
exige atualização na unidade de paridade. Por este motivo, seu uso é mais 
indicado em sistemas que priorizam a leitura de dados, ou seja, que realizam 
muito mais consultas do que gravação. 
RAID 5 - utiliza paridade para a verificação de dados em todos os discos 
utilizados, sendo muitoparecido com o RAID 0, mas com tolerância a falhas 
devido à utilização de um ECC (Error Correcting Code). É umas das opções mais 
vantajosas, mas tem uma implementação difícil. Veja a distribuição da paridade 
entre os diferentes discos na figura abaixo. 
 
RAID 6 - se aplica ao chamado esquema de redundância P + Q usando 
código de Reed-Soloman para proteger contra até duas falhas de discos 
simultâneas. Trata-se de uma especificação mais recente e parecida com o RAID 
5, mas com uma importante diferença: trabalha com dois bits de paridade. 
Observem a figura a seguir com uma abstração da implementação de RAID 6. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 24 de 56 
 
 
1.4.2. Nested RAID 
Existe ainda a possibilidade de unir os conceitos das diferentes 
implementações de RAID listadas anteriormente. As possibilidades mais 
conhecidas são RAID 0+1 e RAID 10. 
Tal como você já deve ter imaginado, o nível RAID 0+1 é um sistema 
"híbrido" (hybrid RAID), ou seja, que combina RAID 0 com RAID 1. Para isso, o 
sistema precisa ter pelo menos quatro unidades de armazenamento, duas para 
cada nível. Assim, tem-se uma solução RAID que considera tanto o aspecto do 
desempenho quanto o da redundância. 
Há uma variação chamada RAID 10 (ou RAID 1+0) de funcionamento 
semelhante. A diferença essencial é que, no RAID 0+1, o sistema se transforma 
em RAID 0 em caso de falha, no RAID 1+0, o sistema assume o nível RAID 1. 
Vejam na figura abaixo um exemplo da implementação das duas possibilidades 
tratadas aqui. 
 
1.5. Novos sistemas de armazenamento 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 25 de 56 
 
Passaremos agora a análise dos dispositivos de armazenamentos. Nossa 
intenção é apresentar uma descrição sucinta para os seguintes termos: DAS, 
SAN, iSCSI, NAS. 
Nosso estudo começa no DAS (Direct Attached Storage). São os primeiros 
dispositivos de armazenamento e suas características servirão de base para a 
comparação com os demais sistemas de armazenamento. Suas unidades de 
armazenamento são os blocos de disco. Um dos seus problemas é a 
conectividade, considerada a principal limitação do DAS. Entre o host e o 
dispositivo não há elementos de rede (como hub, switches). Não atua como 
servidor, é um conjunto de HDs acessado apenas por uma ou várias máquinas 
(desde que o dispositivo possua várias portas). Os principais 
protocolos/barramentos usados pelo DAS são ATA, SATA, USB, Firewire, eSATA, 
SCSI, SAS, Fibre Channel. Observe a figura abaixo para entender um exemplo 
da utilização do DAS. 
 
Outro conhecimento importante para o entendimento do assunto é a 
definição de NFS. Em sistema de arquivos distribuídos podemos compartilhar 
arquivos e diretórios entre computadores conectados em rede. É importante 
tornar o acesso remoto transparente para o usuário, por exemplo, 
disponibilizando as áreas de trabalho dos usuários em toda a rede. 
O NFS é um serviço de rede que permite o compartilhamento transparente 
de sistemas de arquivos ou diretórios entre os nós de uma rede. Permite que os 
administradores criem sistemas de arquivo centralizados que facilitam tarefas de 
gerência tais como manutenção e suporte. Em outras palavras, o NFS é um 
mecanismo que permite você montar um disco de uma máquina remota na sua, 
usando TCP/IP ou outro meio de transporte. Vejam que o cliente não precisa ter 
disco local. É possível ainda rodar NFS em redes de longa distância. 
Passaremos agora aos conceitos de NAS, conhecido armazenamento 
conectado à rede, são servidores que não oferecem quaisquer dos serviços 
comuns a um servidor, mas simplesmente permitem o acréscimo de 
armazenamento para compartilhamento de arquivos. Conhecidos também como 
appliances. 
Um NAS pode armazenar quaisquer dados que apareçam na forma de 
arquivos, como caixas de e-mail, conteúdo Web, backups de sistema remoto e 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 26 de 56 
 
assim por diante. Alto grau de escalabilidade, confiabilidade, flexibilidade e 
desempenho. NAS possui maior independência do sistema operacional do cliente 
em comparação com os servidores de arquivo dos sistemas operacionais. 
O próximo tipo de armazenamento que seria a rede de área de 
armazenamento (SAN - Storage Attachment Network). Em uma SAN, os 
periféricos de armazenamento on-line são configurados como nós em uma rede 
de alta velocidade e podem ser conectados e desconectados dos servidores de 
uma maneira bastante flexível. 
Várias empresas têm surgido como provedores de SAN e fornecem as 
próprias topologias proprietárias. Elas permitem que os sistemas de 
armazenamento sejam colocados a distâncias maiores dos servidores e oferecem 
diferentes opções de desempenho e conectividades. Para implementar uma SAN 
são necessários: um switch SAN, um dispositivo de armazenamento e um 
servidor. Vejam um exemplo de uma rede SAN na figura abaixo: 
 
Vamos falar agora dos sistemas de armazenamento que usam iSCSI. O 
iSCSI é um protocolo que permite que os clientes enviem comandos SCSI para 
dispositivos de armazenamento SCSI em canais remotos. Ele não exige 
cabeamento especial por meio de Fibber Channel pois usa o protocolo IP. 
Nota: Fibre channel protocol – FCP é padrão desenvolvido especialmente 
para uso de unidades remotas de armazenamento e de alta velocidade. 
Falamos sobre os padrões de dispositivos de armazenamento que 
interessam para concursos públicos. A figura a seguir mostra as camadas 
presentes na arquitetura de cada um desses padrões. Em seguida, partimos para 
tratar do assunto de indexação de arquivos. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 27 de 56 
 
 
Estrutura de indexação para arquivo 
Aqui faremos uma análise da estrutura de indexação usada dentro do 
contexto de banco de dados. 
2. Índices 
O primeiro conceito que devemos ter em mente do assunto é a definição de 
índices. Um índice é um mecanismo utilizado para melhorar a velocidade de 
acesso aos dados. Ele é composto por uma chave que é um atributo ou conjunto 
de atributos usado para procurar registros em um arquivo. Ele também possui 
um ponteiro que consiste em um identificador para um bloco de disco, além do 
deslocamento dentro do bloco para encontrar o registro. 
Um arquivo de índice consiste em um conjunto de registros com o formato 
apresentado na figura abaixo. Esse registro se dá o nome de registro de índice 
ou entrada de índice. 
 
Como uma técnica para criar estruturas de dados auxiliares, os índices 
agilizam a busca e a recuperação de registros, para isso eles envolvem 
armazenamento de dados auxiliares. Esses dados são armazenados nos arquivos 
de índices. Alguns tipos de acesso podem se beneficiar dos índices, por exemplo, 
0Aula Demonstrativa
==0==
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 28 de 56 
 
a localização de registro com um valor especificado e a localização de registros 
em um intervalo especificado de valores. 
É necessário saber se esse benefício de fato traz um ganho de desempenho 
ao sistema de banco de dados. Avaliar os índices para medir seus efeitos na 
performance é um passo importante. Vários SGBDs possuem utilitários que 
ajudama quantificar os efeitos pretendidos com a criação de índices sobre 
tabelas. Esse valor é baseado em alguns fatores, entre eles, o tempo de acesso, 
inserção e deleção; o overhead de espaço em disco e os métodos de acesso 
suportados. 
Os arquivos de índices são geralmente muito menores que os arquivos 
originais. Dois tipos de índices são mais conhecidos. Os índices ordenados onde 
as chaves de busca são armazenadas de forma ordenada. E os índices hash, 
neles as chaves são distribuídas uniformemente através de “bucktes” usando 
uma função hash. 
Vamos falar um pouco mais sobre a classificação dos índices. Num primeiro 
momento focaremos nos índices ordenados de único nível. Eles são 
semelhantes aos índices remissivos que aparecem ao final de livros técnicos. O 
arquivo de índice deve conter o campo de índice ou atributo de indexação. A 
primeira classificação para índices divide os índices em três grupos: os 
primários que usam a chave de ordenação do arquivo, os de clustering que 
são definidos para atributos não chave (arquivo agrupado), e os secundários 
sobre campos não chave primária do arquivo. 
Os índices primários possuem uma entrada de índice ou registro de índice 
no arquivo de índice para cada bloco no arquivo de dados. Cada entrada de 
índice tem um valor do campo da chave primária para o primeiro registro em um 
bloco e um ponteiro para esse bloco. Veja que o arquivo está ordenado pelo 
menos atributos do índice. Imagine que os nomes Flavia e Vinicius aparecem no 
arquivo de índice, o primeiro apontando para o bloco 01 e o outro apontando 
para o bloco dois. Eu não preciso da entrada Thiago no arquivo de índice, mas se 
eu fizer uma busca por Thiago eu sei que ele está no mesmo bloco de Flavia. 
Esse processo de ordenação sequencial do arquivo, leva a uma ocupação de 
menos espaço na memória. 
Os problemas surgem na inserção e remoção, principalmente quando temos 
de fazer reorganização dos registros nos blocos de disco. Quando isso ocorre 
temos que reajustar também o arquivo de índices. Vejam abaixo um exemplo de 
índices primários. O primeiro registro de cada bloco é chamado de registro 
âncora ou âncora do bloco. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 29 de 56 
 
 
Os índices de clustering agilizam a recuperação de todos os registros que 
tem o mesmo valor para o campo de agrupamento. Existe, neste casso, uma 
entrada para cada valor distinto do campo de agrupamento, juntamente com um 
ponteiro para o primeiro bloco no arquivo com o valor. Semelhantemente aos 
índices primários, eles têm problemas com a inserção e remoção de registros. 
Neste caso é sempre necessário avaliar possíveis mudanças de blocos. Uma 
solução é reservar espaço para expansão dentro de cada bloco. A figura a seguir 
apresenta a distribuição de um índice de clustering. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 30 de 56 
 
 
Após observar os índices primários e de clustering, fica mais fácil 
entendermos outra classificação de índices que os divide em densos ou 
esparsos. Um índice é dito denso quando existe uma entrada de índice no 
arquivo para cada valor de chave de pesquisa e, portanto, para cada registro no 
arquivo. Definimos um índice como esparso, quando temos entradas de índices 
apenas para alguns valores de pesquisa. Os índices primários e de clustering são 
categorizados como esparsos. 
Mas professor, e os índices densos? Você não vai mostrar nenhum 
exemplo!? Claro que vou ... vamos falar sobre eles agora! Mais especificamente 
sobre os índices secundários que podem ser criados em campos que são 
chaves candidatas ou não. Novamente é um arquivo ordenado com dois campos 
<campo índice, ponteiro para o bloco ou registro>. Neste caso não podemos 
usar âncoras de bloco, pois o arquivo de registros não está ordenado pelo valor 
do índice. Todos os valores possíveis de busca devem estar no índice! Ele, 
portanto, usa um espaço maior de armazenamento que o primário e a sua 
ordenação é lógica e não física. Veja um exemplo na figura a seguir: 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 31 de 56 
 
 
Quando o índice não é uma chave candidata, podemos ter mais de um 
registro para cada valor de entrada no arquivo de índices. Desta forma, 
precisamos de algum artifício para termos ponteiros ou referências para todos os 
registros associados a um determinado índice. Uma solução é a criação de um 
bucket ou bloco de ponteiros intermediário que tem a lista de todas as 
ocorrências. Veja a figura para entender melhor o que estou explicando. 
 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 32 de 56 
 
Para finalizar, apresentamos abaixo uma lista com as características de cada 
um dos índices discutidos até o momento. 
 
3. Índices multiníveis 
Para falarmos dos índices mulitníveis vamos começar recorrendo a uma 
imagem que está apresentada abaixo. 
 
Vejam que temos dois tipos de arquivos de índices, os internos e os 
externos. A ideia é diminuir a quantidade de transferências de blocos de índices 
entre a memória e o disco. Neste contexto criamos uma estrutura de árvore que 
começa como os índices externos, segue por meio dos índices internos e o 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 33 de 56 
 
último nível do índice interno aponta para os blocos de dados propriamente 
ditos. Como esse contexto conseguimos entender o objetivo dessa 
hierarquização dos índices. Reduzir a parte do índice que continuamos a 
pesquisar por bfri, o fator de bloco para o índice. 
O primeiro nível do arquivo de índice é conhecido como base. Ele é 
ordenado com um valor distinto para cada ki. Só exigimos um nível subsequente 
se o nível anterior não couber em n blocos de disco. O último nível é conhecido 
como topo. Vejam um exemplo de índice multinível na figura abaixo. 
 
4. Outros tipos de índices 
Vamos tratar agora de outros tipos de índices. Primeiramente faladaremos 
dos índices de hash. Um índice de hash consiste em uma coleção de buckets 
organizados em uma matriz. Uma função de hash mapeia chaves de índice 
para buckets correspondentes no índice de hash. A figura a seguir mostra três 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 34 de 56 
 
chaves de índice mapeadas para três buckets diferentes no índice de hash. 
Para fins ilustrativos, o nome da função de hash é f(x). 
 
Outro índice interessante usa o que chamamos de mapa de bits. O índice 
de bitmap é um tipo de índice que pode ser utilizado para otimizar consultas 
que utilizam como filtro de dados, colunas que possuem baixa cardinalidade, 
ou seja, colunas que possuem pouca variação de valores nas linhas de uma 
tabela. Ao criar um índice bitmap em uma coluna, o SGBD monta um mapa de 
bits para todas as linhas da tabela, contendo todos os valores possíveis para a 
coluna. Para cada linha há um mapa de todos os valores possíveis da coluna 
indexada. O SGBD então grava um bit 1 onde o valor existe em uma 
determinada linha e 0 para os valoresque não existem nesta linha. Vejam o 
exemplo na figura abaixo. 
 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 35 de 56 
 
Temos ainda a indexação baseada em função. O algoritmo do otimizador 
dos SGBD comerciais desconsidera, na montagem do plano de acesso, o índice 
associado a uma coluna chave referenciada em uma função como, por exemplo, 
TO_CHAR ou TO_NUMBER. Para suplantar essa limitação, os índices B-tree ou de 
bitmap podem ser criados com a inclusão de uma função – padrão SQL ou 
construída pelo desenvolvedor – ou mesmo uma expressão aritmética, conforme 
a sentença de criação dos índices abaixo. 
 
 O nosso assunto teórico está concluído, vamos logo a seguir passar para o 
comentário das questões sobre os temas discutidos durante a aula. Antes, 
porém, gostaria de fazer um rápido comentário sobre indexação de textos. 
INDEXAÇÃO DE TEXTOS 
Existem dois métodos principais de busca por frases em bancos de dados 
textuais utilizando indexação de textos, um é arquivo invertidos com 
contadores de posição e o outro é índice para a próxima palavra. 
 
Um arquivo invertido possui duas partes principais: uma estrutura de busca, 
chamada de vocabulário, contendo todos os termos distintos existentes nos 
textos indexados e, para cada termo, uma lista invertida que armazena os 
identificadores dos registros contendo o termo. Consultas são feitas tomando-se 
a lista invertida correspondente ao termo procurado. As consultas booleanas são 
feitas obtendo-se a conjunção ou disjunção entre as listas relativas aos termos 
presentes na consulta. 
 
Os índices para a próxima palavra apresentam uma abordagem mais eficiente do 
que o uso de arquivos invertidos com contadores de posição. Nessa abordagem, 
para cada palavra existente no vocabulário é criado uma lista com as 
palavras que ocorrem em uma posição subsequente no texto, justamente 
com apontadores de posição para essas ocorrências. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 36 de 56 
 
Questões Comentadas 
 
Vamos continuar nosso estudo de fazendo algumas questões sobre o 
assunto. Sempre que possível vamos inserir algum detalhamento teórico na 
explicação da questão. Esperamos que vocês gostem. Nesta aula optamos por 
colocar as questões apenas ao final devido à quantidade escassa de questões 
disponíveis. 
 
2. ANO: 2015 BANCA: COSEAC ÓRGÃO: UFF PROVA: ANALISTA - 
TECNOLOGIA DA INFORMAÇÃO 
Em relação aos métodos de acesso a arquivos, é correto afirmar que: 
A as fitas magnéticas implementam o método de acesso indexado. 
B o método de acesso direto possui uma restrição à ordem em que os registros 
são lidos ou gravados. 
C o método de acesso direto trabalha com registros de tamanho variável. 
D o método de acesso indexado tem por base o método de acesso sequencial. 
E o método de acesso direto pode ser combinado com o método de acesso 
sequencial. 
Comentários: Os Métodos de acesso são os procedimentos empregados pelo 
gerenciador de banco de dados com o objetivo de acelerar a localização e a 
recuperação de algum dado. Analisando cada uma das alternativas acima 
podemos encontrar os seguintes erros em cada uma das letras. 
A. As fitas, como falamos durante a aula, possuem métodos de acesso 
sequencial, e não indexado como sugere a questão. 
B. O método de acesso direto consiste na gravação dos registros em endereços 
determinados com base no valor de uma chave primária (por exemplo), de 
modo que se tenha acesso rápido aos registros especificados por argumentos de 
pesquisa, sem que haja necessidade de percorrer uma estrutura auxiliar 
(índice). 
C. Vimos durante a aula que o acesso direto trabalha com registros de tamanho 
fixo. 
D. O acesso indexado tem por base a utilização de índice. 
A alternativa E está correta e apresenta a nossa resposta. A ideia é que você use 
uma função hash para apontar para um determinando endereço e em seguida 
siga por meio do bloco de disco até achar o valor correspondente. Trata de uma 
função hash com endereçamento aberto. 
Gabarito: E 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 37 de 56 
 
 
3. ANO: 2015 BANCA: NUCEPE ÓRGÃO: SEFAZ - PI PROVA: ANALISTA - 
SISTEMAS JÚNIOR 
Um Sistema Gerenciador de Banco de Dados (SGBD) permite criar e manipular o 
banco de dados. Entre as alternativas abaixo, qual está INCORRETA sobre o 
SGBD? 
A Garantem restrições de integridade. 
B Tem suporte a controle de concorrência. 
C A abstração é suportada para os níveis de visão do usuário e conceitual, sendo 
o nível físico negligenciado e de responsabilidade somente do sistema 
operacional. 
D Permite controle de acesso. 
E Otimiza as consultas por métodos de acessos eficientes. 
Comentários: Vejam que estamos procurando a alternativa incorreta, desta 
forma, vamos analisar apenas a alternativa que temos como resposta. Sabemos 
que temos abstração de nível conceitual, lógico e físico. O SGBD trabalha na 
implantação dos detalhes lógicos e físicos. Aspectos de controle da operação de 
entrada e saída, atividade típica do sistema operacional, podem inclusive serem 
repassadas ao controle do SGBD. 
Gabarito: C 
 
4. ANO: 2012 BANCA: FCC ÓRGÃO: TRE-SP PROVA: TÉCNICO DO 
JUDICIÁRIO - PROGRAMADOR DE SISTEMAS 
Em SGBDs, 
A os metadados resultam da conversão de comandos DDL pelo compilador da 
DDL. 
B mapeamentos, restrições de integridade, mensagens de comunicação e 
restrições de segurança são recursos contidos no dicionário de dados. 
C o arquivo de dados é o componente que cuida da alocação do espaço na 
armazenagem no disco e das estruturas de dados usadas para representar a 
informação armazenada. 
D a estrutura de armazenagem e os métodos de acesso são especificados por 
um conjunto de definições em um tipo especial de DML. 
E a abstração dos níveis físico, conceitual e de visão aplica-se, exclusivamente, à 
definição e estrutura de dados. 
Comentários: Um esquema de banco de dados é especificado por um conjunto 
de definições expressas por uma linguagem especial chamada linguagem de 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 38 de 56 
 
definição de dados (Data Definition Language, DDL). O resultado da compilação 
de comandos de uma DDL é um conjunto tabelas que são armazenadas em um 
arquivo especial chamado dicionário (ou diretório) de dados. 
Gabarito: A 
 
5. ANO: 2012 BANCA: CESPE ÓRGÃO: BANCO DA AMAZÔNIA PROVA: 
TÉCNICO CIENTÍFICO - ADMINISTRADOR DE DADOS 
Acerca de mapeamento físico de dados, julgue os itens seguintes. 
88 Para cada atributo usado em operações de join, deve-se criar um índice. 
89 Na seleção dos métodos de acesso a registros físicos, deve-se considerar a 
forma como os dados serão utilizados pelas diversas aplicações. 
90 Em operação de junção (join), atinge-se maior eficiência quando os registros 
físicos estão ordenados pelo atributo usado na junção. 
Comentários: Vamos comentar cada uma das alternativas acima. 
88 Não existe nenhuma obrigatoriedade de atributos usados em operações de 
join terem um índice associado. Há necessidade apenas dos atributos que estão 
nas diferentes tabelas que participam do Join operem sobre o mesmo domínio, 
para que a junção possa ser feita efetivamente. 
89 Lembre-se do início da nossa aula, um método de acesso está diretamente 
ligado à organização do arquivo, não é possível usaro acesso indexado se não 
tivermos o arquivo de índice relacionado com o arquivo de dados. 
90 Esse operação é estudada em otimização de consulta, o merge-join entre 
dois arquivos ordenados pelo atributo de junção é muito mais rápido. Desta 
forma a alternativa está correta. 
Gabarito: E C C 
 
6. ANO: 2015 BANCA: UERJ ÓRGÃO: UERJ PROVA: ANALISTA DE 
SISTEMAS - GRID 
Técnicas eficientes para o uso de memória, como memória virtual e caching, 
podem ser aproveitadas pelo seguinte motivo: 
A o princípio da localidade pode ser aplicado 
B memórias dinâmicas são mais rápidas que memórias estáticas 
C a velocidade de acesso à memória RAM aumentou muito recentemente 
D o espaço de armazenamento na memória RAM aumentou muito recentemente 
Comentários: O princípio da localidade pode ser dividido em localidade 
temporal e espacial. Na primeira, ao acessar uma palavra na memória principal 
é muito provável que o processador volte a acessar essa mesma palavra 
novamente durante a execução dos programas (loops). Na localidade espacial ao 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 39 de 56 
 
acessar uma palavra na memória principal é provável que em seguida o 
processador tente acessar uma palavra de memória subjacente à acessada 
previamente. Desta forma, temos os exemplos de memória virtual e caching 
como exemplos da implementação do princípio da localidade. 
Gabarito: A 
 
7. ANO: 2015 BANCA: FCC ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) 
PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO 
Existem diferentes tecnologias para a construção de dispositivos de 
armazenamento de dados, e o uso de cada um deles depende da finalidade. 
Caso a finalidade seja utilizar o dispositivo de armazenamento para realizar uma 
cópia de segurança, a única tecnologia que NÃO pode ser utilizada é 
A Memória FLASH. 
B DVD. 
C Fita magnética. 
D Memória RAM. 
E CDROM. 
Comentários: Para ser considerado um dispositivo de armazenamento de dados 
que guarda cópias de segurança é necessário que o dispositivo possua a não 
volatilidade como característica. A memória RAM, por ser uma memória volátil, 
que apaga os dados quando o fluxo de energia para, não pode ser utilizada para 
esse propósito. 
Gabarito: D 
 
8. ANO: 2015 BANCA: FCC ÓRGÃO: TRE-RR PROVA: TÉCNICO DO 
JUDICIÁRIO - OPERAÇÃO DE COMPUTADORES 
“A memória do tipo ___I___ se diferencia das memórias convencionais 
___II___ por serem muito rápidas. Por outro lado, são muito mais caras. 
A memória ___III___ consiste em uma quantidade menor de memória 
embutida no processador. Quando este precisa ler dados na memória RAM, um 
circuito especial transfere blocos de dados muito utilizados da RAM para esta 
memória. Assim, no próximo acesso do processador, este consultará esta 
memória, que é bem mais rápida, permitindo o processamento de dados de 
maneira mais eficiente”. 
Completam, correta e respectivamente, as lacunas de I a III do texto o que 
consta em: 
A DRAM (Dynamic RAM) − SRAM (Static RAM) − cache. 
B cache − RAM − DRAM (Dynamic RAM). 
C DDR − DDR2 − DDR3. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 40 de 56 
 
D cache − RAM − SDRAM. 
E SRAM (Static RAM) − DRAM (Dynamic RAM) − cache. 
Comentários: Veja que é a segunda questão que trata do fato da velocidade 
das memórias SRAM ser maior que as DRAM. Esse fato nos ajuda a preencher os 
campos I e II. 
O campo III trata da memória cache. Cache é um dispositivo de acesso rápido, 
interno a um sistema, que serve de intermediário entre um operador de um 
processo e o dispositivo de armazenamento ao qual esse operador acede. A 
vantagem principal na utilização de uma cache consiste em evitar o acesso ao 
dispositivo de armazenamento – que pode ser demorado, armazenando os dados 
em meios de acesso mais rápidos 
O cache de disco é uma pequena quantidade de memória incluída na placa lógica 
do HD. Tem como principal função armazenar as últimas trilhas lidas pelo HD. 
Esse tipo de cache evita que a cabeça de leitura e gravação passe várias vezes 
pela mesma trilha, pois como os dados estão no cache, a placa lógica pode 
processar a verificação de integridade a partir dali, acelerando o desempenho do 
HD, já que o mesmo só requisita a leitura do próximo setor assim que o último 
setor lido seja verificado. 
Gabarito: E 
 
9. ANO: 2015 BANCA: CESPE ÓRGÃO: MEC PROVA: TÉCNICO DE NÍVEL 
SUPERIOR - ANALISTA DE SISTEMA OPERACIONAL 
Acerca das soluções de alta disponibilidade, julgue os seguintes itens. 
[1] Se um disco falhar em um sistema com configuração RAID 5, é possível 
recuperar os dados. Contudo, caso um segundo disco falhe antes do término da 
recuperação dos dados do primeiro disco defeituoso, todos os dados 
armazenados serão perdidos. 
[2] Considerando-se que sejam utilizados quatro discos de mesma capacidade 
em um arranjo RAID 0 e quatro discos idênticos aos anteriores na configuração 
RAID 1, é correto afirmar que a capacidade de armazenamento é a mesma nos 
dois sistemas, havendo apenas uma diferença de velocidade entre os arranjos. 
Comentários: Vamos analisar as alternativas acima: 
1. A alternativa trata de RAID 5 conhecida como striping with parity across 
drives. O RAID 5 é o nível de RAID mais comum e mais utilizado. Para sua 
configuração são necessários no mínimo 3 discos de dados no Array e no 
máximo 16. Os dados são distribuídos entre os discos existentes no Array e os 
dados de paridade são espalhados por todos os discos. 
Utilizando os dados de paridade, o sistema pode calcular os dados de um bloco, 
caso este dado não esteja mais disponível. Isso significa que o RAID 5 tem 
tolerância à falha de um disco no Array, sem que haja perda de dados. Embora o 
RAID 5 seja suportado por softwares de RAID, é recomendado uma controladora 
RAID para sua implementação pois muitas vezes é necessário a utilização de 
memória cache para melhorar o desempenho de gravação dos dados. 
0Aula Demonstrativa
Armazenamento de Dados e Indexação 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 00 
 
 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 41 de 56 
 
2. RAID 0 não temos replicação dos dados, apenas uma divisão que favorece o 
desempenho, mas não ajuda na tolerância a falhas. Diferentemente do RAID 1 
que gasta metade dos discos com uma cópia dos dados armazenados nos 
demais dispositivos de armazenamento. A questão está, portanto, incorreta, pois 
afirma que RAID 0 e RAID 1 tem a mesma capacidade de armazenamento. 
Gabarito: C E 
 
10. ANO: 2015 BANCA: IESES ÓRGÃO: TRE-MA PROVA: ANALISTA 
JUDICIÁRIO - ANÁLISE DE SISTEMAS 
 Considere as seguintes afirmativas relativas a RAID: 
I. Todos os níveis de RAID são formados por um conjunto de unidades de discos 
físicos, vistas pelo sistema operacional como uma única unidade lógica. 
II. Os níveis de RAID 1, 3, 4, 5 e 6 contam com redundância, obtida através do 
armazenamento de informações de paridade e visando conseguir uma alta 
disponibilidade. 
III. Os dados são distribuídos pelos discos físicos de um array em um esquema 
conhecido como intercalação de dados (striping). 
Assinale a alternativa correta com relação as afirmativas: 
A Somente uma está correta. 
B Somente duas estão corretas. 
C Todas estão corretas. 
D Todas estão incorretas. 
Comentários: Ok! Vamos comentar as alternativas I, II e III. 
I. RAID é a sigla para Redundant Array of Independent Disks ou, em tradução 
livre, algo como "Matriz Redundante de Discos Independentes". Trata-se, 
basicamente, de uma solução computacional que combina vários discos rígidos 
(HDs) para formar uma única unidade lógica

Outros materiais