Tutorial: Configuración de un clúster lógico de solo lectura y vincularlo a un usuario
Escenario
Si sus cargas de trabajo varían mucho en diferentes períodos de tiempo, un clúster de tres nodos puede ser incapaz de manejar todo el rendimiento durante las horas pico; pero un clúster de seis nodos puede ser demasiado grande, desperdiciando recursos y aumentando los costos. En este caso, puede seguir este tutorial y las instrucciones de Programación de GaussDB(DWS) 3.0 Creación y eliminación de clústeres lógicos para utilizar solo tres nodos durante horas fuera de pico por la noche, seis nodos durante el día, y nueve nodos durante las horas pico.
Este tutorial describe cómo configurar un nuevo clúster lógico (sin datos de servicio) como de sólo lectura y cambiar algunos usuarios al clúster. De este modo, las tablas creadas por esos usuarios siguen estando en el grupo de nodos original, pero la lógica de computación se cambia al clúster lógico de sólo lectura.
Prerrequisitos
Se ha creado un clúster de seis nodos que se divide en dos clústeres lógicos: v3_logical y lc1. El clúster lc1 no tiene datos de servicio. Para obtener más información, véase Creación de un clúster de GaussDB(DWS) 3.0.
Configuración de un clúster lógico de sólo lectura y conmutación de usuarios al clúster
- Conéctese a la base de datos como administrador del sistema dbadmin y ejecute la siguiente sentencia SQL para comprobar si se ha creado el clúster lógico:
1
SELECT group_name FROM PGXC_GROUP;
- Establezca clúster lógico lc1 para que sea de sólo lectura.
1 2 3
SET xc_maintenance_mode=on; ALTER NODE GROUP lc1 SET READ ONLY; SET xc_maintenance_mode=off;
- Cree un usuario.
1
create user testuser password 'testuser12#$%';
- Vincule el usuario al clúster lógico lc1. Reemplace las variables de las siguientes sentencias (como testuser y lc1) según sea necesario.
Encuentre el NodeGroup del usuario. Si se puede encontrar un registro, establezca el registro en el default_storage_nodegroup del usuario para que las tablas creadas por el usuario sigan estando en el grupo de nodos original. Si no se encuentran registros, ejecute directamente las dos sentencias ALTER al 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 el usuario al nuevo clúster lógico de sólo lectura. De esta manera, la lógica informática del usuario se conmuta al grupo lógico de sólo lectura para su ejecución.
1 2
ALTER USER testuser NODE GROUP lc1; ALTER USER testuser SET enable_cudesc_streaming=ON;