Diferenças entre cache e tiering
Diferenças entre o cache de SSD e Tiering.
Os termos hierarquização/tiering e armazenamento em cache geralmente são usados de forma intercambiável, mas na verdade se referem a duas técnicas diferentes de aceleração de armazenamento . Ambas as técnicas envolvem colocar dados acessados com frequência - em alta - em uma mídia de alta velocidade, como o flash, mas as semelhanças entre as duas terminam na maioria delas.
Benefícios de desempenho
Há um motivo principal para usar o armazenamento em cache ou em camadas / tiering : para aumentar o desempenho do acesso a dados. Com o armazenamento em cache, esse aumento de desempenho vem de um aumento na velocidade de acesso a dados, armazenando em cache dados muito acessados em SSDs de alto desempenho antes de movê-los para armazenamento primário (gravação) ou memória do sistema (leitura).
O Tiering melhora o desempenho do acesso a dados , colocando os dados mais acessados no armazenamento mais rápido, os dados menos acessados no armazenamento padrão e os dados mais frios (menos acessados) no tipo de armazenamento mais lento do sistema.
Três formas de cache SSD
O armazenamento em cache, em sua forma mais simples, nada mais é do que a cópia de dados acessados com frequência ou recentemente, de seu local habitual para mídia de alta velocidade. Suponha, por exemplo, que um arquivo específico receba muitas solicitações de leitura. Se o cache for usado , o cache reconhecerá o arquivo como dados mais acessados e copiará esse arquivo para mídia de alta velocidade SSD.
Há várias variações no cache, mas aqui estão três das formas mais comuns:
- O armazenamento em cache SSD write-around se encaixa melhor na descrição acima. Os dados são gravados diretamente no armazenamento primário, ignorando inicialmente o cache e copiados para o cache somente quando forem identificados como ativos. Esse método tem a vantagem de armazenar em cache apenas os dados que provavelmente receberão o maior benefício do cache. A principal desvantagem é que não há armazenamento em cache para operações de gravação.
- O cache do SSD de gravação é adequado para aplicativos que gravam dados e, em seguida, relê-los imediatamente. Isso ocorre porque esse tipo de armazenamento em cache grava dados no SSD e, em seguida, imediatamente no dispositivo de armazenamento primário. A vantagem dessa técnica é que todos os dados recém-gravados são armazenados em cache. No entanto, o sistema pode experimentar um alto grau de latência para operações de gravação, porque os dados devem ser gravados em dois locais diferentes antes de serem considerados gravados no disco.
- O cache SSD de write-back é semelhante ao cache de write-through, pois todas as operações de gravação são armazenadas em cache. No entanto, o cache de write-back disponibiliza imediatamente os dados para uso, mesmo que ainda não tenham sido confirmados no armazenamento primário. Isso reduz a latência, mas adiciona o potencial de perda de dados no caso de uma falha no cache. Os fornecedores que usam cache de write-back geralmente implementam proteções como SSDs redundantes ou RAM com bateria.
Compare e contraste: níveis de armazenamento em cache e armazenamento em cache SSD
Embora existam semelhanças entre classificação e armazenamento em cache , há uma grande diferença. Enquanto o cache envolve a cópia de dados em um meio de alta velocidade, as camadas de armazenamento movem fisicamente os dados entre os dispositivos de armazenamento. Suponha, mais uma vez, que um arquivo específico esteja recebendo muitas solicitações de leitura, mas desta vez, armazenamento em camadas é usado. Como foi o caso do armazenamento em cache, o sistema identifica o arquivo como dados ativos. Em vez de apenas fazer uma cópia dos dados e colocá-los na camada de alta velocidade, os dados são movidos fisicamente para que a camada padrão não contenha mais uma cópia dos dados. Quando os dados começam a esfriar, o sistema move o arquivo da camada de alta velocidade e volta para a camada padrão. Uma camada de alta velocidade geralmente melhora o desempenho, mas o desempenho pode ser degradado em determinadas circunstâncias devido ao IOPS extra criado pelos processos de transferência de dados.
Então, você deve usar cache, classificação em camadas ou alguma combinação dos dois? Você precisará considerar o tipo de carga de trabalho e a quantidade de espaço disponível para armazenamento em cache ou usar como uma camada de alta velocidade. Uma organização pode usar as camadas no nível de armazenamento, mas implementa um cache pequeno e de alta velocidade no nível do servidor. Dependendo da carga de trabalho do servidor, a degradação do desempenho pode ocorrer como resultado do armazenamento em cache duplo.
Desafios de armazenamento em cache e hierarquia de SSD
Talvez o problema mais difundido no armazenamento em cache e em camadas seja o de que os dados sejam armazenados em cache ou em camadas de uma maneira que não seja benéfica e possivelmente até contraproducente - como o cache duplo, que pode prejudicar o desempenho.
As operações de backup são um exemplo comum. Se não estiver configurado corretamente, o destino do backup poderá tentar gravar todo ou parte do repositório de backup em um cache ou camada de alta velocidade. Isso não é necessariamente problemático por si só, mas é um desperdício de recursos, pois é improvável que os dados de backup sejam lidos em um futuro próximo. Os recursos limitados do cache seriam melhor utilizados para dados acessados com mais frequência.
Uma maneira de resolver esse problema é criar políticas que controlem quais aplicativos têm permissão para usar cache ou classificação em camadas. Isso economiza recursos SSD para as cargas de trabalho para as quais serão mais benéficas.
A classificação por níveis de armazenamento e o cache SSD oferecem o potencial de melhorar o desempenho, desde que sejam alocados às cargas de trabalho apropriadas. Em um futuro não muito distante, parece provável que o SSD possa dar lugar ao NVDIMM para cache ou uso em camadas de alta velocidade. Embora não seja tão rápido quanto a DRAM, o NVDIMM fornece um nível impressionante de desempenho e latência muito baixa .