Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando o armazenamento Intel Optane para SQL Server

Intel Optane SSD DC P4800X Básico



A série Intel Optane SSD DC P4800X foi introduzida no primeiro trimestre de 2017, inicialmente com capacidade de 375 GB e posteriormente com capacidade de 750 GB sendo lançada no final de 2017. A Intel também lançou recentemente uma versão de 1,5 TB desta unidade que ainda é difícil de entrar o canal de varejo. Todas essas unidades usam uma interface PCIe NVMe 3.0 x4 e vêm em dois formatos diferentes, sendo o primeiro uma placa adicional (AIC) de meia altura e meio comprimento (HHHL) que vai em um slot de expansão PCIe e o segundo é um formato U.2 de 15 mm para drives de 2,5” que se conectam via PCIe 3.0.

A tecnologia de armazenamento 3D XPoint da Intel é fundamentalmente diferente do flash NAND tradicional. O alto desempenho do SSD DC P4800X em baixas profundidades de fila torna muito mais fácil obter um desempenho muito alto do mundo real, especialmente para uso do SQL Server. Os SSDs Intel Optane têm latência aproximadamente 10 vezes menor e taxa de transferência 5-8 vezes melhor em profundidades de fila baixas em comparação com os SSDs baseados em NAND PCIe NVMe mais rápidos. Eles também têm maior resistência de gravação do que o armazenamento flash NAND corporativo de “gravação intensiva” e seu desempenho não se deteriora, pois estão perto de ficar cheios. Eles têm tempos de resposta de leitura consistentes sob uma carga de trabalho de gravação muito pesada e, diferentemente das unidades flash NAND tradicionais, não há perda de desempenho com unidades de menor capacidade em comparação com unidades de maior capacidade da mesma linha de produtos. Para cargas de trabalho de baixa latência, atualmente não há nada que se aproxime do Intel Optane SSD DC P4800X.

Especificações do SSD Intel Optane DC P4800X



A Intel classifica a série Optane SSD DC P4800X em 2.500 MB/s para leituras sequenciais, 2.200 MB/s para gravações sequenciais e 550.000 IOPS para leituras e gravações. Sua latência nominal é de 10 µs (microssegundos) para leituras e gravações. Para efeito de comparação, a Intel classifica a atual geração 3D-NAND, célula de três níveis (TLC) SSD DC P4600 Series em 3200 MB/s para leituras sequenciais, 1575 MB/s para gravações sequenciais e 610.000 IOPS para leituras e 196.650 IOPS para escreve. Sua latência nominal é de 85 µs para leituras e 15 µs para gravações.

O preço atual é de cerca de US$ 1.200,00 para o tamanho de 375 GB e cerca de US$ 2.500,00 para o tamanho de 750 GB. O tamanho de 1,5 TB ainda é difícil de obter no canal de varejo, mas o preço deve ser aproximadamente o mesmo por GB que as unidades de menor capacidade. Na maioria dos casos, você desejará obter duas unidades idênticas e, em seguida, criar uma matriz RAID 1 de software usando os Espaços de Armazenamento do Windows para obter redundância sem perda de desempenho.

Certifique-se de baixar e instalar os drivers Intel Datacenter NVMe Microsoft Windows para SSDs Intel em vez de usar o driver genérico Microsoft NVMe. Você também desejará baixar e instalar a Ferramenta de atualização de firmware de SSD Intel para garantir que o firmware mais recente esteja instalado em cada unidade Optane.

Cenários de uso do SQL Server primário



Essas características de desempenho tornam essas placas Intel Optane extremamente adequadas para muitas cargas de trabalho intensas de tempdb, especialmente cargas de trabalho OLTP pesadas e situações em que você está usando isolamento de instantâneo com confirmação de leitura (RCSI) em seus bancos de dados de usuário (o que coloca a carga de trabalho de armazenamento de versão resultante em tempdb).

Tive ótimos resultados usando essas unidades Intel Optane SSD DC P4800X para instâncias do SQL Server com cargas de trabalho de tempdb extremamente exigentes. Vários clientes recentes moveram seus arquivos de banco de dados tempdb de algum outro tipo de armazenamento para uma unidade lógica apoiada por algumas placas de armazenamento Intel Optane SSD DC P4800X PCIe NVMe (em uma matriz RAID 1 de software). Um caso de uso clássico é mover o tempdb do armazenamento compartilhado em uma SAN com uma instância de cluster de failover tradicional para o armazenamento local em cada nó do cluster, o que você pode fazer com o SQL Server 2012 e mais recente. Outro caso de uso é simplesmente mover seus arquivos tempdb de seu local atual para a nova unidade lógica que mapeia para sua matriz RAID 1 Optane em uma instância de servidor independente, independentemente da versão do SQL Server que você está usando.

Essas unidades Optane são relativamente baratas e oferecem o tipo mais rápido disponível atualmente de armazenamento em modo de bloco tradicional, sem exceção. Eles são transparentes para o SQL Server e funcionarão em qualquer sistema que suporte slots PCIe 3.0 x4 como placas complementares HHHL ou unidades conectadas U.2. Eles também funcionarão com versões herdadas do SQL Server (desde que seu sistema operacional e hardware o suportem). É bastante comum ver alta latência de gravação em nível de arquivo em arquivos de dados tempdb do DMV sys.dm_io_virtual_file_stats, portanto, simplesmente mover seus arquivos de dados tempdb para o armazenamento Optane é uma maneira de resolver diretamente esse problema, que pode ser mais rápido e muito mais fácil do que ajuste de carga de trabalho convencional.

Se você estiver vendo problemas de contenção de alocação no tempdb (que geralmente tem muito pouco a ver com o desempenho subjacente da(s) unidade(s) em que o tempdb está localizado), siga as orientações de Pam Lahoud da Microsoft em sua postagem no blog TEMPDB – Arquivos e Trace Flags e Atualizações, Oh meu Deus! Ter armazenamento extremamente rápido para tempdb ajudará indiretamente com problemas de contenção de alocação em tempdb, mas é muito importante que você siga as orientações atuais da Microsoft sobre configuração de tempdb, sinalizadores de rastreamento e patch do SQL Server para abordar mais diretamente os problemas de contenção de alocação em tempdb.

Outro uso possível para o armazenamento Intel Optane é como um lar para o(s) arquivo(s) de log de transações do banco de dados do usuário, especialmente se você tiver vários bancos de dados de usuários que tenham o arquivo de log de transações localizado na mesma unidade lógica ou se houver esperas altas de WRITELOG em sua instância. É uma alternativa possível para usar a propriedade de durabilidade atrasada do SQL Server (que requer SQL Server 2014 e tem risco de perda de dados) ou usar o recurso de buffer de log persistente do SQL Server (que requer SQL Server 2016 SP1 e NV-DIMMs para hospedar o arquivo de log de transações “cauda do log” de 20 MB).

Eu também tenho alguns clientes (com bancos de dados menores) que simplesmente moveram TODOS os dados do banco de dados do usuário e arquivos de log, juntamente com seus arquivos tempdb para o armazenamento Optane com excelentes resultados.

Resultados do teste CrystalDiskMark



A Intel faz uma versão de consumidor de ponta do Optane SSD DC P4800X, que é o Intel Optane 900P. Eles também têm um Intel Optane 905P um pouco mais novo e mais rápido. Eu tenho uma placa PCIe Intel Optane 900P de 480 GB na minha estação de trabalho principal AMD Ryzen Threadripper 2950X, juntamente com uma placa Intel SSD 750 PCIe de 400 GB mais antiga baseada em NAND. Um teste rápido do CrystalDiskMark fornece os resultados mostrados nas Figuras 1 e 2. O teste mais relevante é a transferência 4K com QD de 1 com 1 thread de execução, conforme mostrado na linha inferior.

Figura 1:resultados do Intel Optane 900P de 480 GB

Figura 2:Resultados do SSD Intel 750 PCIe NVMe de 400 GB

Se você estiver vendo alta latência de armazenamento ou gargalos de E/S aleatórios com sua carga de trabalho, poderá obter uma melhoria de desempenho muito notável simplesmente movendo os arquivos relevantes do SQL Server de onde estão agora para o armazenamento Intel Optane. Isso pode ser feito por uma quantia relativamente pequena de dinheiro e funcionará com qualquer versão do SQL Server. Isso pode ajudá-lo a obter uma vida útil extra de um servidor legado existente até que você possa atualizar.