Buscar

278-982-1-PB

Prévia do material em texto

v1.5 – 30OUT16 
 
 
Comparativo de Desempenho em Banco de Dados Oracle 
Utilizando Diferentes Sistemas de Arquivos 
 
Anderson A. Blasque, Fernando R. V. M. Lobo, Marcelo M. Moreira, Gustavo Bruschi 
 
Curso de Tecnologia em Banco de Dados – Faculdade de Tecnologia de Bauru 
(FATEC) 
Rua Manoel Bento da Cruz, Quadra 3, nº 30 - Centro - 17.015-171 - Bauru, SP - Brasil 
 
{Anderson.blasque, fernando.lobo, gustavo.bruschi}@fatec.sp.gov.br, 
moreira3ma@gmail.com 
 
Abstract. There is a growing concern for the best use of resources of 
Information Technology, and for that much investment has been made to 
develop software that can extract the most of available computational 
resources. This article demonstrates that it is possible to obtain significant 
performance differences in a Oracle Database Management System, by simply 
changing the file system and the block size. The analyzed results from 
benchmark tests exposes how these variations impacted positively and 
negatively in one of the most critical points in the hardware performance on 
the server, its hard drive. 
 
Resumo. É crescente a preocupação com o melhor aproveitamento dos 
recursos de Tecnologia da Informação, e para isso muito investimento tem 
sido feito para desenvolvimento de softwares que consigam extrair ao máximo 
os recursos computacionais disponíveis. Este artigo demonstra que é possível 
obter diferenças significantes de desempenho em um Sistema Gerenciador de 
Banco de Dados Oracle, com a simples troca do sistema de arquivos e a 
variação no tamanho dos blocos. Os resultados analisados a partir de testes 
de benchmark, mostram como essas variações impactaram positiva e 
negativamente em um dos pontos mais críticos no desempenho do hardware 
de um servidor, seu disco rígido. 
 
 
1. Introdução 
Segundo Chiavenato (2011) os avanços tecnológicos influenciaram consideravelmente 
o funcionamento das organizações a partir da Revolução Industrial, desde o resultado da 
aplicação da força motriz do vapor, que logo substituiu o esforço humano nas fábricas e 
indústrias. No final do século XVIII, a invenção da máquina de escrever acelerou o 
processo produtivo literário e consequentemente a quantidade de informação gerada. A 
 
v1.5 – 30OUT16 
 
 
invenção do telefone, no final do século XIX, aprimorou a comunicação e permitiu às 
organizações se descentralizarem e buscarem por novos rumos e mercados. O 
desenvolvimento tecnológico da segunda metade do século XX nos fez chegar ao 
computador, com ele as possibilidades de administrar grandes números e diferentes 
negócios simultaneamente a um custo mais baixo e com maior rapidez e absoluta 
confiabilidade. 
Em pleno século XXI, diante de um mercado agitado por novas soluções 
tecnológicas, investir em Tecnologia da Informação (TI) tem sido um desafio aos 
administradores, pois inovação não custa pouco, os ativos comprometidos na aquisição, 
treinamento e implantação são potencialmente altos, a explicação para isso é que os 
primeiros a aderirem à novidade tecnológica serão os que pagarão os altos custos em 
pesquisa e desenvolvimento (P&D) do produto, e quanto mais inovador ele se mostrar, 
maior o risco dele ser efêmero, caso o mercado não absorva essa nova tecnologia ou 
enquanto ela está sendo propagada, ocorra outra que a torne obsoleta. Tendo 
consciência dos riscos de fazer uma escolha equivocada e das poucas janelas de 
oportunidades para novos investimentos em TI, a capacidade técnica e do profissional 
em TI é colocada à prova dentro da organização e é neste momento que ela pode fazer a 
diferença, tanto para a empresa como para a carreira desse profissional. 
O objetivo deste trabalho é demonstrar de maneira sistemática, que é 
possível obter diferenças de desempenho no uso de um mesmo banco de dados apenas 
com a mudança do sistema de arquivos e do tamanho dos blocos em um disco, de modo 
que as informações deste sirvam como apêndice ao administrador de banco de dados 
(DBA - abreviação do termo em inglês: DataBase Administrator) no momento que este 
tiver a oportunidade de optar pelo sistema de arquivos utilizado no Banco de Dados 
Oracle que administra, seja durante a implantação de um novo Sistema Gerenciador de 
Banco de Dados (SGBD), seja quando faz uma ampliação de um sistema já existente, 
ou até mesmo buscando extrair maior desempenho do hardware que tem em mãos, 
recurso que vai além do tradicional ‘tunning’ do Banco de Dados, desta maneira 
postergando maiores investimentos por parte da organização na aquisição novos de 
materiais de hardware, agregando maior valor na gama de serviços e atribuições do 
profissional em TI em sua atividade fim. 
 
 
2. Fundamentação Teórica 
2.1. Banco de Dados 
A abstração de um Banco de Dados pode ser definida como uma coleção de conjuntos 
correlacionados de dados. De tal forma que são monitorados, examinados e manuseados 
conforme uma análise técnica detalhada. Para Silberschatz, Korth e Sudarshan (2006) é 
 
v1.5 – 30OUT16 
 
 
considerado como modelo de Banco de Dados Relacional, um conjunto de dados que 
contém uma estrutura denominada informalmente de tabela por linhas e colunas e as 
relações entre essas tabelas. Deitel H., Deitel P. e Choffnes (2005) afirmam que Banco 
de Dados é uma coleção de dados integrada com controle centralizado, com um sistema 
combinado entre hardware aonde ficam armazenados os dados e software que faz o 
controle de acesso, denominado Sistema Gerenciador de Banco de Dados (SGBD). 
Como diferencial um Banco de Dados privilegia a eliminação de redundâncias, o SGBD 
organiza os dados de acordo com seus conteúdos em vez de nomes de caminhos, utiliza 
técnicas padronizadas de organização de dados sendo elas geralmente relacionais ou 
orientadas à objetos, conforme o caso. 
 Independente da técnica padronizada na organização dos dados, atualmente 
esse é o modelo o mais usual adotado pelo mercado, a qual representa a interpretação da 
modelagem dos dados, procurando simular/traduzir de fato o que acontece no mundo 
real de maneira simples. 
 
2.2. Sistema de Arquivos 
Segundo Jones (2007) um sistema de arquivos é uma organização de dados e metadados 
em um dispositivo de armazenamento. Morimoto (2005) diz que um sistema de 
arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao Sistema 
Operacional (SO) controlar o acesso ao disco rígido. 
 Para Deitel H., Deitel P. e Choffnes (2005) um sistema de arquivos organiza 
arquivos e gerencia o acesso aos dados, eles são responsáveis por fornecer os 
mecanismos para que os arquivos sejam armazenados com segurança, garantindo a 
integridade das informações armazenadas, assim sendo os arquivos devem conter 
somente as informações neles depositadas. Os sistemas de arquivos são voltados 
principalmente para o gerenciamento do espaço do dispositivo de armazenamento, mas 
também podem acessar dados de arquivos armazenados em outros dispositivos (como a 
memória principal: memória RAM). Sistemas de arquivos devem exibir de forma 
independente os dispositivos de armazenamento, de forma que os usuários possam se 
referir aos arquivos por nomes simbólicos/lógicos (como 
“meudispositivo\minhapasta\meuarquivo.txt”), sem se preocuparem com os aspectos 
físicos de armazenamento nos dispositivos. Assim os usuários podem criar, modificar e 
eliminar arquivos, como também compartilhá-los, controlando permissões de leitura, 
gravação e execução de forma segura. 
 Em ambientes Windows os Sistemas de Arquivos conhecidos são o FAT16, 
FAT32 e NTFS, sendo que segundo a Microsoft (2001) a FAT16 (também conhecida 
por apenas FAT, originária do inglês ‘File Allocation Table’ – Tabela de Alocação de 
Arquivos) foi introduzida com a criação do MS-DOS em 1981, inicialmente para lidar 
com arquivos em disquetes, passou por pequenas alterações para trabalhar com discos 
 
v1.5 – 30OUT16 
 
 
rígidos, tem por característica ter seus arquivos nomeadosno formato 8.3, ou seja oito 
caracteres de nome do arquivo, seguido de um ponto, mais uma extensão de três 
caracteres que identifica o programa vinculado ao arquivo, sua limitação é de blocos de 
até 32KB e partições de até de 2GB. 
 A FAT32 foi introduzida junto com o Windows 95 Service Release 2 em 
1996, elaborada como uma extensão à FAT16, a qual passou a ser de 32 bits, e por isso 
esse nome, tem como característica a capacidade de administrar uma quantidade muito 
maior de blocos por partição, tendo 4GB como limite de tamanho de um único arquivo. 
O NTFS foi introduzido com a primeira versão do Windows NT, é completamente 
diferente do padrão FAT, oferecendo melhorias em segurança, compactação, cotas e 
criptografia de blocos, passou a ser padrão a partir do Windows XP e não sofre com as 
limitações descritas anteriormente, segundo Microsoft (2013) os nomes de diretório 
podem ter até 255 caracteres de comprimento, de arquivo podem ter até 253 caracteres, 
a partição de inicialização pode ter até 7,8GB e uma limitação de 2TB por partição. 
 Ambientes Linux os Sistemas de Arquivos mais populares são o XFS, 
EXT2, EXT3, EXT4, RaiserFS e BTRFS, por se tratar de um Sistema Operacional de 
código aberto, seus desenvolvedores estão espalhados pelo mundo e suas distribuições 
são desenvolvidas de acordo com as necessidades detectadas por cada um deles, 
fazendo com que a variedade de Sistemas de Arquivos seja ainda maior. Segundo Jones 
(2008) o XFS foi criado pela Silicon Graphics em 1995 para o Sistema Operacional 
IRIX, em 2001 o sistema de arquivos foi inserido ao Linux, pois já era desenvolvido e 
confiável, tanto que até hoje ainda é utilizado, segundo Silva (2016), é capaz atualmente 
de ter arquivos de 8 exabytes e partições de até 16 exabytes. De acordo com Jones 
(2009), o Linux quando criado tinha como Sistema de Arquivos o Minix, herdado de 
um Sistema Operacional de mesmo nome, que por sua vez se originou como uma 
vertente do Unix, porém o Minix apresentava problemas significativos de desempenho, 
por isso criou-se o Sistema de Arquivos Estendido o EXT, que foi introduzido em 1992 
ao Linux, este já era capaz de suportar arquivos de até 2GB, porém já em 1993 o EXT2 
foi integrado ao Sistema Operacional, como uma evolução à sua primeira versão, uma 
das mudanças foi a capacidade de ter arquivos de até 2TB, ainda se combinado com o 
kernel 2.6 extendido era capaz de ter arquivos de até 32TB, algo impensável para a 
época. 
 Em 2001 foi a vez do EXT3 ser parte do Linux, este por sua vez trouxe 
alguns avanços importantes, como journaling, que tornou o sistema operacional mais 
robusto e confiável em caso de paradas bruscas, recuperando o arquivo que estava 
aberto e/ou evitando a perda do arquivo, como ocorria nas versões anteriores deste. Em 
sua última atualização o Sistema de Arquivos Estendido está na versão 4, o EXT4, que 
se encontra no pacote de instalação do Linux desde 2008, vieram novos avanços 
voltados à maior confiabilidade, desempenho e confiabilidade, o tamanho máximo de 
um arquivo no EXT4 é de 1 exabyte. 
 
v1.5 – 30OUT16 
 
 
 O RaserFS foi introduzido ao código Linux em 2001, uma de suas 
curiosidades é que quando um arquivo é menor que o tamanho do bloco, esse sistema de 
arquivos tem como recurso nativo a capacidade de juntar mais de um arquivo em um 
mesmo bloco, com isso há um desperdício menor de espaço em disco, na ordem de 5%, 
esse sistema de arquivos também teve atualizações, sendo a versão 4 a mais atual, 
porém o RaserFS tem caído em desuso por várias distribuições Linux, devido um 
problema do seu criador/desenvolvedor teve com a justiça, por isso seu 
desenvolvimento foi interrompido e também pela comunidade Linux ter encontrado em 
outros Sistemas de Arquivos as funcionalidades por ele oferecida. 
 Segundo Abreu (2012), o BRTFS foi criado a partir 2007 pela Oracle 
Corporation, tendo à frente como um de seus principais desenvolvedores Chris Mason, 
que foi engenheiro desenvolvedor que trabalhou no RaserFS para SUSE (uma das 
grandes distribuidoras Linux), introduzido no Sistema Operacional em 2009, seu 
objetivo é torna-lo 100% eficaz em tolerância de falhas e erros, tem um recurso 
interessante que merece ser destacado o snapshot, que é a capacidade de congelar um 
sistema criando uma duplicata, para ser recuperada posteriormente, o tamanho máximo 
de arquivo no BTRFS é de 16 exabytes. 
 
2.3. Sistemas de Benchmark 
Conforme Iata (2008) no final dos anos 70 os executivos da Xerox necessitavam 
entender como um concorrente japonês era capaz de oferecer impressoras de alta 
qualidade por preços inferiores aos seus custos de produção, para tal criaram um 
processo de análise da concorrência e comparação dos resultados, que se deu o nome de 
benchmarking. Morimoto (2005) conceitua benchmark já aplicado na computação, 
porém de forma ampla, como “programas usados para medir o desempenho de um 
computador”. Ferreira e Barros (2007) menciona benchmark como um ou mais 
programas que executados chegam à resultados que tornam possível realizar 
comparações de desempenho de programas que executam uma tarefa em uma mesma 
configuração de hardware. 
 Voltado à banco de dados, segundo DeWitt (tradução nossa) em 1981 
buscava-se criar um referencial para comparação de banco de dados relacionais, de 
modo que pudessem analisar seu desempenho, porém não podiam imaginar como isso 
se tornaria tão popular. Creditou-se que o principal fator de seu sucesso era que ali 
estava a primeira forma de avaliar com medidas imparciais de produtos reais. O 
benchmark desencadeou uma série de “guerras de referências” entre banco de dados 
comerciais. 
Percebe-se que softwares de benchmark buscam resultados através de 
comparações de padrões pré-estabelecidos em um referencial. Segundo o Transaction 
Processing Performance Council (2016), o TPC é uma corporação sem fins lucrativos, 
 
v1.5 – 30OUT16 
 
 
fundado para definir processamento de banco de dados e parâmetros de referência da 
transação e fornecer resultados confiáveis para a indústria, através de seus programas 
benchmark utilizados amplamente por seus membros e filiados. A Dell está entre os 
membros efetivos do TPC, ela fornece o software de benchmark Benchmark Factory 
7.3.0 x64, de fácil assimilação e ambiente bastante intuitivo, utilizado neste trabalho. 
 
2.4. Disco Rígido Magnético (Hard Disk - HD) 
Deitel H., Deitel P. e Choffnes (2005) afirmam que em 1957 a IBM trouxe ao mercado 
o primeiro disco rígido magnético, chamado de RAMAC (Randon Access Method os 
Accounting and Control - método de contabilidade e controle de acesso aleatório), 
tinham a grande vantagem de não ter dados gravados sequencialmente, como nas fitas 
magnéticas, podendo ter suas cabeças movimentadas em frações de segundo entre o 
começo e o fim da mídia rotativa, algo impensável de ser realizado com um rolo de fita, 
as primeiras unidades do RAMAC tinham a capacidade total de cinco megabytes e 
custavam US$ 50 mil. 
 Segundo Tanenbaum (2007) um disco rígido magnético gira em velocidade 
fixa e constante, há disponíveis no mercado discos de velocidades rotacionais entre 
5400 e 10.800 RPM de acordo com a marca, modelo e interface de comunicação, estes 
discos tem sua superfície coberta por óxido de ferro, a qual é dividida em trilhas, que se 
assemelham à anéis (círculos concêntricos, iniciam e terminam em si mesmos, não 
formam espirais), a contagem delas começa da borda do disco (trilha 0) e são sucedidas 
por outras em direção ao centro do disco, que são cada vez menores (mais curtas). 
 De acordo com Hennessy e Patterson (2003) em geral um disco tem de 
5.000 à 30.000 trilhas por superfície, essas trilhas estão subdivididas em setores, em 
razão de uma estratégia adotada pelos fabricantes para melhor aproveitamento da 
superfície do disco, utilizada atualmente, chamada de densidade de bits constante, que 
consiste na variaçãoda quantidade de setores de acordo com o tamanho da trilha, dessa 
maneira a trilha mais externa contém mais setores do que as mais internas, então mais 
dados, afinal os setores tem tamanhos praticamente iguais do centro à borda, a diferença 
na quantidade de setores entre as extremidades interna e externa do disco chega à razão 
de 1,7 vez mais bits na porção mais externa. 
 Lembrando que a velocidade rotacional do disco é fixa, os dados nas bordas 
são lidos/gravados com velocidades superiores na ordem de até 70%, quando 
comparadas com às taxas obtidas nas trilhas mais internas. 
 
2.5. Disco de Estado Sólido (Solid State Disk - SSD) 
Morimoto (2011) afirma que os SSD representam a maior revolução em armazenamento 
desde o primeiro disco da IBM, afinal seu princípio de funcionamento é completamente 
 
v1.5 – 30OUT16 
 
 
diferente, com os discos magnéticos dando lugar aos chips de silício utilizados nas 
memórias flash. Uma das vantagens mais óbvias dos SSD são os tempos de acesso 
muito baixos, altas taxas de transferência nas leituras e gravações, mesmo em ordem 
aleatória. Outros pontos de destaque são o baixo consumo, o silencio no funcionamento, 
a resistência a choques físicos e por isso maior segurança aos dados, justamente por não 
conter partes móveis em seu interior. 
 Conforme Alecrim (2013) o mercado presenciou evoluções espantosas no 
desempenho das memórias RAM e dos processadores, enquanto que nos HDs isso 
ocorreu mais na capacidade de armazenamento do que no desempenho, as aplicações 
modernas precisavam de um armazenamento mais veloz, com menor consumo de 
energia e maior durabilidade, que fosse capaz de apresentar uma capacidade razoável de 
armazenamento, o SSD foi uma resposta à essas necessidades. Apesar de aceitar-se que 
o nome faz uma alusão à ausência de peças móveis em seu interior, o termo “Estado 
Sólido” diz respeito ao uso de material sólido para o transporte dos sinais elétricos entre 
transistores, ao invés de tubos de vácuo, como ocorriam nas válvulas. No SSD o 
armazenamento é feito em chips de memória, não há peças em movimento ou motores 
para garantirem seu funcionamento, isso acaba por fazer com que eles sejam mais 
econômicos no consumo de energia. A tecnologia SSD é baseada em chips criados para 
armazenar dados, mesmo que ocorra ausência de energia, portanto, pode-se dizer que 
são dispositivos não voláteis de armazenamento de dados. O SSD tem maior resistência 
térmica e à choques físicos, apesar de não ser indestrutível. Os custos de SSD, 
comparado à um HD ainda são muito elevados, porém acredita-se que os avanços 
proporcionados pela tecnologia SSD são irreversíveis. 
 
2.6. Impactos do Sistema de Arquivos e do Disco no Desempenho de um Banco de 
Dados 
Segundo Ramakrishnan e Gehrke (2011), o tempo de leitura e gravação varia 
dependendo do tempo de acesso (que resulta da equação: tempo de acesso = tempo de 
busca + latência rotacional + tempo de transferência), que sugere que o tempo gasto 
para operações de um banco de dados é afetado significativamente pela maneira como 
os dados estão armazenados no disco. Considerando que a memória de um sistema 
computacional é organizada através de uma hierarquia onde as mais velozes e caras 
estão no topo e as mais lentas e de menor custo estão na base, então obedecendo essa 
lógica no topo, temos as memórias cache do processador e a memória RAM, mais caras 
e voláteis. 
No meio dessa cadeia hierárquica estão as memórias dos discos rígidos e 
SSD, mais lentas se comparadas às primeiras, porém mais acessíveis e não voláteis, e 
por último temos o armazenamento em fita e discos óticos. Como os Bancos de Dados 
precisam ser armazenados em ambientes não voláteis, os melhores dispositivos de 
 
v1.5 – 30OUT16 
 
 
armazenamento são os SSD e os discos rígidos, nesta ordem, neles o SGBD opera lendo 
ou gravando nos blocos, esse procedimento é chamado de operação E/S (entrada/saída), 
a velocidade que isso ocorre está diretamente ligada à capacidade do tempo de acesso, 
quanto menor esse tempo, melhor o desempenho global do SGBD. 
 
 
3. Materiais e Métodos 
Para realização dos experimentos, foi adotado o método da análise descritiva qualitativa 
para comparação dos resultados dos testes de desempenho entre os sistemas de 
arquivos. 
Separaram-se os testes de desempenho em dois momentos distintos, o que 
chamaremos de testes prévios ou testes iniciais, os quais tiveram como foco demonstrar 
as diferenças de desempenho obtidas a partir das variações dos sistemas de arquivos e 
tamanho de blocos em um mesmo disco rígido, com resultados apresentados como parte 
do Método, os quais fomentaram a elaboração de um trabalho mais completo e voltado 
à verificar se as mesmas variações se aplicam ao Banco de Dados Oracle com o uso de 
um SSD, que será chamado de Testes Principais. 
Utilizou-se um computador doméstico, com a seguinte configuração: 
processador Intel Core 2 Quad Q8300, 8GB DDR3 de memória RAM. Como 
dispositivos de armazenamento foram adotados dois drives SSD (um deles com o SO e 
outro com o Sistema Gerenciador de Banco de Dados), em detrimento de um HD 
tradicional, conforme vantagens descritas no item 2.5. 
 Levando em consideração que cada file system tem sua própria estratégia 
no gerenciamento do posicionamento dos arquivos na mídia, baseados na 
fundamentação do item 2.4., que explica o porquê o posicionamento do arquivo na 
mídia em disco magnético interfere no desempenho durante a leitura/gravação de 
arquivos, se fosse utilizado um disco rígido magnético seria apresentada uma nova 
variável de difícil controle à qual não poderia ser desconsiderada, de tal modo que 
acabaria por obstruir uma comparação real e imparcial de desempenho. 
 Foram realizados testes prévios de desempenho de disco, com um disco 
