Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT

Hoje, vamos apresentar as características do uso do SQL Server 2019 com o sistema de armazenamento Unity XT, além de fornecer recomendações para a virtualização do SQL Server com a tecnologia VMware, configuração e gestão dos componentes básicos da infraestrutura Dell EMC.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT
Em 2017, a Dell EMC e a VMware publicaram os resultados de uma pesquisa sobre as tendências e a evolução do SQL Server — "Transformação do SQL Server: Rumo à Agilidade e Resiliência" (Transformação do SQL Server: Rumo à Agilidade e Resiliência), que utilizou a experiência da comunidade de membros da Associação Profissional do SQL Server (Professional Association of SQL Server, PASS). Os resultados mostram que os ambientes de bancos de dados SQL Server estão crescendo tanto em tamanho quanto em complexidade, impulsionados pelo aumento dos volumes de dados e novas exigências comerciais. Os bancos de dados SQL Server estão atualmente implantados em muitas empresas, suportando aplicações críticas e frequentemente servindo como a base para a transformação digital. 

Desde a realização desta pesquisa, a Microsoft lançou a próxima geração de SGBD — SQL Server 2019. Além de melhorias nas funções principais do mecanismo relacional e do armazenamento de dados, novos serviços e funcionalidades foram adicionados. Por exemplo, o SQL Server 2019 inclui suporte para cargas de trabalho de big data utilizando o Apache Spark e o sistema de arquivos distribuído Hadoop (Hadoop Distributed File System, HDFS).

Aliança Dell EMC e Microsoft

A Dell EMC e a Microsoft têm colaborado há muito tempo no desenvolvimento de soluções para o SQL Server. A implementação bem-sucedida de uma plataforma de banco de dados abrangente, como o Microsoft SQL Server, requer a coordenação das funções de software com a infraestrutura de TI subjacente. Essa infraestrutura inclui capacidades de computação do processador, recursos de memória, armazenamento e serviços de rede. A Dell EMC oferece infraestrutura para a plataforma SQL Server para qualquer tipo de carga de trabalho e aplicações.

A linha de servidores Dell EMC PowerEdge oferece uma variedade de configurações de processadores e memória. Essas configurações são adequadas para uma ampla gama de cargas de trabalho: desde pequenas aplicações corporativas até os maiores sistemas críticos, como planejamento de recursos empresariais (ERP), data warehouses, análises avançadas, comércio eletrônico, entre outros. A linha de armazenamento é projetada para armazenar dados não estruturados e estruturados. 

Clientes que implementam o SQL Server 2019 com a infraestrutura Dell EMC podem trabalhar com dados estruturados e não estruturados, utilizando o SQL Server e o Apache Spark. O SQL Server também suporta combinações de tecnologias de acesso do cliente, comunicação entre servidores e comunicação 'servidor-armazenamento'. A abordagem da Dell EMC baseia-se em um modelo desagregado, que oferece um ecossistema aberto. As organizações podem escolher entre uma ampla gama de aplicativos de rede padrão da indústria, sistemas operacionais e plataformas de hardware. Essa abordagem proporciona controle máximo sobre as tecnologias e arquiteturas, resultando em economias e flexibilidade significativas.

O VMware fornece a virtualização de todos os componentes críticos da infraestrutura que o SQL Server necessita para alcançar alto desempenho e consistência operacional. Além da nuvem privada, o VMware também oferece atualmente modelos híbridos para cargas de trabalho, abrangendo arquiteturas de nuvem privadas e públicas. 

Muitas organizações adotam a virtualização para reduzir os custos da infraestrutura, garantir alta disponibilidade e simplificar a recuperação de desastres. 94% dos especialistas em SQL Server entrevistados informam algum nível de virtualização em seu ambiente. 70% daqueles que usam virtualização escolheram o VMware. 60% têm um nível de virtualização do SQL Server de 75% ou mais. Além disso, os resultados da pesquisa mostram de forma convincente que alta disponibilidade e recuperação de desastres, implementadas no nível de virtualização, tornaram-se fatores importantes na decisão de virtualizar bancos de dados SQL Server.

Novos recursos do SQL Server 2019

A plataforma de bancos de dados SQL Server 2019 inclui uma ampla gama de tecnologias, funcionalidades e serviços que suportam aplicações críticas, como análise, bancos de dados empresariais, inteligência de negócios (BI) e processamento de transações escaláveis (OLTP). A plataforma SQL Server adquiriu capacidades para gerenciamento de integração de dados, data warehouses, relatórios e análises avançadas, além de funcionalidades de replicação e gestão de tipos de dados semiestruturados. É claro que nem todos os clientes ou aplicações necessitam de todas essas funcionalidades. Além disso, em muitos casos, é preferível separar os serviços do SQL Server por meio da virtualização. 

Hoje em dia, as empresas frequentemente precisam depender de grandes volumes de dados de uma ampla variedade de conjuntos de dados em constante crescimento. Com o SQL Server 2019, você pode obter insights valiosos praticamente em tempo real de todos os dados. Os clusters do SQL Server 2019 fornecem um ambiente totalmente escalável para trabalhar com grandes conjuntos de dados, incluindo o uso de aprendizado de máquina e capacidades de inteligência artificial. As principais novas funcionalidades e atualizações do SQL Server 2019 estão listadas no documento da Microsoft.

Sistema de armazenamento de médio porte Dell EMC Unity XT

A linha de armazenamento Dell EMC Unity foi lançada há quase três anos, e desde então mais de 40.000 sistemas foram vendidos. Os clientes valorizaram esse array de médio porte pela sua simplicidade, desempenho e custo-benefício. As plataformas de médio porte Dell EMC Unity XT são soluções de armazenamento unificado que proporcionam baixa latência, alta largura de banda e baixos custos de gerenciamento para cargas de trabalho do SQL Server. Todos os sistemas Unity XT utilizam uma arquitetura de dois processadores (storage processors, SP) para gerenciar entrada/saída e realizar operações de dados em modo ativo/ativo. Na Unity XT, dual SP é utilizado para garantir alto desempenho e eficiência com interconexão interna completa de SAS 12 Gbps e uma arquitetura multicores patenteada. Os arrays de disco permitem aumentar a capacidade de armazenamento por meio de shelves adicionais.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT
No Dell EMC Unity XT, uma nova geração de arrays (híbridos e totalmente baseados em flash), a performance aumentou significativamente, a eficiência foi aprimorada e novas funcionalidades e serviços para ambientes multi-nuvem foram adicionados. 

A arquitetura Unity XT permite processar dados simultaneamente, reduzindo seu volume e suportando serviços como replicação sem comprometer a performance das aplicações. Comparado à solução da geração anterior, a performance do armazenamento Dell EMC Unity XT foi dobrada, e o tempo de resposta diminuiu em 75%. Além disso, o Dell EMC Unity suporta o padrão NVMe.

Os storages com drives NVMe demonstram suas melhores qualidades em aplicações sensíveis à latência. Por exemplo, em aplicações como bancos de dados massivos, o NVMe garante baixa latência e altas taxas de transferência de dados. A redução da latência e o aumento do paralelismo elevam significativamente a performance das operações de leitura/escrita. Não é à toa que, segundo as previsões da IDC, até 2021, arrays flash conectados via NVMe e NVMe-oF (NVMe over Fabric) representarão cerca de metade de toda a receita de vendas de sistemas de armazenamento externos no mundo. 

A economia em armazenamento é melhorada por algoritmos de compressão de dados. O Dell EMC Unity XT pode reduzir o volume de dados em cinco vezes. Outro indicador importante é a eficiência total do sistema. O Dell EMC Unity XT utiliza 85% da capacidade do sistema. A compressão e a deduplicação são realizadas em modo inline — no nível dos controladores. Os dados são armazenados de forma compactada. O sistema também automatiza o gerenciamento de snapshots.

As arrays flash Unity, fáceis de usar, com acesso unificado (bloco e arquivo) proporcionam um tempo de resposta consistente, integram-se a serviços de armazenamento em nuvem e suportam upgrades sem migração de dados. Na configuração básica, este sistema de armazenamento versátil pode ser instalado em 30 minutos.

A tecnologia de armazenamento chamada "pools dinâmicos" permite a transição de um aumento de capacidade estática para dinâmica, oferecendo alta flexibilidade operacional e facilidade de expansão de capacidade do sistema. Os pools dinâmicos economizam capacidade e orçamento, exigem menos tempo para reestruturação. A expansão da capacidade e da performance do Dell EMC Unity não requer migração de dados. 

Muitas empresas hoje combinam sua infraestrutura local com vários serviços de nuvem pública. O Dell EMC Unity XT pode funcionar como um componente do ambiente de nuvem Dell Technologies Cloud. Este sistema de armazenamento pode ser utilizado na nuvem pública e transferir dados para a nuvem privada. Além disso, o sistema de armazenamento Dell EMC Unity XT está disponível no modelo "como serviço". Este é um dos serviços de armazenamento em nuvem Dell EMC Cloud Storage Services.
 
Os armazenamentos em nuvem estão ganhando cada vez mais popularidade, pois permitem aumentar o retorno sobre o investimento ao reduzir custos com infraestrutura. Os serviços de armazenamento em nuvem Cloud Storage Services expandem os data centers dos clientes para a nuvem, oferecendo armazenamento Dell EMC (conectado diretamente aos recursos da nuvem pública) como um serviço. Provedores terceiros podem garantir uma conexão de alta velocidade (com baixa latência) da nuvem pública diretamente com os sistemas Dell EMC Unity, PowerMax e Isilon no data center do cliente.

A família Unity XT inclui os sistemas Unity XT All-Flash, Unity XT Hybrid, UnityVSA e Unity Cloud Edition.
 

Matriz unificada híbrida e flash 

Os sistemas de armazenamento Unity XT Hybrid e Unity XT All-Flash, baseados em processadores Intel, implementam uma arquitetura integrada para acesso em bloco, acesso a arquivos e volumes VMware VVols com suporte a protocolos de armazenamento em rede (NAS), iSCSI e Fibre Channel (FC). As plataformas Unity XT Hybrid e Unity XT All-Flash estão prontas para utilização de unidades NVMe.

Os sistemas híbridos Unity XT suportam operações em ambientes multi-nuvem. O suporte a ambientes multi-nuvem significa a extensão do sistema de armazenamento para a nuvem ou a implementação na nuvem com opções flexíveis de utilização de recursos. Os armazenamentos multi-nuvem visam garantir mobilidade, portabilidade de dados entre várias plataformas de nuvem – privadas e públicas. Isso impacta não apenas nos processos de movimentação de dados, mas também na organização do acesso das aplicações aos dados em várias nuvens públicas.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT
Essas matrizes híbridas oferecem as seguintes capacidades:

  • Escalabilidade de até 16 PB de capacidade bruta.
  • Recursos integrados de redução de volume de dados para todos os pools de flash.
  • Instalação e configuração rápidas (em média leva 25 minutos).

As tecnologias de unidades de estado sólido estão avançando rapidamente, e novos produtos revolucionários aparecerão no mercado nos próximos anos. Enquanto isso, as organizações continuarão a substituir os discos rígidos tradicionais por unidades de estado sólido para melhorar o desempenho, facilitar a gestão e economizar energia. Novas gerações de matrizes de flash serão caracterizadas por meios de automação de armazenamento mais avançados, integração com a nuvem pública e proteção de dados integrada. 

Os sistemas Unity XT All-Flash oferecem alta velocidade, eficiência e suporte a várias nuvens. Suas características incluem:

  • Desempenho duplicado.
  • Redução do volume de dados em até 7:1.
  • Instalação e configuração rápidas (o processo leva menos de 30 minutos).

 UnityVSA

O sistema UnityVSA é uma solução de armazenamento definida por software para ambientes virtuais VMware ESXi, utilizando capacidade de armazenamento de servidor, compartilhada ou em nuvem. A configuração UnityVSA HA, com duas unidades UnityVSA, oferece redundância adicional. O armazenamento UnityVSA oferece:

  • Até 50 TB de capacidade de armazenamento unificado totalmente funcional.
  • Compatibilidade com sistemas e funcionalidades Unity XT.
  • Suporte a sistemas de alta disponibilidade (UnityVSA HA).
  • Conexão como NAS e iSCSI.
  • Replicação de dados de outras plataformas Unity XT.

Unity Cloud Edition

Para sincronização de arquivos e operações de recuperação de desastres com a nuvem, a família Unity XT inclui a versão Unity Cloud Edition, que oferece:

  • Funcionalidades de armazenamento totalmente funcionais utilizando armazenamento definido por software (SDS), implantado na nuvem.
  • Implantação simples de armazenamento em bloco e de arquivos com VMware Cloud na AWS.
  • Suporte à recuperação de desastres, incluindo testes e análise de dados.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT

Unity XT All Flash para SQL Server

No relatório Unisphere Research de 2017 "Transformação do SQL Server: rumo à flexibilidade e resiliência" (Transformação do SQL Server: Rumo à Agilidade e Resiliência) 22% dos entrevistados relataram que usam tecnologia de armazenamento em flash em produção (16%) ou planejam fazê-lo (6%). 30% utilizam matrizes híbridas que incluem memória flash. 13% usam matrizes de flash com conexão direta. 13% fazem backups de bancos de dados SQL Server em armazenamento em flash.

A rápida implementação de armazenamento flash para uso com SQL Server significa que os arrays Unity XT All-Flash são especialmente adequados para desenvolvedores e administradores SQL Server. Os sistemas Unity XT All-Flash oferecem aos desenvolvedores e administradores SQL Server capacidades e desempenho que vão além do que as redes de armazenamento típicas (SAN) oferecem.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT
Os sistemas Unity XT All-Flash, preparados para a implementação de NVMe (para desempenho ainda mais elevado e baixa latência), têm forma 2U, suportam processadores de dois núcleos e dois controladores em modo ativo/ativo.

Modelos Unity XT All-Flash

Unity XT 

Processadores 

Memória (por processador)

Máx. número de unidades

Máx. capacidade "bruta" (PB) 

380F 

1 Intel E5-2603 v4 
6c/1.7 GHz

64 

500 

2.4 

480F 

2 Intel Xeon Silver 
4108 8c/1.8 GHz 

96 

750 

4.0 

680F 

2 Intel Xeon Silver 
4116 12c/2.1 GHz

192 

1,000 

8.0 

880F 

2 Intel Xeon Gold 6130 
16c/2.1 GHz

384 

1,500 

16.0 

Mais detalhes podem ser encontrados nas especificações do array (Dell EMC Unity XT Storage Series Specification Sheet).

Pools de armazenamento

Muitos profissionais que trabalham com SQL Server sabem que todos os arrays de armazenamento modernos oferecem a capacidade de agrupar discos em unidades de armazenamento maiores com um nível fixo de proteção RAID. Grupos separados de discos com proteção RAID são pools de armazenamento tradicionais. Enquanto os sistemas híbridos Unity XT suportam apenas pools tradicionais, os arrays Unity XT All-Flash também oferecem pools de armazenamento dinâmicos. No caso de pools de armazenamento dinâmicos, a proteção RAID é aplicada aos extents dos discos - unidades de armazenamento menores que um disco completo. Pools dinâmicos oferecem maior flexibilidade na gestão e expansão de pools de discos. 

A Dell EMC oferece diretrizes para gerenciar pools de armazenamento para alcançar o máximo desempenho com a mínima complexidade. Por exemplo, recomenda-se minimizar o número de pools de armazenamento Unity XT para reduzir a complexidade e aumentar a flexibilidade. No entanto, configurar pools de armazenamento adicionais pode ser bastante sensato em alguns casos, incluindo quando é necessário:

  • Apoiar cargas de trabalho individuais com diferentes perfis de I/O.
  • Alocar recursos para alcançar parâmetros de desempenho específicos.
  • Alocar recursos separados para multi-inquilino.
  • Criar domínios menores para proteção contra falhas.

Volumes de armazenamento (LUN)

Como encontrar um compromisso entre gerenciamento e flexibilidade ao escolher o número de volumes em um array? Para máxima flexibilidade no Unity com SQL Server, recomenda-se criar volumes para cada arquivo de banco de dados. Na prática, a maioria das organizações adota uma abordagem em camadas, onde bancos de dados críticos recebem a máxima flexibilidade, enquanto arquivos de bancos de dados menos importantes são agrupados em um menor número de grandes volumes. Recomendamos examinar todos os requisitos dos bancos de dados e de quaisquer aplicativos relacionados, uma vez que as tecnologias de proteção de dados e monitoramento dependem da isolação e localização dos arquivos.

Gerenciar múltiplos volumes pode ser complicado, especialmente em ambientes virtuais. Ambientes virtualizados do SQL Server são um bom exemplo de quando pode fazer sentido colocar vários tipos de arquivos em um único volume. O administrador de banco de dados ou o administrador de armazenamento (ou ambos) devem encontrar o equilíbrio certo entre flexibilidade e facilidade de manutenção ao determinar a quantidade de volumes a serem criados.

Armazenamento de arquivos

Servidores NAS hospedam sistemas de arquivos no sistema de armazenamento Unity XT. Os sistemas de arquivos podem ser acessados por meio dos protocolos SMB ou NFS, e devido ao sistema de arquivos multiprotocolo, é possível usar ambos os protocolos simultaneamente. Para conectar o host a sistemas de arquivos SMB, NFS e multiprotocolo, assim como a armazenamento de dados VMware NFS e volumes virtuais VMware, servidores NAS utilizam interfaces virtuais. Sistemas de arquivos e interfaces virtuais são isolados dentro de um único servidor NAS, permitindo que vários servidores NAS sejam utilizados para multitenancy. Os servidores NAS fazem a troca automaticamente em caso de falha, caso o processador de armazenamento falhe. Os sistemas de arquivos relacionados também são comutados em caso de falha.

SQL Server 2012 (11.x) e versões posteriores suportam o protocolo Server Message Block (SMB) 3.0, que permite o compartilhamento de um arquivo de rede para armazenamento. Tanto para a instalação autônoma quanto para um cluster de alta disponibilidade, você pode instalar bancos de dados do sistema (master, model, msdb e tempdb) e bancos de dados personalizados do Database Engine com a opção de armazenamento SMB. O uso de armazenamento SMB é uma boa opção ao utilizar grupos de alta disponibilidade Always On Availability Groups, pois um recurso de arquivo compartilhado requer acesso a um recurso de rede de alta disponibilidade.

Criar recursos de arquivos compartilhados SMB para a implantação do SQL Server com armazenamento Unity XT é um processo simples de três etapas: é preciso criar um servidor NAS, um sistema de arquivos e um recurso SMB compartilhado. O software Dell EMC Unisphere Storage Management inclui uma ferramenta de configuração que ajuda a executar esse processo. No entanto, ao hospedar cargas de trabalho do SQL Server em recursos de arquivos compartilhados SMB, é importante considerar alguns aspectos importantes que podem não estar necessariamente relacionados ao uso de recursos de arquivos compartilhados SMB. A Microsoft elaborou uma lista de questões de instalação e segurança junto com problemas conhecidos; detalhes podem ser encontrados na seção 'Instalação do SQL Server com armazenamento de arquivos SMB' na documentação da Microsoft.

Instantâneas de Dados

Os dados tornaram-se o recurso mais importante das empresas, e hoje ambientes críticos exigem não apenas backup. É necessário que os aplicativos estejam sempre online, garantindo operações ininterruptas e atualizações. Eles também exigem alta performance e disponibilidade de dados através de opções como replicação local de instantâneas e replicação remota.

A matriz de armazenamento Unity XT oferece recursos de criação de instantâneas para blocos e arquivos, utilizando fluxos de trabalho, operações e arquitetura comuns. A metodologia de instantâneas da Unity proporciona uma maneira simples e eficaz de proteger dados. As instantâneas facilitam a recuperação de dados – revertendo a uma instantânea anterior, ou você pode copiar dados selecionados de uma instantânea anterior. A tabela a seguir apresenta os prazos de retenção de instantâneas para sistemas Unity XT.

Armazenamento local e remoto de instantâneas de dados

Tipo de instantânea

CLI
UI
REST

Manual 

Programado 

Manual 

Programado 

Manual 

Programado 

Local 

1 ano 

1 ano

5 anos 

4 semanas

100 anos

Sem restrições

Remoto 

5 anos

255 semanas 

5 anos

255 semanas

5 anos

255 semanas

Os snapshots não substituem métodos tradicionais de proteção de dados, como backup. Eles podem apenas complementar o backup tradicional como a primeira linha de defesa para cenários com baixo RTO.

A função de snapshots da Dell EMC Unity inclui redução de dados e deduplicação avançada. Os snapshots também se beneficiam da economia de espaço alcançada no recurso de armazenamento original. Quando você cria um snapshot de um recurso de armazenamento com suporte a funções de redução de dados, os dados na fonte podem ser comprimidos ou deduplicados.

Vamos destacar algumas observações sobre a recuperação de banco de dados ao usar snapshots com bancos de dados SQL Server:

  • Todos os componentes do banco de dados SQL Server devem ser protegidos como um conjunto de dados. Quando os arquivos de dados e logs estão em LUNs diferentes, esses LUNs devem fazer parte de um grupo consistente. O grupo consistente garante que o snapshot seja feito simultaneamente em todos os LUNs do grupo. Quando os arquivos de dados e logs estão em vários recursos de arquivos SMB compartilhados, os recursos compartilhados devem estar na mesma sistema de arquivos.
  • Ao recuperar um banco de dados SQL Server de um snapshot baseado em blocos, se a instância do SQL Server precisar permanecer conectada, use a conexão ao host Unisphere. Para recuperação baseada em arquivos, um recurso SMB adicional é criado usando o snapshot como fonte. Após conectar os volumes, o banco de dados pode ser anexado com um nome diferente ou substituir o banco de dados existente pelo restaurado.

  • Ao executar a recuperação utilizando o método de recuperação de snapshots Snapshot Restore no Unisphere, coloque a instância do SQL Server em modo offline. O SQL Server não reconhece operações de recuperação. Colocar a instância em modo offline garante que os volumes não sejam corrompidos por operações de escrita no banco de dados antes da recuperação. Assim que a instância for reiniciada, a recuperação de emergência do SQL Server trará os bancos de dados para um estado consistente.
  • Permita instantâneas para vários objetos de armazenamento ao mesmo tempo e, antes de ativar instantâneas adicionais, verifique se o sistema está funcionando em modos recomendados durante o monitoramento.

Automatização e agendamento de instantâneas

As instantâneas no Unity XT podem ser automatizadas. No sistema de gerenciamento de armazenamento Unisphere, as seguintes opções de instantâneas estão disponíveis por padrão: proteção padrão, proteção de armazenamento de curto prazo e proteção de armazenamento de longo prazo. Cada opção cria instantâneas diárias e as mantém por diferentes períodos.

Pode-se escolher uma (ou ambas) as opções de agendamento: a cada x horas (de 1 a 24) e diariamente/semanalmente. O agendamento diário/semanal de instantâneas permite especificar horários e dias para a criação das instantâneas. Para cada opção escolhida, é necessário definir uma política de armazenamento, que pode ser configurada para eliminar automaticamente um pool ou armazenar temporariamente.

Mais informações sobre as instantâneas do Unity estão na documentação da Dell EMC Unity. 

Clones finos

Um clone fino é uma cópia legível/gravação de um recurso de armazenamento de bloco fino, como um volume, grupo consistente ou armazenamento de dados VMware VMFS, que compartilha blocos com o recurso pai. Clones finos são uma excelente maneira de criar cópias compactas e rápidas de bancos de dados SQL Server, o que não pode ser alcançado com ferramentas tradicionais do SQL Server. Depois que o clone fino é apresentado ao host, os volumes podem ser revertidos para o modo operacional (online), e o banco de dados será anexado usando o método de anexação de BD no SQL Server.

Ao usar a função de atualização com clones finos, desconecte (coloque offline) todos os bancos de dados que estão no clone fino. Isso deve ser feito antes da operação de atualização. Se os bancos de dados não forem colocados offline antes da atualização, isso pode resultar em erros de inconsistência de dados ou resultados de dados incorretos no SQL Server.

Replicação de dados

A replicação é uma função de software que sincroniza dados com um sistema remoto em um mesmo volume ou em outro lugar. As opções de replicação e configurações do Unity permitem escolher uma maneira eficaz de atender às exigências de RTO/RPO para bancos de dados do SQL Server, mantendo um equilíbrio entre desempenho e largura de banda.

Ao usar a replicação do Dell EMC Unity para proteger bancos de dados do SQL Server em vários volumes, deve-se limitar todos os dados e volumes de logs de banco de dados a um único grupo consistente ou sistema de arquivos. Em seguida, a replicação é configurada no grupo ou sistema de arquivos e pode incluir volumes ou recursos compartilhados de vários bancos de dados. Bancos de dados que requerem diferentes parâmetros de replicação devem estar em LUNs separados, grupos consistentes ou sistemas de arquivos.

Os clones finos são compatíveis tanto com replicação síncrona quanto assíncrona. Quando um clone fino é replicado para o destino, ele se torna uma cópia completa do volume, grupo consistente ou armazenamento VMFS. Após a replicação, o clone fino é um volume completamente independente com suas próprias configurações.

Microsoft SQL Server 2019 e arrays de flash Dell EMC Unity XT
O processo de replicação de um clone fino entre os sistemas de origem e destino.

A replicação do banco de dados tempdb não é necessária, pois o arquivo é reconstruído ao reiniciar o SQL Server, e, portanto, os metadados não correspondem ao método de outras instâncias do SQL Server. A escolha cuidadosa dos volumes para replicação e do conteúdo desses volumes elimina tráfego de replicação desnecessário.

Gerenciamento integrado de cópias de dados do Microsoft SQL Server.

A maioria dos produtos de armazenamento modernos (incluindo todos os produtos Dell EMC) pode criar cópias "coerentes com o sistema operacional" de arquivos de qualquer tipo através de:

  • A ordem de gravação consistente do sistema operacional em todos os níveis - do host ao dispositivo de armazenamento.
  • Agrupamento de volumes, para que a ordem de gravação seja mantida para vários arquivos em diferentes volumes.

Com a ampla adoção de dispositivos de armazenamento escaláveis, a Microsoft desenvolveu uma API para fornecedores de armazenamento. Essa API permite que os fornecedores de armazenamento coordenem suas ações com o software de banco de dados SQL Server para criar "cópias consistentes com o aplicativo" usando o serviço de instantâneo de volumes (VSS). Essas cópias simulam a interação entre o SQL Server e o sistema operacional durante a operação programada e a finalização do SQL Server. Todos os buffers de gravação são limpos e as transações são suspensas até que todos os discos sejam atualizados e sincronizados em um determinado ponto no tempo, que é registrado no log do SQL.

O software Dell EMC AppSync, integrado aos instantâneos da Unity XT, simplifica e automatiza o processo de criação, uso e gerenciamento de cópias de dados de trabalho consistentes com o aplicativo. Este software é projetado para ser utilizado em cenários de gerenciamento de cópias para a recuperação de bancos de dados e seu reaproveitamento. 

O software AppSync descobre automaticamente bancos de dados de aplicativos, analisa a estrutura do banco de dados e representa a estrutura de arquivos através dos níveis de hardware ou de virtualização para o armazenamento base da Unity XT. Ele organiza todas as ações necessárias, desde a criação e verificação da cópia até a montagem dos instantâneos no host de destino e a inicialização ou recuperação do banco de dados. O AppSync apoia e simplifica os fluxos de trabalho do SQL Server, que incluem atualização e recuperação do banco de dados de trabalho.

Redução de dados e deduplicação avançada

A família de sistemas de armazenamento Dell EMC Unity oferece serviços de redução de dados multifuncionais e fáceis de usar. A economia é alcançada não apenas nos recursos primários de armazenamento provisionados, mas também em instantâneos e clones finos desses recursos. Instantâneos e clones finos herdaram a configuração de redução de dados do armazenamento original, o que aumenta a economia de capacidade.

A função de redução de dados inclui ações de deduplicação, compressão e detecção de blocos nulos, o que potencialmente aumenta a quantidade de espaço útil de armazenamento para objetos de usuário e uso interno. A função de redução de dados Unity XT substitui a função de compressão no Unity OE 4.3 e versões posteriores. Compressão é um algoritmo de redução de dados que pode diminuir a distribuição física da capacidade necessária para armazenar um conjunto de dados.

Os sistemas Unity XT também fornecem uma função avançada de deduplicação, que pode ser ativada se a redução de dados estiver habilitada. A deduplicação avançada reduz a capacidade necessária para dados de usuários, mantendo apenas um pequeno número de cópias (geralmente apenas uma cópia) de blocos de dados Unity. A área de deduplicação é um LUN. Considere isso ao escolher o esquema de armazenamento. Menores quantidades de LUN resultam em melhor deduplicação, mas mais LUNs proporcionam maior desempenho. 

