Testando o desempenho do HD com banco de dados
Este artigo apresenta uma comparação do desempenho dos subsistemas de armazenamento a partir de operações comuns realizadas por um DBA em um SGBD.
O subsistema de armazenamento de dados em computadores é composto de diversos elementos. Entre os principais, destacam-se as características e especificações técnicas do disco rígido e da tecnologia de transferência de dados.
Devido a recentes avanços tecnológicos, as tecnologias de armazenamento evoluíram ao ponto onde nem mesmo o termo disco rígido faz sentido em algumas situações. Por exemplo, o uso de memórias flash para a criação de “discos” representados pela sigla SSD (Solid State Drive) fornece uma justificativa para a indicação de mudanças na maneira de enxergar o hardware que lida com o armazenamento persistente de dados.
Apesar das mudanças tecnológicas que tangem o subsistema de armazenamento persistente, os profissionais que trabalham com banco de dados ainda possuem dúvidas e questões relacionadas ao desempenho de tarefas que envolvem intenso uso de operações de IO, especialmente aquelas relacionadas à manipulação de grandes quantidades de dados a partir de um SGBD.
A partir desse cenário, este artigo apresentará uma comparação técnica do desempenho de operações de IO relacionadas à leitura e gravação de dados com tecnologias de armazenamento persistente. As tecnologias utilizadas na comparação incluem discos rígidos mecânicos (HDs), hardwares SSDs, softwares que mapeiam a memória RAM para armazenamento (ramdrives) e soluções na nuvem. As tarefas de banco de dados verificadas nos testes são a importação e exportação de dados, backup/restore e execução de operações de inserção de dados em transações.
O foco deste artigo é apresentar uma comparação técnica do desempenho de leitura e gravação de dados a partir de operações comuns do dia a dia de quem trabalha com SGBDs. A partir dos resultados dessas comparações é possível avaliar as opções existentes para armazenamento de disco e escolher as alternativas mais adequadas para quem precisa completar tarefas que utilizam IO e requerem muita performance de leitura e gravação de dados.
Tecnologias de armazenamento de dados
O armazenamento de dados permanente em computadores é tratado por um subsistema computacional que contém diversos componentes. Para simplificar o contexto das tecnologias de armazenamento, neste artigo vamos nos concentrar em apenas dois elementos: a tecnologia de transferência e o hardware de armazenamento de dados.
A tecnologia de transferência de dados é responsável pela comunicação interna entre os dados que estão na memória e o hardware de armazenamento. Entre as tecnologias mais utilizadas, destaca-se aquela indicada pelas siglas SATA (Serial AT Attachment) para desktops e SAS (Serial Attached SCSI) para computadores servidores. A Figura 1 mostra o terminal (conector) de um cabo SATA, cujas pontas devem ser ligadas em um hardware de armazenamento e na placa mãe do computador. De forma similar, a Figura 2 mostra as pontas de um cabo SAS. É importante destacar que, em teoria, a tecnologia de transferência é independente do hardware de armazenamento empregado.
Figura 1. Conector do cabo SATA.
Figura 2. Conector do cabo SAS.
Existem diversas versões das especificações de SATA e SAS, mas em geral é comum encontrar a taxa de transferência de 6 Gigabits por segundo (Gbit/s) para SATA e 12 Gbit/s para SAS. Apenas a título de comparação, a tecnologia USB 2.0 proporciona algo como 480 Megabits por segundo (Mbit/s). É importante destacar que esses valores são nominais, ou seja, indicados pelo fabricante. Na prática, é muito difícil alcançar esses valores devido a diversos motivos, tais como as operações necessárias pelo sistema operacional, a velocidade do hardware de armazenamento, o sistema de arquivos, o barramento do computador e outros.
Em relação ao hardware de armazenamento, existem diversas opções. Este artigo vai se concentrar em quatro tecnologias para armazenamento: HDs mecânicos, SSDs, ramdrives e soluções na nuvem. Os próximos parágrafos discutem detalhes sobre cada uma dessas opções.
Os discos rígidos (HDs) mecânicos foram os primeiros dispositivos de armazenamento em massa empregados na computação e até hoje seus princípios são utilizados. Esse hardware geralmente é composto por um disco magnético (daí o nome disco rígido), onde as operações de leitura e gravação são realizadas por uma “agulha” mecânica. Além disso, é comum encontrar um pouco de memória RAM junto com o disco para armazenar o cache de dados, ou seja, tornar mais rápido o acesso a dados frequentemente utilizados.
Os HDs mecânicos possuem algumas especificações técnicas e a principal delas é a quantidade de rotações por minuto (rpm), que indica a velocidade das operações de IO do hardware. É comum encontrar discos de 5.400 rpm em notebooks, 7.200 em desktops e 15.000 (15k) rpm em servidores. A quantidade disponível para armazenamento é alta e chega na casa das dezenas de terabytes.
O hardware indicado pela sigla SSD é relativamente novo na computação e se baseia no uso de memórias flash para o armazenamento de dados. Além da taxa de transferência e acesso a memória serem muito mais rápidas do que os discos magnéticos, os drivers SSDs não contam com partes mecânicas e, por isso, teoricamente estariam sujeitos a menos falhas ao longo do tempo. Em contrapartida, seu custo ainda é elevado em relação aos HDs mecânicos e a quantidade de armazenamento é menor. Os SSDs possuem diferentes características de memória dependendo do fabricante, porém em geral o desempenho é melhor do que o uso de HDs mecânicos."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo