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.
A tecnologia de mapeamento de memória RAM para que ela seja utilizada como um armazenamento persistente, os chamados ramdrives, não é nova. Contudo, recentemente alguns avanços interessantes tornaram essa opção atrativa. Em primeiro lugar, é importante destacar que essa tecnologia reserva de forma exclusiva uma parte da memória RAM do computador, que fica com sua capacidade de RAM reduzida para oferecer aos demais processos do sistema operacional. Em segundo lugar, ramdrives NÃO armazenam dados fisicamente, ou seja, quando o computador estiver desligado os dados são perdidos, apesar de existirem mecanismos para exportar e importar o conteúdo do ramdrive para um arquivo compactado tipo ISO. Em terceiro lugar, o espaço total de armazenamento de um Ramdrive é limitado pela quantidade de memória RAM que o sistema operacional pode disponibilizar para ser mapeada para um drive lógico."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo