Segurança, acesso e operações para migrações Netezza
Este artigo é a terceira parte de uma série de sete partes que fornece orientação sobre como migrar do Netezza para o Azure Synapse Analytics. O foco deste artigo são as práticas recomendadas para operações de acesso de segurança.
Considerações de segurança
Este artigo discute métodos de conexão para ambientes Netezza herdados existentes e como eles podem ser migrados para o Azure Synapse Analytics com risco mínimo e impacto no usuário.
Este artigo pressupõe que há um requisito para migrar os métodos existentes de conexão e estrutura de usuário/função/permissão no estado em que se encontram. Caso contrário, use o portal do Azure para criar e gerenciar um novo regime de segurança.
Para obter mais informações sobre as opções de segurança do Azure Synapse, consulte Whitepaper de segurança.
Conexão e autenticação
Gorjeta
A autenticação no Netezza e no Azure Synapse pode ser "no banco de dados" ou por meio de métodos externos.
Opções de autorização Netezza
O sistema IBM Netezza oferece vários métodos de autenticação para usuários do banco de dados Netezza:
Autenticação local: Os administradores do Netezza definem os usuários do banco de dados e suas senhas usando o
CREATE USER
comando ou através das interfaces administrativas do Netezza. Na autenticação local, use o sistema Netezza para gerenciar contas e senhas de banco de dados e para adicionar e remover usuários de banco de dados do sistema. Este método é o método de autenticação padrão.Autenticação LDAP: use um servidor de nomes LDAP para autenticar usuários do banco de dados e gerenciar senhas, ativações de contas de banco de dados e desativações. O sistema Netezza usa um PAM (Pluggable Authentication Module) para autenticar usuários no servidor de nomes LDAP. O Microsoft Ative Directory está em conformidade com o protocolo LDAP, por isso pode ser tratado como um servidor LDAP para fins de autenticação LDAP.
Autenticação Kerberos: use um servidor de distribuição Kerberos para autenticar usuários de banco de dados e gerenciar senhas, ativações de contas de banco de dados e desativações.
A autenticação é uma configuração em todo o sistema. Os usuários devem ser autenticados localmente ou usando o método LDAP ou Kerberos. Se você escolher a autenticação LDAP ou Kerberos, crie usuários com autenticação local por usuário. LDAP e Kerberos não podem ser usados ao mesmo tempo para autenticar usuários. O host Netezza suporta autenticação LDAP ou Kerberos apenas para logins de usuários de banco de dados, não para logins de sistema operacional no host.
Opções de autorização do Azure Synapse
O Azure Synapse dá suporte a duas opções básicas de conexão e autorização:
Autenticação SQL: A autenticação SQL é feita por meio de uma conexão de banco de dados que inclui um identificador de banco de dados, ID de usuário e senha, além de outros parâmetros opcionais. Isso é funcionalmente equivalente às conexões locais Netezza.
Autenticação do Microsoft Entra: com a autenticação do Microsoft Entra, você pode gerenciar centralmente as identidades dos usuários do banco de dados e outros serviços da Microsoft em um local central. O gerenciamento central de ID fornece um único local para gerenciar usuários do Azure Synapse e simplifica o gerenciamento de permissões. O Microsoft Entra ID também pode oferecer suporte a conexões com serviços LDAP e Kerberos — por exemplo, o Microsoft Entra ID pode ser usado para se conectar a diretórios LDAP existentes se eles permanecerem em vigor após a migração do banco de dados.
Usuários, funções e permissões
Descrição geral
Gorjeta
Um planeamento de alto nível é essencial para o êxito de um projeto de migração.
O Netezza e o Azure Synapse implementam o controle de acesso ao banco de dados por meio de uma combinação de usuários, funções (grupos no Netezza) e permissões. Ambos usam SQL CREATE USER
padrão e instruções para definir usuários e funções, e instruções para atribuir ou remover permissões a esses usuários e CREATE ROLE/GROUP
GRANT
REVOKE
/ou funções.
Gorjeta
Recomenda-se a automatização dos processos de migração para reduzir o tempo decorrido e a margem de erro.
Conceitualmente, os dois bancos de dados são semelhantes, e pode ser possível automatizar a migração de IDs de usuário, grupos e permissões existentes em algum grau. Migre esses dados extraindo as informações de usuário e grupo herdadas existentes das tabelas de catálogo do sistema Netezza e gerando equivalentes CREATE USER
correspondentes e CREATE ROLE
instruções a serem executadas no Azure Synapse para recriar a mesma hierarquia de usuário/função.
Após a extração de dados, use tabelas de catálogo do sistema Netezza para gerar instruções equivalentes GRANT
para atribuir permissões (onde existir uma equivalente). O diagrama a seguir mostra como usar metadados existentes para gerar o SQL necessário.
Consulte as seções a seguir para obter mais detalhes.
Utilizadores e funções
Gorjeta
A migração de um data warehouse requer mais do que apenas tabelas, exibições e instruções SQL.
As informações sobre usuários e grupos atuais em um sistema Netezza são mantidas em exibições _v_users
de catálogo do sistema e _v_groupusers
. Use o utilitário nzsql ou ferramentas como os scripts Netezza Performance, NzAdmin ou Netezza Utility para listar os privilégios do usuário. Por exemplo, use os dpu
comandos e dpgu
em nzsql para exibir usuários ou grupos com suas permissões.
Use ou edite os scripts nz_get_users
do utilitário e recupere nz_get_user_groups
as mesmas informações no formato necessário.
Consulte as exibições do catálogo do sistema diretamente (se o usuário tiver SELECT
acesso a essas exibições) para obter listas atuais de usuários e funções definidas no sistema. Veja exemplos para listar usuários, grupos ou usuários e seus grupos associados:
-- List of users
SELECT USERNAME FROM _V_USER;
--List of groups
SELECT DISTINCT(GROUPNAME) FROM _V_USERGROUPS;
--List of users and their associated groups
SELECT USERNAME, GROUPNAME FROM _V_GROUPUSERS;
Modifique a instrução de exemplo SELECT
para produzir um conjunto de resultados que é uma série de CREATE USER
instruções e CREATE GROUP
incluindo o texto apropriado como um literal dentro da SELECT
instrução.
Não há como recuperar senhas existentes, portanto, você precisa implementar um esquema para alocar novas senhas iniciais no Azure Synapse.
Permissões
Gorjeta
Há permissões equivalentes do Azure Synapse para operações básicas de banco de dados, como DML e DDL.
Em um sistema Netezza, a tabela _t_usrobj_priv
do sistema contém os direitos de acesso para usuários e funções. Consulte essas tabelas (se o usuário tiver SELECT
acesso a essas tabelas) para obter listas atuais de direitos de acesso definidos no sistema.
No Netezza, as permissões individuais são representadas como bits individuais dentro de privilégios de campo ou g_privileges. Veja exemplo de instrução SQL em permissões de grupo de usuários
A maneira mais simples de obter um script DDL que contém os comandos para replicar os privilégios atuais para usuários e grupos é usar os GRANT
scripts de utilitário Netezza apropriados:
--List of group privileges
nz_ddl_grant_group -usrobj dbname > output_file_dbname;
--List of user privileges
nz_ddl_grant_user -usrobj dbname > output_file_dbname;
O arquivo de saída pode ser modificado para produzir um script que é uma série de GRANT
instruções para o Azure Synapse.
Netezza suporta duas classes de direitos de acesso, Admin e Object. Consulte as tabelas a seguir para obter uma lista de direitos de acesso Netezza e seu equivalente no Azure Synapse.
Privilégio de administrador | Descrição | Azure Synapse Equivalente |
---|---|---|
Backup | Permite ao usuário criar backups. O usuário pode executar backups. O usuário pode executar o comando nzbackup . |
1 |
[Criar] Agregado | Permite que o usuário crie agregações definidas pelo usuário (UDAs). A permissão para operar em UDAs existentes é controlada por privilégios de objeto. | CRIAR FUNÇÃO 3 |
[Criar] Base de dados | Permite ao utilizador criar bases de dados. A permissão para operar em bancos de dados existentes é controlada por privilégios de objeto. | CREATE DATABASE |
[Criar] Tabela externa | Permite ao usuário criar tabelas externas. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. | CREATE TABLE |
[Criar] Função | Permite ao usuário criar funções definidas pelo usuário (UDFs). A permissão para operar em UDFs existentes é controlada por privilégios de objeto. | CREATE FUNCTION |
[Criar] Grupo | Permite que o usuário crie grupos. A permissão para operar em grupos existentes é controlada por privilégios de objeto. | CRIAR FUNÇÃO |
[Criar] Índice | Apenas para utilização no sistema. Os usuários não podem criar índices. | CREATE INDEX |
[Criar] Biblioteca | Permite ao usuário criar bibliotecas compartilhadas. A permissão para operar em bibliotecas compartilhadas existentes é controlada por privilégios de objeto. | 1 |
[Criar] Vista Materializada | Permite ao utilizador criar vistas materializadas. | CRIAR VISTA |
[Criar] Tramitação processual | Permite que o usuário crie procedimentos armazenados. A permissão para operar em procedimentos armazenados existentes é controlada por privilégios de objeto. | CRIAR PROCEDIMENTO |
[Criar] Esquema | Permite ao usuário criar esquemas. A permissão para operar em esquemas existentes é controlada por privilégios de objeto. | CRIAR ESQUEMA |
[Criar] Sequência | Permite ao usuário criar sequências de banco de dados. | 1 |
[Criar] Sinónimo | Permite ao utilizador criar sinónimos. | CRIAR SINÓNIMO |
[Criar] Tabela | Permite ao usuário criar tabelas. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. | CREATE TABLE |
[Criar] Tabela Temp | Permite ao usuário criar tabelas temporárias. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. | CREATE TABLE |
[Criar] Utilizador | Permite que o usuário crie usuários. A permissão para operar em usuários existentes é controlada por privilégios de objeto. | CRIAR UTILIZADOR |
[Criar] Visão | Permite que o usuário crie visualizações. A permissão para operar em modos de exibição existentes é controlada por privilégios de objeto. | CRIAR VISTA |
[Gerenciar hardware | Permite que o usuário faça as seguintes operações relacionadas ao hardware: exibir o status do hardware, gerenciar SPUs, gerenciar topologia e espelhamento e executar testes de diagnóstico. O usuário pode executar estes comandos: nzhw e nzds. | 4 |
[Gerir Segurança | Permite que o usuário execute comandos e operações relacionados às seguintes opções avançadas de segurança, tais como: gerenciamento e configuração de bancos de dados de histórico, gerenciamento de objetos de segurança de vários níveis e especificação de segurança para usuários e grupos, gerenciamento de armazenamentos de chaves de banco de dados e chaves e armazenamentos de chaves para a assinatura digital de dados de auditoria. | 4 |
[Gerir Sistema | Permite que o usuário faça as seguintes operações de gerenciamento: iniciar/parar/pausar/retomar o sistema, interromper sessões, visualizar o mapa de distribuição, estatísticas do sistema e logs. O usuário pode usar estes comandos: nzsystem, nzstate, nzstats e nzsession. | 4 |
Restauro | Permite ao usuário restaurar o sistema. O usuário pode executar o comando nzrestore. | 2 |
Descercar | Permite que o usuário crie ou altere uma função definida pelo usuário ou agregação para ser executada no modo não cercado. | 1 |
Cancelamento de privilégio de objeto | Descrição | Azure Synapse Equivalente |
---|---|---|
Abortar | Permite que o usuário aborte sessões. Aplica-se a grupos e usuários. | MATAR CONEXÃO DE BANCO DE DADOS |
Alterar | Permite que o usuário modifique atributos de objeto. Aplica-se a todos os objetos. | ALTERAR |
Eliminar | Permite que o usuário exclua linhas da tabela. Aplica-se apenas a tabelas. | DELETE |
Remover | Permite que o usuário solte objetos. Aplica-se a todos os tipos de objeto. | DROP |
Executar | Permite que o usuário execute funções definidas pelo usuário, agregações definidas pelo usuário ou procedimentos armazenados. | EXECUTAR |
GenStats | Permite ao utilizador gerar estatísticas em tabelas ou bases de dados. O usuário pode executar o comando GENERATE STATISTICS. | 2 |
Noivo | Permite que o usuário recupere espaço em disco para linhas excluídas ou desatualizadas e reorganize uma tabela pelas chaves organizadoras ou migre dados para tabelas que tenham várias versões armazenadas. | 2 |
Insert | Permite que o usuário insira linhas em uma tabela. Aplica-se apenas a tabelas. | INSERT |
Lista | Permite que o usuário exiba um nome de objeto, seja em uma lista ou de outra maneira. Aplica-se a todos os objetos. | LISTA |
Selecione | Permite que o usuário selecione (ou consulte) linhas dentro de uma tabela. Aplica-se a tabelas e exibições. | SELECIONAR |
Truncar | Permite que o usuário exclua todas as linhas de uma tabela. Aplica-se apenas a tabelas. | TRUNCATE |
Atualizar | Permite que o usuário modifique linhas da tabela. Aplica-se apenas a tabelas. | ATUALIZAR |
Notas da tabela:
Não há equivalente direto a essa função no Azure Synapse.
Essas funções Netezza são tratadas automaticamente no Azure Synapse.
O recurso Azure Synapse
CREATE FUNCTION
incorpora a funcionalidade de agregação Netezza.Esses recursos são gerenciados automaticamente pelo sistema ou por meio do portal do Azure no Azure Synapse. Ver a secção seguinte sobre Considerações operacionais.
Consulte as permissões de segurança do Azure Synapse Analytics.
Considerações operacionais
Gorjeta
As tarefas operacionais são necessárias para manter qualquer armazém de dados a funcionar de forma eficiente.
Esta seção discute como implementar tarefas operacionais Netezza típicas no Azure Synapse com risco e impacto mínimos para os usuários.
Tal como acontece com todos os produtos de armazém de dados, uma vez em produção, há tarefas de gestão contínuas que são necessárias para manter o sistema a funcionar de forma eficiente e para fornecer dados para monitorização e auditoria. A utilização de recursos e o planejamento de capacidade para crescimento futuro também se enquadram nessa categoria, assim como o backup/restauração de dados.
As tarefas de administração do Netezza normalmente se enquadram em duas categorias:
Administração do sistema, que gerencia o hardware, as definições de configuração, o status do sistema, o acesso, o espaço em disco, o uso, as atualizações e outras tarefas.
Administração de banco de dados, que é gerenciar bancos de dados de usuários e seu conteúdo, carregar dados, fazer backup de dados, restaurar dados e controlar o acesso a dados e permissões.
O IBM Netezza oferece várias maneiras ou interfaces que podem ser usadas para executar as várias tarefas de gerenciamento de sistema e banco de dados:
Os comandos Netezza (
nz*
comandos) são instalados no/nz/kit/bin
diretório no host Netezza. Para muitos dos comandos, você deve ser capaz denz*
entrar no sistema Netezza para acessar e executar esses comandos. Na maioria dos casos, os usuários entram como a conta de usuário padrãonz
, mas você pode criar outras contas de usuário Linux em seu sistema. Alguns comandos exigem que você especifique uma conta de usuário de banco de dados, senha e banco de dados para garantir que você tenha permissão para executar a tarefa.Os kits de cliente Netezza CLI empacotam um subconjunto dos comandos que podem ser executados a
nz*
partir de sistemas cliente Windows e UNIX. Os comandos do cliente também podem exigir que você especifique uma conta de usuário de banco de dados, senha e banco de dados para garantir que você tenha permissões administrativas e de objeto do banco de dados para executar a tarefa.Os comandos SQL suportam tarefas de administração e consultas dentro de uma sessão de banco de dados SQL. Você pode executar os comandos SQL a partir do interpretador de comandos Netezza nzsql ou por meio de APIs SQL, como ODBC, JDBC e o provedor OLE DB. Você deve ter uma conta de usuário de banco de dados para executar os comandos SQL com permissões apropriadas para as consultas e tarefas que você executa.
A ferramenta NzAdmin é uma interface Netezza que é executada em estações de trabalho cliente Windows para gerenciar sistemas Netezza.
Embora conceitualmente as tarefas de gerenciamento e operações para diferentes armazéns de dados sejam semelhantes, as implementações individuais podem diferir. Em geral, os produtos modernos baseados em nuvem, como o Azure Synapse, tendem a incorporar uma abordagem mais automatizada e "gerenciada pelo sistema" (em oposição a uma abordagem mais "manual" em data warehouses herdados, como o Netezza).
As seções a seguir comparam as opções Netezza e Azure Synapse para várias tarefas operacionais.
Tarefas domésticas
Gorjeta
As tarefas de limpeza mantêm um armazém de produção a funcionar de forma eficiente e otimizam a utilização de recursos como o armazenamento.
Na maioria dos ambientes de data warehouse legados, as tarefas regulares de "limpeza" são demoradas. Recupere VACUUM
espaço de armazenamento em disco removendo versões antigas de linhas atualizadas ou excluídas ou reorganizando dados, arquivos de log ou blocos de índice para eficiência (GROOM
e no Netezza). A coleta de estatísticas também é uma tarefa potencialmente demorada, necessária após a ingestão de dados em massa para fornecer ao otimizador de consulta dados atualizados nos quais basear os planos de execução da consulta.
Netezza recomenda a recolha de estatísticas da seguinte forma:
Colete estatísticas em tabelas não preenchidas para configurar o histograma de intervalo usado no processamento interno. Esta recolha inicial torna as recolhas de estatísticas subsequentes mais rápidas. Certifique-se de que recolhe novamente as estatísticas depois de os dados serem adicionados.
Colete estatísticas de fase de protótipo para tabelas recém-preenchidas.
Colete estatísticas da fase de produção após uma porcentagem significativa de alteração na tabela ou partição (~10% das linhas). Para grandes volumes de valores não exclusivos, como datas ou carimbos de data/hora, pode ser vantajoso relembrar a 7%.
Colete estatísticas da fase de produção depois de criar usuários e aplicar cargas de consulta do mundo real ao banco de dados (até cerca de três meses de consulta).
Colete estatísticas nas primeiras semanas após uma atualização ou migração durante períodos de baixa utilização da CPU.
O banco de dados Netezza contém muitas tabelas de log no dicionário de dados que acumulam dados, automaticamente ou depois que determinados recursos são ativados. Como os dados de log crescem com o tempo, limpe as informações mais antigas para evitar o uso de espaço permanente. Há opções disponíveis para automatizar a manutenção desses logs.
Gorjeta
Automatize e monitore tarefas de limpeza no Azure.
O Azure Synapse tem uma opção para criar estatísticas automaticamente para que elas possam ser usadas conforme necessário. Execute a desfragmentação de índices e blocos de dados manualmente, de forma programada ou automaticamente. Aproveitar os recursos internos nativos do Azure pode reduzir o esforço necessário em um exercício de migração.
Acompanhamento e auditoria
Gorjeta
Netezza Performance Portal é o método recomendado de monitoramento e registro em log para sistemas Netezza.
Netezza fornece o Netezza Performance Portal para monitorar vários aspetos de um ou mais sistemas Netezza, incluindo atividade, desempenho, enfileiramento e utilização de recursos. Netezza Performance Portal é uma GUI interativa que permite aos usuários detalhar detalhes de baixo nível para qualquer gráfico.
Gorjeta
O portal do Azure fornece uma interface do usuário para gerenciar tarefas de monitoramento e auditoria para todos os dados e processos do Azure.
Da mesma forma, o Azure Synapse fornece uma experiência de monitoramento avançada no portal do Azure para fornecer informações sobre sua carga de trabalho de data warehouse. O portal do Azure é a ferramenta recomendada ao monitorar seu data warehouse, pois fornece períodos de retenção configuráveis, alertas, recomendações e gráficos e painéis personalizáveis para métricas e logs.
O portal também permite a integração com outros serviços de monitoramento do Azure, como o Operations Management Suite (OMS) e o Azure Monitor (logs), para fornecer uma experiência de monitoramento holística não apenas para o data warehouse, mas também para toda a plataforma de análise do Azure para uma experiência de monitoramento integrada.
Gorjeta
As métricas de baixo nível e em todo o sistema são automaticamente registradas no Azure Synapse.
As estatísticas de utilização de recursos para o Azure Synapse são automaticamente registradas no sistema. As métricas para cada consulta incluem estatísticas de uso para CPU, memória, cache, E/S e espaço de trabalho temporário, bem como informações de conectividade, como tentativas de conexão com falha.
O Azure Synapse fornece um conjunto de Exibições de Gerenciamento Dinâmico (DMVs). Essas exibições são úteis ao solucionar ativamente a solução de problemas e identificar gargalos de desempenho com sua carga de trabalho.
Para obter mais informações, consulte Opções de gerenciamento e operações do Azure Synapse.
Alta disponibilidade (HA) e recuperação de desastres (DR)
Os appliances Netezza são redundantes, tolerantes a falhas, e há diversas opções em um sistema Netezza para permitir alta disponibilidade e recuperação de desastres.
A adição do IBM Netezza Replication Services para recuperação de desastres melhora a tolerância a falhas estendendo a redundância em redes locais e de longa distância.
O IBM Netezza Replication Services protege contra perda de dados sincronizando dados em um sistema primário (o nó primário) com dados em um ou mais nós de destino (subordinados). Esses nós compõem um conjunto de replicação.
O Linux de alta disponibilidade (também chamado de Linux-HA) fornece os recursos de failover de um host Netezza primário ou ativo para um host Netezza secundário ou em espera. O principal daemon de gerenciamento de cluster na solução Linux-HA é chamado de Heartbeat. O Heartbeat observa os anfitriões e gere a comunicação e as verificações de estado dos serviços.
Cada serviço é um recurso.
Netezza agrupa os serviços específicos do Netezza no grupo de recursos nps. Quando o Heartbeat deteta problemas que implicam uma condição de falha do host ou perda de serviço para os usuários do Netezza, o Heartbeat pode iniciar um failover para o host em espera.
DRBD (Distributed Replicated Block Device) é um driver de dispositivo de bloco que espelha o conteúdo de dispositivos de bloco (discos rígidos, partições e volumes lógicos) entre os hosts. Netezza usa a replicação DRBD somente nas partições /nz e /export/home . À medida que novos dados são gravados na partição /nz e na partição /export/home no host primário, o software DRBD faz automaticamente as mesmas alterações na partição /nz e /export/home do host em espera.
Gorjeta
O Azure Synapse cria instantâneos automaticamente para garantir tempos de recuperação rápidos.
O Azure Synapse usa instantâneos de banco de dados para fornecer alta disponibilidade do depósito. Um instantâneo do data warehouse cria um ponto de restauração que pode ser usado para recuperar ou copiar um data warehouse para um estado anterior. Como o Azure Synapse é um sistema distribuído, um instantâneo do data warehouse consiste em muitos arquivos que estão no Armazenamento do Azure. Os instantâneos capturam alterações incrementais dos dados armazenados em seu data warehouse.
Gorjeta
Use instantâneos definidos pelo usuário para definir um ponto de recuperação antes das atualizações de chave.
Gorjeta
O Microsoft Azure fornece backups automáticos para um local geográfico separado para habilitar a DR.
O Azure Synapse tira instantâneos automaticamente ao longo do dia, criando pontos de restauração que ficam disponíveis por sete dias. Não é possível alterar esse período de retenção. O Azure Synapse dá suporte a um RPO (Recovery Point Objetive, objetivo de ponto de recuperação) de oito horas. Um data warehouse pode ser restaurado na região principal a partir de qualquer um dos instantâneos tirados nos últimos sete dias.
Os pontos de restauração definidos pelo usuário também são suportados, permitindo o acionamento manual de instantâneos para criar pontos de restauração de um data warehouse antes e depois de grandes modificações. Esse recurso garante que os pontos de restauração sejam logicamente consistentes, o que fornece proteção de dados adicional em caso de interrupções da carga de trabalho ou erros do usuário para um RPO desejado com menos de 8 horas.
Além dos instantâneos descritos anteriormente, o Azure Synapse também executa como padrão um backup geográfico uma vez por dia em um data center emparelhado. O RPO para uma restauração geográfica é de 24 horas. Você pode restaurar o backup geográfico para um servidor em qualquer outra região onde o Azure Synapse tenha suporte. Um backup geográfico garante que um data warehouse possa ser restaurado caso os pontos de restauração na região principal não estejam disponíveis.
Gestão de cargas de trabalho
Gorjeta
Em um data warehouse de produção, normalmente há cargas de trabalho mistas com diferentes características de uso de recursos em execução simultânea.
Netezza incorpora vários recursos para gerenciar cargas de trabalho:
Técnica | Descrição |
---|---|
Regras do agendador | As regras do agendador influenciam a programação dos planos. Cada regra do agendador especifica uma condição ou um conjunto de condições. Cada vez que o agendador recebe um plano, ele avalia todas as regras do agendador de modificação e executa as ações apropriadas. Cada vez que o agendador seleciona um plano para execução, ele avalia todas as regras limitantes do agendador. O plano é executado apenas se isso não exceder um limite imposto por uma regra de agendamento limitador. Caso contrário, o plano espera. Isso fornece uma maneira de classificar e manipular planos de uma forma que influencia as outras técnicas WLM (SQB, GRA e PQE). |
Alocação garantida de recursos (GRA) | Você pode atribuir um compartilhamento mínimo e uma porcentagem máxima do total de recursos do sistema a entidades chamadas grupos de recursos. O agendador garante que cada grupo de recursos receba recursos do sistema proporcionalmente ao seu compartilhamento mínimo. Um grupo de recursos recebe uma parcela maior de recursos quando outros grupos de recursos estão ociosos, mas nunca recebe mais do que sua porcentagem máxima configurada. Cada plano é associado a um grupo de recursos e as configurações desse grupo de recursos determinam qual fração dos recursos disponíveis do sistema deve ser disponibilizada para processar o plano. |
Viés de consulta curta (SQB) | Os recursos (ou seja, slots de agendamento, memória e filas preferenciais) são reservados para consultas curtas. Uma consulta curta é uma consulta para a qual a estimativa de custo é menor do que um valor máximo especificado (o padrão é dois segundos). Com o SQB, consultas curtas podem ser executadas mesmo quando o sistema está ocupado processando outras consultas mais longas. |
Execução de consulta priorizada (PQE) | Com base nas configurações que você configura, o sistema atribui uma prioridade — crítica, alta, normal ou baixa — a cada consulta. A prioridade depende de fatores como o usuário, grupo ou sessão associada à consulta. O sistema pode então utilizar a prioridade como base para a afetação de recursos. |
O Azure Synapse registra automaticamente as estatísticas de utilização de recursos. As métricas incluem estatísticas de uso de CPU, memória, cache, E/S e espaço de trabalho temporário para cada consulta. O Azure Synapse também registra informações de conectividade, como tentativas de conexão com falha.
Gorjeta
As métricas de baixo nível e em todo o sistema são registradas automaticamente no Azure.
No Azure Synapse, as classes de recursos são limites de recursos predeterminados que governam os recursos de computação e a simultaneidade para a execução da consulta. As classes de recursos podem ajudá-lo a gerenciar sua carga de trabalho definindo limites para o número de consultas executadas simultaneamente e para os recursos de computação atribuídos a cada consulta. Há um compromisso entre memória e simultaneidade.
O Azure Synapse dá suporte a estes conceitos básicos de gerenciamento de carga de trabalho:
Classificação da carga de trabalho: você pode atribuir uma solicitação a um grupo de carga de trabalho para definir níveis de importância.
Importância da carga de trabalho: você pode influenciar a ordem na qual uma solicitação obtém acesso aos recursos. Por padrão, as consultas são liberadas da fila em uma base de primeiro a entrar, primeiro a sair, à medida que os recursos ficam disponíveis. A importância da carga de trabalho permite que consultas de prioridade mais alta recebam recursos imediatamente, independentemente da fila.
Isolamento da carga de trabalho: você pode reservar recursos para um grupo de carga de trabalho, atribuir uso máximo e mínimo para recursos variáveis, limitar os recursos que um grupo de solicitações pode consumir e definir um valor de tempo limite para matar automaticamente consultas fugitivas.
A execução de cargas de trabalho mistas pode representar desafios de recursos em sistemas ocupados. Um esquema de gerenciamento de carga de trabalho bem-sucedido gerencia efetivamente os recursos, garante uma utilização altamente eficiente dos recursos e maximiza o retorno sobre o investimento (ROI). A classificação da carga de trabalho, a importância da carga de trabalho e o isolamento da carga de trabalho oferecem mais controle sobre como a carga de trabalho utiliza os recursos do sistema.
O guia de gerenciamento de carga de trabalho descreve as técnicas para analisar a carga de trabalho, gerenciar e monitorar a importância da carga de trabalho](.. /.. /sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) e as etapas para converter uma classe de recurso em um grupo de carga de trabalho. Use o portal do Azure e as consultas T-SQL em DMVs para monitorar a carga de trabalho e garantir que os recursos aplicáveis sejam utilizados de forma eficiente. O Azure Synapse fornece um conjunto de Modos de Exibição de Gerenciamento Dinâmico (DMVs) para monitorar todos os aspetos do gerenciamento de carga de trabalho. Essas exibições são úteis ao solucionar ativamente a solução de problemas e identificar gargalos de desempenho em sua carga de trabalho.
Essas informações também podem ser usadas para planejamento de capacidade, determinando os recursos necessários para usuários adicionais ou carga de trabalho de aplicativos. Isso também se aplica ao planejamento de scale-up/scale downs de recursos de computação para suporte econômico de cargas de trabalho "espinhosas", como cargas de trabalho com picos de atividade intensos e temporários cercados por períodos de atividade pouco frequente.
Para obter mais informações sobre o gerenciamento de carga de trabalho no Azure Synapse, consulte Gerenciamento de carga de trabalho com classes de recursos.
Dimensionar recursos de computação
Gorjeta
Um dos principais benefícios do Azure é a capacidade de aumentar e reduzir de forma independente os recursos de computação sob demanda para lidar com cargas de trabalho de pico de forma econômica.
A arquitetura do Azure Synapse separa armazenamento e computação, permitindo que cada um seja dimensionado de forma independente. Como resultado, os recursos de computação podem ser dimensionados para atender às demandas de desempenho independentemente do armazenamento de dados. Também pode colocar em pausa e retomar recursos de computação. Um benefício natural dessa arquitetura é que a cobrança de computação e armazenamento é separada. Se um data warehouse não estiver em uso, você poderá economizar nos custos de computação pausando a computação.
Os recursos de computação podem ser ampliados ou reduzidos ajustando a configuração das unidades do data warehouse para o data warehouse. O desempenho de carregamento e consulta aumentará linearmente à medida que você adicionar mais unidades de data warehouse.
Adicionar mais nós de computação adiciona mais poder de computação e capacidade de aproveitar mais processamento paralelo. À medida que o número de nós de computação aumenta, o número de distribuições por nó de computação diminui, fornecendo mais poder de computação e processamento paralelo para consultas. Da mesma forma, a diminuição das unidades de armazém de dados reduz o número de nós de computação, o que reduz os recursos de computação para consultas.
Próximos passos
Para saber mais sobre visualização e relatórios, consulte o próximo artigo desta série: Visualização e relatórios para migrações Netezza.