A economia de capacidade através da deduplicação avançada pode oferecer o maior retorno na maioria dos ambientes, mas também exige o uso de recursos dos processadores do array Unity. Na OE 5.0, a deduplicação avançada, se ativada, deduplicará qualquer bloco (compactado ou não compactado). Para mais informações, consulte a documentação da Dell EMC.

A tabela a seguir apresenta as configurações suportadas para redução de dados e deduplicação avançada:

Redução de dados no Unity (todos os modelos) e suporte avançado à deduplicação

Versão do Unity OE 

Tecnologia 

Tipo de pool suportado 

Modelos suportados

4.3 / 4.4 

Redução de volume de dados 

Pool de flash — tradicional ou dinâmico 

300, 400, 500, 600, 300F, 400F, 500F, 600F, 350F, 450F, 550F, 650F 

4.5 
 

Redução de volume de dados 

300, 400, 500, 600, 300F, 400F, 500F, 600F, 350F, 450F, 550F, 650F 

Redução de volume de dados e deduplicação avançada*

450F, 550F, 650F 

5 
 

Redução de volume de dados 

300, 400, 500, 600, 300F, 400F, 500F, 600F, 350F, 450F, 550F, 650F, 380, 480, 680, 880, 380F, 480F, 680F, 880F 

Redução de dados e deduplicação avançada

450F, 550F, 650F, 380, 480, 680, 880, 380F, 480F, 680F, 880F

* A redução de volume de dados está desativada por padrão e deve ser ativada antes que a deduplicação avançada se torne uma opção disponível. Após a ativação da redução de volume de dados, a deduplicação avançada está disponível, mas desativada por padrão.

Redução de volume de dados no Unity e compressão de dados no SQL Server

O lançamento do SQL Server 2008 Enterprise Edition foi o primeiro a apresentar recursos próprios de compressão de dados. Ao realizar a compressão em nível de linhas e páginas, o SQL Server 2008 utiliza o conhecimento do formato da tabela interna do banco de dados SQL Server para reduzir o espaço ocupado pelos objetos do banco de dados. A redução de espaço permite armazenar mais linhas por página e mais páginas no pool de buffers. Como os dados que não estão salvos no formato de página de dados de 8k, como dados fora da linha, como NVARCHAR (MAX), não utilizarão os métodos de compressão de linhas ou páginas, a Microsoft introduziu as funções Transact-SQL COMPRESS e DECOMPRESS. 

Essas funções utilizam uma abordagem tradicional para a compressão de dados (algoritmo GZIP), que precisa ser invocada para cada seção de dados para compressão ou descompressão.

A compressão Unity XT, que não se limita exclusivamente ao SQL Server, utiliza um algoritmo de software para analisar e comprimir dados da SXX. Desde o lançamento do Unity OE 4.1, a compressão de dados Unity está disponível para volumes de armazenamento em bloco e sistemas de armazenamento VMFS no pool com memória flash. A partir do Unity OE 4.2, a compressão também está disponível para sistemas de arquivos e armazéns de dados NFS em pools de armazenamento em unidades flash.

A escolha do método de compressão de dados para o SQL Server depende de vários fatores. Esses fatores incluem o tipo de conteúdo do banco de dados, os recursos disponíveis da CPU - tanto no armazenamento quanto nos servidores de banco de dados - e os recursos de entrada e saída necessários para cumprir o SLA. Em geral, espera-se uma economia adicional de espaço para dados que são comprimidos pelos recursos do SQL Server; no entanto, os dados comprimidos usando a função de compressão TSQL com o algoritmo GZIP provavelmente não terão redução adicional significativa proporcionada pelas funções de compressão Unity XT, já que a maior parte dos benefícios é obtida com o primeiro algoritmo universal aplicado.

A compressão Unity oferece economia de espaço se os dados no objeto de armazenamento forem comprimidos em pelo menos 25%. Antes de habilitar a compressão para o objeto de armazenamento, determine se ele contém dados que podem ser comprimidos. Não ative a compressão para o objeto de armazenamento se isso não resultar em economia de capacidade. 

Ao tomar uma decisão sobre usar a redução de volume de dados da Unity, a compressão no nível do banco de dados SQL Server ou ambos, considere o seguinte:

  • Os dados gravados no sistema Unity são confirmados pelo host após serem salvos no cache do sistema. No entanto, o processo de compressão não é iniciado até que o cache seja limpo.

  • A economia com a compressão é alcançada não apenas para recursos de armazenamento Unity XT, mas também para snapshots e clones finos do recurso.
  • Durante o processo de compressão, vários blocos são agregados usando um algoritmo de amostragem para determinar se os dados podem ser comprimidos. Se o algoritmo de amostragem determinar que apenas uma economia mínima pode ser alcançada, a compressão é pulada e os dados são gravados no pool.
  • Quando os dados são comprimidos antes de serem gravados no meio, o volume de operações envolvidas é significativamente reduzido. Portanto, a compressão ajuda a diminuir o desgaste da memória flash ao reduzir o volume físico de dados gravados no armazenamento.

Para mais informações sobre a compressão de linhas e páginas no SQL Server para tabelas e índices, consulte documentação da Microsoft.

Não se esqueça de que qualquer compressão requer recursos da CPU. Com altas demandas de largura de banda, a compressão pode ter um impacto significativo no desempenho. Altas taxas de gravação em cargas de trabalho OLAP também podem reduzir os benefícios da compressão para o banco de dados SQL Server.

Especialistas da Dell EMC estudaram a economia potencial usando taxas reais de redução de dados em arrays Unity. O grupo coletou dados de máquinas virtuais VMware, compartilhamento de arquivos, bancos de dados SQL Server, máquinas virtuais Microsoft Hyper-V, etc.

