Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-04 GMT+08:00

Visão geral

Os recursos do sistema (CPU, memória, I/O e recursos de armazenamento) de um banco de dados são limitados. Quando vários tipos de serviços (como carregamento de dados, análise em lote e consulta em tempo real) estão sendo executados ao mesmo tempo, eles podem competir por recursos e dificultar as operações. Como resultado, a taxa de transferência diminui e o desempenho geral da consulta se deteriora. Para evitar esse problema, os recursos devem ser devidamente alocados.

GaussDB (DWS) fornece a função de gerenciamento de carga de trabalho. Você pode colocar recursos em filas de carga de trabalho diferentes, que são isoladas umas das outras. Em seguida, você pode associar usuários de banco de dados a filas de carga de trabalho. As consultas de SQL de um usuário serão enviadas para a fila de carga de trabalho associada para execução. Você pode especificar o número de consultas simultâneas, uso de memória e uso de CPU permitidos para uma fila de carga de trabalho. Desta forma, o uso de recursos de diferentes serviços pode ser controlado e isolado, permitindo que o banco de dados gerencie cargas híbridas, garantindo eficiência de recursos e alcançando alto desempenho de consulta.

  • Se um pool de recursos tiver sido criado no back-end do banco de dados da versão anterior, exclua-o e crie um novo no front-end. Para obter detalhes, entre em contato com o suporte técnico.
  • Este recurso é suportado apenas na versão 8.0 ou posterior.
  • O data warehouse híbrido (autônomo) não suporta o gerenciamento de recursos.

Gerenciamento da carga de trabalho

As funções de gerenciamento de carga de trabalho do GaussDB (DWS) podem ser classificadas nos seguintes tipos com base nos recursos gerenciados:

  • Gerenciamento de recursos computacionais. É implementado usando filas de carga de trabalho. Os recursos de computação são isolados e controlados para evitar problemas em nível de cluster causados por consultas de SQL anormais. O gerenciamento de recursos de computação inclui gerenciamento de simultaneidade, gerenciamento de memória, gerenciamento de CPU e regras de exceção. Para mais detalhes, consulte Filas da carga de trabalho.
  • Gestão do espaço de armazenamento: O armazenamento é gerenciado no nível do usuário e do esquema para evitar o esgotamento do disco, o que torna o banco de dados somente leitura. Para mais detalhes, consulte Gerenciamento do espaço de trabalho.
  • Plano de carga de trabalho: Os recursos são gerenciados automaticamente com base em um plano pré-configurado, que pode lidar de forma flexível com cenários complexos. Para mais detalhes, consulte Importação e exportação de planos de carga de trabalho.

As funções de gerenciamento de carga de trabalho do GaussDB (DWS) podem ser classificadas nos seguintes tipos com base em quando são implementadas:

  • Gerenciamento antes de uma consulta

    O serviço verifica se há recursos suficientes para uma consulta. Se houver, a consulta pode ser executada. Se não houver, a consulta aguarda em uma fila e pode ser executada somente após os recursos serem liberados por outras consultas. A simultaneidade e a memória são gerenciadas nesta fase.

  • Gerenciamento durante uma consulta

    Durante a execução da consulta, os recursos usados pela consulta são gerenciados e controlados para evitar exceções de cluster causadas por instruções de SQL demoradas. Memória, CPU, espaço de armazenamento e regras de exceção são gerenciadas nesta fase.

O data warehouse híbrido (autônomo) não suporta o gerenciamento de recursos.

Consultas simples e complexas

O GaussDB (DWS) suporta o gerenciamento de carga de trabalho refinado. Antes da implementação do gerenciamento de carga de trabalho, as consultas são classificadas em consultas complexas (com longo tempo de execução e alto consumo de recursos) e consultas simples (com curto tempo de execução e baixo consumo de recursos). Consultas simples e complexas também diferem em seu uso estimado de memória.

  • O uso estimado de memória de uma consulta simples é inferior a 32 MB.
  • O uso estimado de memória de uma consulta complexa é de 32 MB ou superior.

Em um banco de dados de carga híbrida, consultas complexas geralmente ocupam um grande número de recursos por um longo tempo. Uma consulta simples enfileirada depois de uma consulta complexa é demorada, porque tem de esperar que a consulta complexa seja concluída e que os recursos sejam libertados. Para melhorar a eficiência da execução e a taxa de transferência do sistema, o GaussDB (DWS) fornece a função de aceleração de consultas curtas, gerenciando consultas simples separadamente.

  • Se a aceleração de consulta curta estiver ativada, consultas simples e complexas serão gerenciadas separadamente. Consultas simples não precisam competir com consultas complexas por recursos.
  • Se a aceleração de consultas curtas estiver desativada, as consultas simples e complexas estarão sob as mesmas regras de gerenciamento de carga de trabalho.

Para evitar que um grande número de consultas simples consumam muitos recursos durante a aceleração, o gerenciamento de simultaneidade é realizado nas consultas. O gerenciamento de recursos não é realizado, pois pode afetar o desempenho da consulta e o throughput do sistema.

As consultas são categorizadas com base no uso estimado de memória, mas a estimativa não é igual ao uso real, nem reflete a duração da consulta ou o uso da CPU. Em pools de recursos que são insensíveis ao desempenho e executam apenas serviços específicos, você pode desabilitar a aceleração de consulta curta para gerenciar recursos e manipular exceções para consultas simples.