rígido magnético de 1TB (um terabyte) e 7200RPM, os quais demonstraram que ao 
fazer uso de três file systems (NTFS, FAT16 e FAT32), apenas ao modificando o 
tamanho da unidade de alocação (bloco) com tamanhos entre 512B e 64KB, obtivemos 
diferenças significativas de desempenho acima dos 30%, do melhor em relação ao pior 
desempenho obtido. Na ocasião foi utilizado o mesmo computador doméstico descrito, 
no disco foram criadas pequenas partições de 10GB (dez gigabytes), exceto a FAT16 
que tem limite de tamanho em 2GB (dois gigabytes), para pormenorizar os efeitos do 
posicionamento dos dados na mídia, os softwares de benchmark foram o Roadkill’s 
 
v1.5 – 30OUT16 
 
 
Disk Speed v 1.0 e CrystalDiskMark v 3.0.3 x64 funcionando em ambiente Windows 7, 
conforme resultados tabulados nas figuras à seguir. 
 
Figura 1. Benchmark de um disco rígido (HD) com variações de sistemas arquivos e 
tamanho de blocos 
 Na Figura 1 é possível verificar um mesmo disco formatado com o Sistema 
de Arquivos NTFS com blocos de 512 bytes e com compactação ativada chega a ser 
31,73% mais rápido que o mesmo disco formatado com FAT16 e blocos de 32KB na 
Leitura Linear (segunda linha na penúltima coluna). Também é possível constatar que 
nos testes iniciais com a partição NTFS utilizando blocos de 512 bytes e com 
compactação ativada é capaz de ser 39,68% mais rápida se comparada a uma partição 
FAT32 nos testes de desempenho de Leitura Aleatória (segunda linha na última coluna). 
Figura 2. Benchmark de um disco rígido (HD) com variações de sistemas arquivos e 
tamanho de blocos 
 Na Figura 2, verifica-se que o menor desempenho está com o Sistema de 
Arquivos FAT16, tanto para leitura, como para gravação, por isso nas duas últimas 
colunas apresenta 0%, pois os índices obtidos em ambos os testes foram referência para 
os outros. Novamente o mesmo disco formatado com o Sistema de Arquivos NTFS, 
adotando blocos de 512 bytes e com compactação ativada obteve melhor desempenho, 
sendo 31,56% superior na leitura e 30,35% na gravação, quando comparado com o 
Sistema de Arquivos de menor desempenho. 
MBLidos¹ Velocidade¹ MB Lidos¹ Velocidade¹ Qt Acessos Tp Acesso²
NTFS 512 608,5625 121,6647 16,8125 3,3611 562 8,90 27,78 8,91
NTFS 512 Compact 627,3750 125,4701 21,5625 4,3099 745 6,71 31,73 39,68
NTFS 4K 595,3125 119,0567 19,7813 3,9501 638 7,84 25,00 28,14
NTFS 4K Compact 599,0625 119,8035 17,8438 3,5649 653 7,66 25,79 15,59
NTFS 16K 573,5625 114,7117 15,7188 3,1432 515 9,71 20,43 1,82
NTFS 64K 561,5625 112,3073 20,8125 4,1577 729 6,86 17,91 34,82
FAT16 476,2500 95,2443 16,4063 3,2733 491 10,20 0,00 6,28
FAT32 496,6875 99,3373 15,4375 3,0774 581 8,62 4,29 0,00
¹ Megabytes por segundo (MB/S)
² Tempo em segundos e centésimos de segundo
³ Valores Percentuais em relação ao menor valor
Variação 
Linear³
Variação 
Aleatória³
Roadkil's Disk Speed Version 1.0
Leitura Linear Leitura Aleatória Tempo de Acesso
Leitura Gravação Leitura Gravação Leitura Gravação Leitura Gravação
NTFS 512 128,4 128,0 50,42 72,29 0,643 1,290 0,745 1,310 28,55 28,64
NTFS 512 Compact 131,4 129,7 51,57 72,38 0,658 1,304 0,712 1,289 31,56 30,35
NTFS 4K 125,4 124,4 49,96 68,09 0,640 1,236 0,711 1,264 25,55 25,03
NTFS 4K Compact 125,5 124,9 49,98 68,89 0,635 1,295 0,730 1,241 25,65 25,53
NTFS 16K 121,3 120,0 49,30 66,05 0,618 1,279 0,715 1,278 21,45 20,60
NTFS 64K 117,7 117,0 48,97 68,08 0,647 1,295 0,728 1,258 17,84 17,59
FAT16 99,9 99,5 45,39 63,87 0,606 1,228 0,712 1,240 0,00 0,00
FAT32 104,6 103,9 47,07 63,83 0,631 1,233 0,721 1,185 4,73 4,42
Variação 
% Grav 
Variação 
% Leitura 
CrystalDiskMark 3.0.3 x64
Sequencial 512K 4K 4K QD32
 
v1.5 – 30OUT16 
 
 
 Para realização dos Testes Principais, adotou-se a variação no tamanho dos 
blocos, com duas medidas disponíveis em todos os file systems testados, apesar do 
NTFS fornecer grande flexibilidade no tamanho de seus blocos, a FAT32 é mais 
limitada, por isso, os blocos tiveram que ser de 4KB, 8KB e 64KB. Por acreditar-se que 
quanto menor o tamanho do bloco, menores serão as perdas de espaço em disco, em 
razão do comprometimento de todo o espaço alocado por bloco ser dedicado à apenas 
um arquivo, assim sendo, se este arquivo for muito pequeno, o espaço restante é 
inutilizado, portanto, quanto maior o bloco, maior a perda de espaço alocado nesse caso, 
para comprovar essa hipótese o bloco menor de 4KB. 
 Por outro lado, crê-se que quanto maior o bloco, menor a quantidade total de 