Os resultados do estudo mostraram que a redução no volume do arquivo de log do SQL Server é quase 10 vezes menor do que a do arquivo de dados:

  • Volume do banco de dados = 1,49: 1 (32,96%)
  • Volume dos logs = 12,9: 1 (92,25%)

O banco de dados SQL Server foi fornecido com dois volumes. Os arquivos do banco de dados são armazenados em um volume, enquanto os logs de transação estão em outro. A utilização de tecnologia de deduplicação de dados em volumes de banco de dados pode garantir economia de espaço de armazenamento; no entanto, deve-se considerar o impacto no desempenho ao decidir incluir deduplicação nos volumes do banco de dados. Embora a redução real do volume do banco de dados possa variar dependendo dos dados armazenados, os resultados da pesquisa mostraram que o espaço para armazenar logs de transação do SQL Server pode ser significativamente reduzido..

Melhores práticas para redução do volume de dados

Antes de ativar a redução de dados em um objeto de armazenamento, considere as seguintes recomendações:

  • Use monitoramento do sistema de armazenamento para garantir que ele tenha recursos disponíveis para suportar a redução do volume de dados.
  • Ative a redução do volume de dados para vários objetos de armazenamento ao mesmo tempo. Antes de ativá-la em objetos de armazenamento adicionais, monitore o sistema para garantir que ele esteja em modos de operação recomendados.
  • Nos modelos Unity XT x80F, a redução do volume de dados proporcionará economia de capacidade se os dados no bloco de armazenamento forem comprimidos em pelo menos 1%.

A redução do volume de dados em modelos anteriores do Unity x80F, operando sob OE 5.0, proporcionava economia se os dados fossem comprimíveis em pelo menos 25%.

  • Antes de ativar a redução do volume de dados em um objeto de armazenamento, determine se o objeto contém dados comprimíveis. Certos tipos de dados, como vídeo, áudio, imagens e dados binários, geralmente resultam em pouco benefício de compressão. Não ative a redução do volume de dados em um objeto de armazenamento, caso não haja economia de espaço.
  • Considere a compressão seletiva do volume de dados de arquivos que normalmente se comprimem bem.

Virtualização VMware

VMware vSphere é uma plataforma eficiente e segura para virtualização e ambientes em nuvem. Os principais componentes do vSphere são o VMware vCenter Server e o hipervisor VMware ESXi.

vCenter Server — uma plataforma unificada de gerenciamento de ambientes vSphere. Ela se destaca pela simplicidade de implantação e pela otimização proativa de recursos. ESXi é um hypervisor de código aberto que é instalado diretamente em servidores físicos. O ESXi tem acesso direto aos recursos de hardware e seu tamanho pequeno de 150 MB minimiza os requisitos de memória. Ele oferece desempenho confiável para diversas cargas de trabalho de aplicativos e suporta configurações poderosas de máquinas virtuais — até 128 CPUs virtuais, 6 TB de RAM e 120 dispositivos.

Para que o SQL Server funcione de maneira eficaz em hardware moderno, o sistema operacional do SQL Server (SQLOS) precisa "entender" a estrutura do hardware. Com o advento de sistemas de múltiplos núcleos e múltiplos nós com acesso não uniforme à memória (NUMA), entender as interações entre núcleos, processadores lógicos e físicos tornou-se especialmente importante.

Processadores 

Um processador virtual (vCPU) é um processador central virtual atribuído a uma máquina virtual. O número total de vCPUs atribuídas é calculado como:

Total de vCPUs = (número de soquetes virtuais) * (número de núcleos virtuais por soquete)

Se o desempenho estável for importante, a VMware recomenda que o total de vCPUs atribuídas a todas as máquinas virtuais não exceda o número total de núcleos físicos disponíveis no host ESXi. No entanto, é possível aumentar o número de vCPUs alocadas se o monitoramento mostrar que há recursos de CPU não utilizados disponíveis.

Em sistemas com a tecnologia Intel Hyper-Threading ativada, o número de núcleos lógicos (vCPUs) é o dobro do número de núcleos físicos. Nesse caso, não atribua o número total de vCPUs.

Em cargas de trabalho do SQL Server de nível mais baixo, a variabilidade da latência tem menos impacto. Assim, essas cargas de trabalho podem ser executadas em hosts com uma maior relação de vCPUs para físicas. Níveis razoáveis de carga de CPU podem aumentar a largura de banda geral do sistema, economizando licenças e mantendo um desempenho adequado.

O Intel Hyper-Threading geralmente aumenta a largura de banda total do host em 10–30%, o que sugere uma proporção de CPUs virtuais para processadores físicos de 1,1 a 1,3. A VMware recomenda ativar o Hyper-Threading na BIOS UEFI sempre que possível, para que o ESXi possa aproveitar os benefícios dessa tecnologia. A VMware também recomenda realizar testes e monitoramento cuidadosos ao usar o Hyper-Threading para cargas de trabalho do SQL Server.

Memória

Quase todos os servidores modernos utilizam a arquitetura de acesso não uniforme à memória (NUMA) para a comunicação entre a memória principal e os processadores. NUMA é uma arquitetura de hardware para memória compartilhada, que implementa a divisão de blocos de memória física entre os processadores físicos. Um nó NUMA é um ou mais soquetes de CPU junto com um bloco de memória dedicada. 

Ao longo da última década, a NUMA tem sido um tema amplamente discutido. A complexidade relativa da NUMA deve-se, em parte, às implementações de diferentes fornecedores. Em ambientes virtualizados, a complexidade da NUMA também é determinada pela quantidade de parâmetros de configuração e níveis — do hardware ao hiperconector, até o sistema operacional convidado e, finalmente, o aplicativo SQL Server. Um bom entendimento da arquitetura de hardware NUMA é um requisito obrigatório para qualquer administrador de banco de dados SQL Server que trabalhe com uma instância virtualizada do SQL Server.

