Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅ Endpoint de análise de SQL e Armazém de Dados no Microsoft Fabric
Os pools de SQL personalizados permitem que os administradores tenham mais controle sobre como os recursos de computação de back-end são alocados para seu repositório e endpoint de análise SQL em um workspace.
O Fabric Data Warehouse fornece gerenciamento de carga de trabalho autônomo que segrega recursos de computação em "pools de SQL" internos que são dimensionados independentemente com base na demanda.
Por padrão, os limites de isolamento são ingestão (tipos não declarativosSELECT) e processamento de consulta (SELECT instruções). Com pools de SQL personalizados, os administradores podem:
- Altere o número de limites de isolamento (adicione mais pools de SQL personalizados).
- Crie classificações de carga de trabalho personalizadas específicas do nome do aplicativo.
- Controlar a alocação de recursos de cada pool por meio de um percentual máximo de recursos.
Casos de uso de pools de SQL personalizados
Os pools SQL personalizados têm dois casos de uso principais: proteger cargas de trabalho contra a concorrência de recursos e contra a limitação da capacidade do Fabric devido ao alto consumo.
Cargas de trabalho concorrentes com os pools de cargas de trabalho autônomos
Esse cenário se aplica quando cargas de trabalho distintas competem por recursos, fazendo com que cargas de trabalho críticas percam metas de desempenho.
Cenário de exemplo
- Uma carga de trabalho de relatórios empresariais é executada de forma subótima quando as consultas ad hoc de usuário são executadas no editor de consultas SQL no portal Fabric.
Abordagem recomendada
- Divida essas cargas de trabalho em dois pools de SQL personalizados separados.
- Aloque uma porcentagem maior de recursos para o pool que atende ao aplicativo de relatório empresarial, garantindo que mais recursos estejam disponíveis para o aplicativo comercialmente crítico.
Restrição de capacidade devido ao alto consumo
Esse cenário se aplica quando o alto consumo de capacidade do Fabric causa restrição que afeta o desempenho geral do armazém.
Cenário de exemplo
- Várias cargas de trabalho de análise estão consumindo um alto número de UCs (unidades de capacidade do Fabric).
Abordagem recomendada
- Reduza o percentual total de recursos alocado para o armazém afetado.
- Monitore se essa alteração reduz o throttling de consultas e melhora o desempenho como um todo.
Diferenças entre o gerenciamento de carga de trabalho autônoma e pools de SQL personalizados
| Tópico | Gerenciamento de carga de trabalho autônoma | Pools de SQL personalizados |
|---|---|---|
| Configuração | Nenhum (pronto para uso) | – Interface do usuário da Web - APIs |
| Permissões | N/A | Administrador do espaço de trabalho |
| Scope | Workspace – inclui tanto o warehouse quanto o endpoint de análise SQL. | Workspace – inclui tanto o warehouse quanto o endpoint de análise SQL. |
| Método de classificação | Tipo de instrução (SELECT ou outro) |
- Nome do aplicativo - Expressão regular do nome do aplicativo |
| Unidade de medida | N/A | Porcentagem do total de nós de back-end |
| Pools de SQL |
SELECT ou outro |
Alocação definida pelo usuário |
| Capacidade expansível | Gerenciado pelo Fabric (até 12x por pool de SQL, total de 24x) | Usuário definido com base na porcentagem de nós de back-end alocados. A quantidade total de recursos ainda é 24 vezes. |
Capacidade expansível
Os pools de SQL personalizados permitem que um administrador configure o percentual máximo de recursos como a quantidade de recursos de computação que podem ser alocados. O fator de explosão do tamanho do SKU de capacidade será aplicado e usado de acordo com a porcentagem fornecida para cada pool.
Classificadores
Um classificador é um atributo de uma solicitação SQL que informa ao sistema como rotear para o pool de SQL apropriado.
O Fabric Data Warehouse fornece três maneiras de classificar solicitações:
| Tipo de classificador | Descrição | Configuração |
|---|---|---|
| Tipo de instrução | Classifica as solicitações em SELECT (query) ou não-SELECT (todas as instruções DML e DDL) |
Somente gerenciamento autônomo de carga de trabalho |
| Nome do aplicativo | - Aplicativo (ou nome do programa) usado na cadeia de conexão ao se conectar ao Fabric Warehouse ou ao SQL Analytics Endpoint. – Dá suporte a vários nomes de aplicativos por pool de SQL personalizado - 128 caracteres ou menos - Mutuamente exclusivo entre pools de SQL personalizados |
Apenas pools de SQL personalizados |
| Regex para nome do aplicativo | - Expressão regular usada para corresponder ao valor do nome do aplicativo. - Somente o primeiro valor na lista é avaliado para expressão regular |
Apenas pools de SQL personalizados |
Diretrizes:
- Somente um tipo de classificador pode ser usado por workspace. Todos os pools de SQL personalizados em um único workspace devem usar o mesmo classificador.
- No caso de um classificador de expressão regular de nome de aplicativo, se uma solicitação atender a duas ou mais classificações, a seleção do pool de SQL personalizado será aleatória e não haverá critérios de priorização.
Permissões
- Os membros da função de Administrador do espaço de trabalho podem habilitar ou desabilitar pools de SQL personalizados para um espaço de trabalho.
- Os membros da função de workspace administrador podem atualizar as configurações personalizadas do pool de SQL.
Configurar pools de SQL personalizados
Você pode configurar pools de SQL personalizados no Fabric Data Warehouse no portal do Fabric ou por meio de chamadas à API.
- Para obter um exemplo de configuração no portal do Fabric, consulte Configurar pools de SQL personalizados no portal do Fabric.
- Para obter um exemplo de como usar a API REST dos Pools de SQL, consulte Como configurar pools de SQL personalizados usando a API REST do Fabric.
Monitor
Você pode ver o nome do aplicativo e o pool de SQL que foram registrados para uma consulta nos campos program_name e sql_pool_name da exibição do sistema queryinsights.exec_requests_history.
Você pode usar program_name como nome do aplicativo em um classificador, ou em um padrão de expressão regular para nomear um classificador de aplicativos.
Por exemplo, para localizar todos os program_name e os correspondentes sql_pool_name no histórico recente:
SELECT DISTINCT
program_name
,sql_pool_name
FROM queryinsights.exec_requests_history;
Você pode identificar quais pools de SQL estão sob pressão consultando a queryinsights.sql_pool_insights exibição.
Por exemplo, encontre períodos de tempo em que um pool estava sob pressão na última semana.
SELECT [timestamp]
,sql_pool_name
,max_resource_percentage
,is_pool_under_pressure
FROM queryinsights.sql_pool_insights
WHERE is_pool_under_pressure = 1
AND [timestamp] > DATEADD(WEEK, -1, GETDATE())
ORDER BY [timestamp] DESC, sql_pool_name;
Para agregar program_name valores por algumas métricas de custo de execução de consultas, você pode usar a seguinte consulta:
SELECT
program_name,
sql_pool_name,
[CPU] = SUM(allocated_cpu_time_ms),
[Disk] = SUM(data_scanned_disk_mb),
[Memory] = SUM(data_scanned_memory_mb),
[Remote storage] = SUM(data_scanned_remote_storage_mb)
FROM queryinsights.exec_requests_history
GROUP BY program_name, sql_pool_name
ORDER BY [CPU] desc, [Disk] desc, [Memory] desc, [Remote storage] desc;
Limitações
- Um workspace deve conter um ou mais armazéns de dados ou pontos de extremidade de análise SQL antes de utilizar as APIs.
- Você pode criar até oito pools de SQL personalizados por workspace.
- Quando um pool de SQL personalizado é removido, enquanto uma consulta está sendo executada no pool, a consulta falhará com uma mensagem de
Request to perform an external distributed computation has failed with error "Query canceled by user.". Redimensionar um pool de SQL personalizado não causa falha na consulta.
Alterações no tamanho da capacidade da malha
Cada espaço de trabalho tem uma capacidade com unidades de capacidade (CUs) associadas, com base no SKU que você adquirir. A capacidade intermitível dos pools de SQL personalizados depende do tamanho da SKU. Portanto, ao alterar a capacidade, você afeta a quantidade máxima de recursos para cada pool de SQL personalizado.
Quando você altera o tamanho do SKU de capacidade ou atribui uma capacidade diferente a um workspace, se os pools de SQL personalizados são habilitados, eles são dimensionados automaticamente para o novo tamanho de SKU.
Se o downscaling força um pool de SQL a zero nós atribuídos, o seguinte erro é exibido em runtime: "O pool de SQL atribuído para essa consulta não tem recursos e deve ser reconfigurado.". Um administrador deve reconfigurar pools de SQL personalizados para remover esse erro.