blocos no disco a serem administrados, partindo dessa concepção, menos blocos 
garantem uma manipulação mais rápida por parte do sistema de arquivos, por isso a 
opção por um bloco maior de 64KB. Para uma opção intermediária e balanceada entre 
ambas hipóteses, a escolha pelo bloco de 8KB. Abriu-se mão de testar o sistema de 
arquivos FAT16, em razão do SGBD Oracle criar um BD “Esquema” praticamente do 
tamanho do drive de 2GB, pouco restando para o teste do benchmark, impossibilitando 
seu uso. 
 Como ao invés do disco magnético (HD) de 1TB (um terabyte), dos testes 
iniciais, optou-se desenvolver esse trabalho com dois discos SSD de 120GB (cento e 
vinte gigabytes), chamaremos o primeiro por “SSD1”, o qual teve o SO, SGBD e 
Benchmark instalados, o segundo chamaremos de “SSD2”, neste foi instalado apenas o 
Banco de Dados, com as diferentes formatações de sistemas de arquivos e tamanhos de 
blocos, já descritas, para a realização de cada teste. 
 Com os SSD em atividade optou-se pelo uso da mesma metodologia de 
criação de seis partições de 10GB (dez gigabytes) no SSD2, cada uma com a variação 
do sistema de arquivos e blocos proposta, realizou-se a manipulação da pasta do banco 
de dados, copiando e colando-a de uma partição para a outra, permitindo que o SO 
somente ‘enxergasse’ uma partição, como se sempre fosse a mesma, inclusive com a 
mesma letra de drive no Windows, para tal foi necessário fazer uso de um Live CD, que 
é um disco óptico de boot (inicialização autônoma de um SO), com um pacote de 
ferramentas conhecido por Hiren’s Boot CD v15.2 o qual contém um módulo de 
manipulação de partições chamado de GParted, que funciona em ambiente Linux. 
 Porém seguindo essa metodologia, os testes apresentaram resultados com o 
desempenho cada vez melhor em relação ao teste da partição anteriormente testada. 
Para entender o fenômeno de aumento de desempenho, após ter realizado todos os seis 
testes propostos com cada uma das partições, somente o primeiro teste foi repetido e 
apresentaram-se diferenças do mesmo teste, que teoricamente deveria ser idêntico. Logo 
percebeu-se que os resultados estavam sendo otimizados à cada novo teste, pois à cada 
nova repetição, o SGBD Oracle DataBase 11g Release 2 tinha seu otimizador atuando 
na melhora do funcionamento do Banco de Dados utilizado pelo benchmark. Para evitar 
 
v1.5 – 30OUT16 
 
 
a atuação desse otimizador se fez necessária a modificação da metodologia inicial, à 
cada novo teste optou-se por formatar ambos os SSD, instalando novamente o SO do 
zero, com o SGBD e Benchmark no SSD1 e formatar o SSD2 com uma única partição 
para uso do Banco de Dados Oracle, utilizando o sistema de arquivos à ser testado, 
ainda assim o teste foi realizado apenas uma vez após cada nova instalação limpa. 
 Com isso foi possível isolar a possibilidade de que o otimizador do SGBD 
alterasse os resultados, pois não havia gravado registro algum de manipulação do Banco 
de Dados Oracle, desta forma acredita-se que esse trabalho teve total e absoluta exatidão 
nos resultados obtidos em cada um dos testes realizados. Cabe ressaltar que todo esse 
trabalho foi desenvolvido em um ambiente real, sem o uso de máquinas virtuais (VM), 
para que um SO (hóspede) não fosse subordinado a outro SO (hospedeiro) e que todos 
os recursos de hardware disponíveis fossem utilizados efetivamente para os testes de 
desempenho. 
 Portanto os sistemas de arquivos e blocos utilizados nesse trabalho durante 
os Testes Principais foram conforme o apresentado na Figura 3: 
 
Figura 3. Sistema de Arquivos e Tamanho de Blocos 
 
 
4. Resultados Obtidos 
Durante os experimentos com o Dell Benchmark Factory versão 7.3.0 x64 na versão 
Trial, verificou-se uma grande variedade de módulos de testes (TPC-B, TPC-C, TPC-D, 
TPC-E, TPC-H, Replication, Scalable Hardware, AS3AP). Para se chegar à escolha de 
qual módulo a ser utilizado, foi testado um a um dos módulos disponíveis, em busca de 
um que apresentasse resultados de carga expressivos de uso de disco e processador, 
porém nenhum deles registrou carga nos volumes de dados gravados e lidos do disco. 
 Ainda assim com o processador e SSD ‘ociosos’ (muito abaixo de seus 
limites físicos) durante os registros dos Testes Principais, foi possível mensurar as 
diferenças entre os sistemas de arquivos, bem como quando feita a variação do tamanho 
de blocos. O mais apropriado dentre os módulos de testes apresentados foi o TPC-C, 
que simula um ambiente completo de computação, onde um servidor recebe várias 
solicitações de usuários distintos (1, 4, 8 e 10 usuários), cada qual consultando (select), 
atualizando (update) e/ou inserindo (insert) dados em um Banco de Dados 
simultaneamente, criado para simular ambientes voltados à indústria de atacado e/ou 
varejo durante a entrada e saída de produtos comprados e vendidos. Nele foi possível 
extrair a taxa de transmissão de dados, durante a leitura e gravação do mesmo banco de 
Sistema de arquivos
Tamanho dos blocos 4KB 8KB 64KB 4KB 8KB 64KB
NTFS FAT32
 
v1.5 – 30OUT16 
 
 
dados Oracle na ordem de KB/S (Kilobytes por Segundo), conforme serão apresentados 
nos gráficos tabulados nos resultados à seguir. 
 
 
Gráfico 1. Comparativo dos testes de leitura 
 
 Percebe-se que diferentemente do apresentado nos benchmarks de disco, 
realizados com um disco rídigo de 1TB (Figura 1), em que a ordem de transferência de 
dados chega a ser de 600MB/S numa leitura linear, foi apresentada abaixo de 3KB/S e 
se repetiu a cada teste com resultados muito próximos entre um teste e outro, mostrandoque realmente o benchmark é teste de ‘caixa preta’, que analisa o disco, mas não 
prioriza sua medição, pois claramente os registros de desempenho mostraram apenas as 
transações (select, insert e update) de usuários não a criação e população das tabelas, 
quando claramente o disco e o processador foram efetivamente exigidos, sem permitir 
que o usuário opte por qual instante quer realizar a medição de desempenho. Assim 
sendo, temos a aparência que o sistema de arquivos NTFS não apresentou grandes 
melhorias de desempenho com a variação do tamanho dos blocos, ao contrário, a 
FAT32, teve em sua opção de blocos intermediária (8KB), maior desempenho para 
todas as variações de usuários. 
 Da mesma maneira como foi descrita no teste de leitura, a ordem de 
transferência de dados durante os testes chegou a valores próximos a 5KB/S, muito 
inferiores à capacidade de um SSD, que facilmente ultrapassaria os 300MB/S. 
Curiosamente na gravação o sistema de arquivos NTFS apresentou diferenças de 
desempenho conforme variaram-se o tamanho dos blocos, sendo que independente da 
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,8
2,9
3
1 usuário
4 Usuários
8 usuários
10 usuários
2,47
2,62
2,46
2,6
2,69
2,5 2,55
2,66
2,742,65
2,71
2,78
2,84
2,74
2,8
2,86
2,91
2,43
2,51
2,57
2,66
NTFS 4K
NTFS 8K
NTFS 64K
FAT32 4K
FAT32 8K
FAT32 64K
Benchmark Factory - TPC-C - Taxa de Leitura (em KB/S)
KB/S
 
v1.5 – 30OUT16 
 
 
quantidade de usuários o bloco de 8KB foi o de menor performance, enquanto que o 
bloco de mesma medida apresentou a melhor performance no sistema de arquivos 
FAT32. 
 
Gráfico 2. Comparativo dos testes de gravação 
 
 Para visualizar com maior clareza as diferenças nos resultados obtidos, 
estão apresentados os resultados em percentuais, tomando-se como referência o menor 
valor obtido na leitura e na gravação, fixando-o em 0% (sem ganho de performance), 
todos os outros resultados da mesma coluna apresentam valores percentuais positivos, 
para demonstrar com maior clareza as diferenças obtidas, conforme Figura 4: 
 
Figura 4. Comparativo dos testes de leitura (read) e gravação (write) em % 
3,8
4
4,2
4,4
4,6
4,8
5
5,2
1 usuário
4 Usuários
8 usuários
10 usuários
4,38 4,44
4,67
4,85
4,26 4,32
4,4
4,73
4,36 4,42
4,8
4,87
4,7 4,75
4,82
4,98
4,75 4,8
4,87
5,03
4,23 4,31
4,66 4,73
NTFS 4K
NTFS 8K
NTFS 64K
FAT32 4K
FAT32 8K
FAT32 64K
Benchmark Factory - TPC-C - Taxa de Gravação (KB/S)
KB/S
% Read % Write % Read % Write % Read % Write % Read % Write
NTFS 4K 1,646 3,546 1,594 3,016 1,946 6,136 1,128 2,537
NTFS 8K 1,235 0,709 1,594 0,232 1,167 0,000 1,128 0,000
NTFS 64K 2,881 3,073 1,594 2,552 3,502 9,091 3,008 2,960
FAT32 4K 9,053 11,111 7,968 10,209 8,171 9,545 6,767 5,285
FAT32 8K 12,757 12,293 11,554 11,369 11,284 10,682 9,398 6,342
FAT32 64K 0,000 0,000 0,000 0,000 0,000 5,909 0,000 0,000
8 usuários 10 usuários
Benchmark Factory - TPC-C
1 usuário 4 Usuários
Sist. Arquivos
 
v1.5 – 30OUT16 
 
 
5. Conclusão 
 Considerando os desafios encontrados pela constante evolução de sistemas e 
aliando-os às necessidades das organizações, a complexidade técnica de alguns sistemas 
de arquivos, quando o DBA estiver utilizando no servidor de Banco de Dados o SGBD 
Oracle combinado com o Sistema Operacional Windows terá a seu dispor os Sistemas 
de Arquivos utilizados neste trabalho. Caso constate que o uso de disco seja muito 
intenso, ou seja, que o gargalo de desempenho do SGBD está concentrado no disco, a 
recomendação é que se opte por criar um ambiente de testes com um disco formatado 
com o Sistema de Arquivos NTFS utilizando blocos de 512 bytes e compactação 
ativada, como o constatado nos testes iniciais de Benchmark de Disco (Figuras 1 e 2) e 
verificar se há diferença efetiva de desempenho que compense a substituição do sistema 
de arquivos e mudança no tamanho dos blocos. 
 Se o uso do processador não for intenso, entende-se que a melhor opção será 