Para melhorar a eficiência em servidores com muitos núcleos, a Microsoft introduziu o SoftNUMA. O software SoftNUMA permite dividir os recursos de CPU disponíveis dentro de uma única NUMA em vários nós SoftNUMA. De acordo com a VMware, o SoftNUMA é compatível com a topologia NUMA virtual (vNUMA) da VMware e pode otimizar ainda mais a escalabilidade e o desempenho do mecanismo de banco de dados para a maioria das cargas de trabalho...

Ao virtualizar VMware com SQL Server, utilize:

  • Monitoramento de máquinas virtuais para detectar falta de recursos de memória para o Mecanismo de Banco de Dados SQL Server. Este problema leva ao aumento das operações de entrada e saída e à redução do desempenho.

  • Para aumentar o desempenho, evite conflitos de memória entre máquinas virtuais, evitando sobrecarregar a memória no nível do host ESXi.
  • Considere verificar a alocação de memória física NUMA para determinar a quantidade máxima de memória que pode ser atribuída a uma máquina virtual dentro dos limites físicos do NUMA.
  • Se alcançar um desempenho adequado for o objetivo principal, considere reservar memória equivalente à memória alocada. Essa configuração garante que a máquina virtual receba apenas a memória física.

Armazenamento virtualizado

Configurar armazenamento em um ambiente virtualizado requer conhecimento da infraestrutura de armazenamento em rede (SAN). Assim como no caso do NUMA, é necessário entender como funcionam os diferentes níveis de entrada e saída — neste caso, desde o aplicativo na máquina virtual até a leitura e gravação física de dados em um meio de armazenamento permanente.

O vSphere oferece uma variedade de opções para configuração de armazenamento, que têm aplicações úteis na implementação do SQL Server com o array Unity XT. O FS VMFS é o método de armazenamento de dados mais amplamente utilizado em sistemas de armazenamento em bloco, como o Unity XT. O array Unity XT é a camada mais baixa, composta por unidades físicas apresentadas pelo vSphere como discos lógicos (volumes). Os volumes Unity XT são formatados como volumes VMFS pelo hipervisor ESXi. Administradores VMware criam um ou mais discos virtuais (VMDK), que são apresentados ao sistema operacional convidado. O RDM permite que a máquina virtual acesse diretamente o armazenamento em bloco (via FC ou iSCSI) do Unity XT sem formatação VMFS. Os volumes VMFS e RDM podem fornecer a mesma taxa de transferência de transações. 

Para armazenamento baseado em NFS para ESXi, a Dell EMC recomenda usar o VMware NFS em vez de sistemas de arquivos NFS de uso geral. A máquina virtual que executa o SQL Server e usa VMDK no armazenamento de dados NFS não tem conhecimento da camada de NFS subjacente. O sistema operacional convidado considera a máquina virtual como um servidor físico executando o Windows Server e o SQL Server. Discos compartilhados para configurações de instância de cluster com tolerância a falhas em armazenamento de dados NFS não são suportados.

Os volumes virtuais VMware vSphere (VVols) oferecem um gerenciamento mais refinado no nível da máquina virtual, independentemente da apresentação subjacente da memória física (como volumes ou sistemas de arquivos). A replicação baseada em array com VVols é suportada a partir do VVol 2.0 (vSphere 6.5). Um disco VVol pode ser usado em vez de um disco RDM para fornecer recursos de disco a uma instância de cluster SQL tolerante a falhas, a partir do vSphere 6.7, com suporte para reserva permanente via SCSI.

Redes virtualizadas

A rede no mundo virtual segue os mesmos conceitos lógicos que no mundo físico, mas utiliza software em vez de cabos e switches físicos. O impacto da latência da rede nas cargas de trabalho do SQL Server pode variar significativamente. Monitorar métricas de desempenho de rede em uma carga de trabalho existente ou em um sistema de teste bem implementado por um período representativo ajuda na criação de uma rede virtual.

Ao utilizar a virtualização VMware com o SQL Server, considere o seguinte:

  • Os switches virtuais, tanto padrão quanto distribuídos, fornecem a funcionalidade necessária para o SQL Server.
  • Para a separação lógica do tráfego de gerenciamento, vSphere vMotion e armazenamento em rede, utilize a marcação VLAN e grupos de portas do switch virtual.
  • A VMware recomenda enfaticamente habilitar jumbo frames em switches virtuais onde o tráfego vSphere vMotion ou tráfico iSCSI está ativado.
  • De maneira geral, siga as recomendações de rede para sistemas operacionais e hardware de convidados.

 Conclusão 

Os ambientes de banco de dados SQL Server estão se tornando cada vez mais escaláveis e complexos. No SQL Server 2019, a Microsoft melhorou funcionalidades principais do SQL Server e adicionou novas, como suporte a cargas de trabalho de big data com Apache Spark e HDFS. A Dell EMC, em colaboração com a Microsoft, continua a fornecer os componentes de infraestrutura essenciais para ambientes SQL Server — servidores, armazenamento e redes. 

Observamos um aumento significativo no tempo de atividade e uma redução no custo total de propriedade (TCO) quando especialistas em armazenamento e bancos de dados colaboram na criação de soluções de infraestrutura para SQL Server em plataformas de armazenamento compartilhado. A unidade flash Dell EMC Unity XT é uma solução de médio porte adequada para desenvolvedores e administradores SQL Server que precisam de alto desempenho e baixa latência. O sistema Unity XT All-Flash, projetado para operar em todos os dispositivos de armazenamento flash, suporta CPUs de dois processadores, configurações de dois controladores e otimização multicore.

Cada vez mais, as organizações estão virtualizando seus ambientes SQL Server. Embora a virtualização adicione um nível adicional de design à pilha de arquitetura, ela oferece benefícios significativos. Esperamos que algumas das funcionalidades e ferramentas da VMware frequentemente utilizadas em ambientes SQL Server, apresentadas acima, sejam úteis. Também recomendamos links para recursos que oferecem mais informações detalhadas.

Links Úteis

Dell EMC

VMware

Microsoft

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster