Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un clúster tiene cinco tipos de tablas. Cada tipo almacena los datos de forma diferente en los nodos y sirve para diferentes propósitos.
Tablas distribuidas
El primer tipo, y el más común, es la tabla distribuida. Tienen un aspecto similar a las tablas normales a las instrucciones SQL, pero se dividen horizontalmente entre nodos de trabajo. Esta creación de particiones significa que las filas de las tablas se almacenan en nodos diferentes en tablas de fragmentos denominadas particiones.
Los clústeres elásticos ejecutan no solo instrucciones SQL, sino también instrucciones DDL (lenguaje de definición de datos) en todo el clúster. Cuando cambie el esquema de una tabla distribuida, el cambio se propaga para actualizar todas las particiones de la tabla en los nodos de trabajo. Debe realizar estas operaciones a través de una conexión a través del puerto 5432.
Columna distribuida
Los clústeres elásticos usan particiones algorítmicas para asignar filas a particiones. La asignación se realiza de forma determinista en función del valor de una columna de la tabla denominada columna de distribución. El administrador de clústeres debe designar esta columna al distribuir una tabla. Realizar la elección correcta es importante para el rendimiento y la funcionalidad.
tablas de referencia
Una tabla de referencia es un tipo de tabla distribuida cuyo contenido completo reside en una sola partición. El clúster replica la partición en cada trabajador. Las consultas en cualquier nodo pueden acceder a la información de referencia localmente, sin la sobrecarga de red que supone solicitar filas de otro nodo. Las tablas de referencia no tienen una columna de distribución porque no es necesario distinguir particiones independientes por fila.
Las tablas de referencia suelen ser pequeñas y almacenan datos relevantes para las consultas que se ejecutan en cualquier nodo de trabajo. Por ejemplo, valores enumerados, como los estados de pedidos o las categorías de productos.
tablas locales
Cuando se usa un clúster elástico, cada nodo es una base de datos postgreSQL normal. Puede crear tablas ordinarias en ellas y optar por no fragmentarlas.
Un buen candidato para las tablas locales son pequeñas tablas administrativas que no participan en las consultas de combinación. Por ejemplo, una tabla de users para el inicio de sesión en una aplicación y la autenticación. Este tipo de tabla solo es útil cuando no planea equilibrar la carga de la conexión entre un clúster elástico mediante el puerto 7432 o 8432.
Tablas administradas localmente
Los clústeres elásticos pueden agregar automáticamente tablas locales a metadatos si existe una referencia de clave externa entre una tabla local y una tabla de referencia. Además, puede crear manualmente tablas administradas localmente ejecutando la citus_add_local_table_to_metadata función en tablas locales normales. Las tablas presentes en los metadatos se consideran tablas administradas y se pueden consultar desde cualquier nodo. Citus sabe cómo enrutar al nodo para obtener datos de la tabla administrada localmente. Estas tablas se muestran como locales en la vista citus_tables.
Tablas de esquema
Cuando se utiliza la fragmentación basada en esquemas, el sistema asocia automáticamente los esquemas distribuidos con grupos de co-ubicación individuales. Cuando cree tablas en esos esquemas, el sistema las convierte automáticamente en tablas distribuidas colocadas sin una clave de partición. Estas tablas son tablas de esquema y aparecen como esquemas en la citus_tables vista.