pelo NTFS com blocos de 64KB, assim terá um uso menor de processamento durante as 
operações de E/S, por não utilizar algoritmos de compactação e descompactação durante 
essas operações. Se o SGBD não tiver um uso intenso do disco, como o constatado 
pelos testes de TPC-C de leitura e gravação nos Testes Principais, mas ainda assim o 
DBA necessitar de melhorar o desempenho de seu Banco de Dados, antes de se fazerem 
necessários maiores investimentos em equipamentos, sem levar em conta nenhuma 
outra variável, deverá verificar se seu disco está formatado com o sistema de arquivos 
FAT32 com blocos de 8KB, caso não o tenha feito, recomenda-se que se crie em um 
ambiente de testes um disco com essa formatação indicada e verifique os possíveis 
ganhos, no intuito de adiar um possível upgrade, pois se tratando de tecnologia, quanto 
mais se protela uma atualização, menos dispendiosa ela será. 
 Espera-se que com esse trabalho, outras mentes se sintam provocadas a 
realizar novos testes, com outros Sistemas de Arquivos, com novas variações de 
tamanho de blocos, assim como com o uso de outros Sistemas Operacionais, Sistemas 
Gerenciadores de Banco de Dados e Softwares de Benchmark, para que possam ter 
maior efetividade em verificar a velocidade de transmissão de dados entre o processador 
e o disco durante as transações reais de busca/leitura e inserção/gravação desses dados 
no Banco de Dados. 
 
 
6. Referências Bibliográficas 
Abreu, E. (2012) “Apresentando o BTRFS”, 
https://www.vivaolinux.com.br/artigo/Apresentando-o-Btrfs-Nova-geracao-de-
sistema-de-arquivos-para-GNU-Linux, Outubro. 
 
v1.5 – 30OUT16 
 
 
Alecrim, E. (2014) “O que é SSD (Solid State Drive)?”, 
http://www.infowester.com/ssd.php, Outubro. 
Chiavenato, I. (2011) “Introdução à Teoria Geral da Administração”, Rio de Janeiro, 
Elsevier, 8ª edição. 
Deitel, H. M.; Deitel, P. J.; Choffnes, D. R. (2005) “Sistemas Operacionais”. São Paulo, 
Pearson Prentice Hall, 3ª edição. 
Dewitt, D. J. (2014) “The Wisconsin Benchmark: Past, Present and Future”, 
http://research.microsoft.com/en-us/um/people/gray/benchmarkhandbook/chapter4. 
 Pdf, Outubro. 
Ferreira, J. L. e Barros, R. (2014) “Benchmark”, 
http://www.comp.pucpcaldas.br/users/joao.ferreira/benchmark/sobre.html, Outubro. 
Hennessy, J. L, e Patterson, D. A. (2003) “Arquitetura de Computadores: Uma 
Abordagem Quantitativa”, Rio de Janeiro, Campus, 3ª edição. 
Iata, C. (2014) “Benchmarking: Muito além de uma simples comparação”, 
http://pontogp.wordpress.com/2008/12/24/benchmarking-muito-alem-de-uma-
simples-comparacao/, Outubro. 
Jones, M. T. (2007) “Anatomia do Sistema de Arquivo do Linux”, 
http://www.ibm.com/developerworks/br/library/l-linux-filesystem/, Outubro. 
_____. (2008) “Anatomia dos Sistemas de Arquivos de journaling do Linux”, 
http://www.ibm.com/developerworks/br/library/l-journaling-filesystems/, Outubro. 
_____. (2009) “Anatomia do EXT4”, 
https://www.ibm.com/developerworks/br/library/l-anatomy-ext4/, Outubro. 
Microsoft (2001) “NTFS vs. FAT: Qual é o Certo Para Você?”, 
https://www.microsoft.com/brasil/windowsxp/using/setup/expert/russel_october01.m
spx, Outubro. 
_____. (2013) “Visão geral dos sistemas de arquivo FAT, HPFS e NTFS“, 
https://support.microsoft.com/pt-br/kb/100108, Outubro. 
Morimoto, C. E. (2005) “Sistema de Arquivos” 
http://www.hardware.com.br/termos/sistema-de-arquivos, Outubro. 
_____. (2005) “Benchmark”, http://www.hardware.com.br/termos/benchmark, Outubro. 
_____. (2011) “Entendendo os SSDs”, 
http://www.hardware.com.br/tutoriais/entendendo-ssd/, Outubro. 
 
v1.5 – 30OUT16 
 
 
Ramakrishnan, R.; Gehrke, J. (2011) “Sistemas de Gerenciamento de Banco de Dados”, 
São Paulo, McGraw-Hill, 3ª edição. 
Santana, B. (2016) “Por dentro do APFS, o novo sistema de arquivos da Apple”, 
https://macmagazine.com.br/2016/06/29/por-dentro-do-apfs-o-novo-sistema-de-
arquivos-da-apple/, Outubro. 
Silberschatz, A.; Korth, H. F.; Sudarshan, S. (2006) “Sistemas deBanco de Dados”, Rio 
de Janeiro, Elsevier, 5ª edição. 
Silva, E. (2016) “Aula #15 – Os Sistemas de Arquivos XFS e BTRFS”, http://www.esli-
nux.com/2016/04/aula-15-os-sistemas-de-arquivos-xfs-e.html, Outubro. 
Souza, A. et al (2012) “Sistemas de Arquivos” 
http://universemac.blogspot.com.br/2012/04/sistemas-de-arquivos.html, Outubro. 
Tanenbaum, A. S. (2007) “Organização Estruturada de Computadores”, São Paulo, 
Pearson Prentice Hall, 5ª edição.

Continue navegando