Tutorial: configurar um cluster lógico somente leitura e vinculá-lo a um usuário
Cenário
Se as cargas de trabalho variam muito em diferentes períodos de tempo, um cluster de três nós pode não ser capaz de lidar com toda a produtividade durante as horas de pico; mas um cluster de seis nós pode ser muito grande, desperdiçando recursos e aumentando os custos. Nesse caso, você pode seguir este tutorial e as instruções em Agendamento da criação e exclusão de cluster lógicos do GaussDB(DWS) 3.0 para usar apenas três nós durante o horário de pico à noite, seis nós durante o dia e nove nós durante o horário de pico.
Este tutorial descreve como configurar um novo cluster lógico (sem dados de serviço) como somente leitura e alternar alguns usuários para o cluster. Desta forma, as tabelas criadas por esses usuários ainda estão no grupo de nó original, mas a lógica de computação é alternada para o cluster lógico somente leitura.
Pré-requisitos
Um cluster de seis nós foi criado e dividido em dois clusters lógicos: v3_logical e lc1. O cluster lc1 não tem dados de serviço. Para mais detalhes, consulte Criação de um cluster do GaussDB(DWS) 3.0.
Configurar um cluster lógico somente leitura e alternar usuários para o cluster
- Conecte-se ao banco de dados como administrador do sistema dbadmin e execute a seguinte instrução SQL para verificar se o cluster lógico foi criado:
1
SELECT group_name FROM PGXC_GROUP;
- Defina o cluster lógico lc1 como somente leitura.
1 2 3
SET xc_maintenance_mode=on; ALTER NODE GROUP lc1 SET READ ONLY; SET xc_maintenance_mode=off;
- Crie um usuário.
1
create user testuser password 'testuser12#$%';
- Vincule o usuário ao cluster lógico lc1. Substitua variáveis nas instruções a seguir (como testuser e lc1) conforme necessário.
Encontre o NodeGroup do usuário. Se um registro puder ser encontrado, defina o registro como default_storage_nodegroup do usuário para que as tabelas criadas pelo usuário ainda estejam no NodeGroup original. Se nenhum registro for encontrado, execute diretamente as duas instruções ALTER no final.
1 2
SELECT nodegroup FROM pg_user WHERE usename='testuser'; ALTER USER testuser SET default_storage_nodegroup='nodegroup'; // Replace nodegroup with the node group name obtained in the preceding SQL statement.
Vincule o usuário ao novo cluster lógico somente leitura. Desta forma, a lógica de computação do usuário é alternada para o cluster lógico somente leitura para execução.
1 2
ALTER USER testuser NODE GROUP lc1; ALTER USER testuser SET enable_cudesc_streaming=ON;