Historicamente, a compactação acionada por cargas massivas de dados consumia recursos dedicados da instância, competindo com consultas e reduzindo a estabilidade. A partir do Hologres V3.1.11, você pode transferir a compactação para recursos serverless. Dessa forma, ela é executada simultaneamente à importação sem utilizar o virtual warehouse da sua instância.
Como funciona
Ao ativar esse recurso, a compactação disparada por uma carga massiva utiliza recursos serverless em vez dos recursos dedicados da instância. Isso preserva o desempenho das demais operações.
Ative transferência de compactação
Defina hg_serverless_computing_run_compaction_before_commit_bulk_load como on. A configuração entra em vigor no nível em que for aplicada.
Comandos de configuração
|
Nível |
Comando |
|
Sessão |
|
|
Usuário |
|
|
Banco de dados |
|
Referência de parâmetros
|
Atributo |
Valor |
|
Tipo |
Booleano |
|
Valores |
|
|
Escopo |
Sessão, usuário ou banco de dados |
Limitações
Tempo de importação: Ativar esta opção aumenta ligeiramente o tempo de importação de dados, mas melhora significativamente a estabilidade da instância sob carga concorrente.
Escopo: A compactação simultânea aplica-se apenas a importações massivas de dados. A limpeza de dados obsoletos durante a compactação ainda consome recursos dedicados da instância.
Camada de armazenamento: A compactação simultânea vale somente para dados importados no hot storage (camada Standard). Dados enviados ao cold storage (camada Infrequent Access) não são afetados.
Exemplo
Este exemplo utiliza o recurso de importação de conjunto de dados público no HoloWeb para carregar o dataset TPC-H de 100 GB. Executar a mesma importação com e sem compactação simultânea permite comparar o impacto no consumo de recursos da instância.
-
Desative a compactação simultânea no nível do banco de dados e execute uma tarefa de importação de dados.
ALTER DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = off; -
Ative a compactação simultânea no nível do banco de dados e execute novamente a tarefa de importação.
ALTER DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = on; -
Após a conclusão de ambas as importações, verifique as métricas de monitoramento da instância. Os gráficos abaixo confirmam que, com a compactação simultânea ativada, a tarefa de importação utiliza recursos serverless conforme esperado, e a tarefa de compactação não consome recursos dedicados do virtual warehouse.
-
Utilização de CPU do virtual warehouse

-
QPS das tarefas de importação

-
Utilização de recursos serverless

-