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.
SE APLICA A: Azure Database for PostgreSQL con servidor flexible
Hay cinco tipos de tablas en un clúster, cada una se almacena de forma distinta y se usa con distintos fines.
Tablas distribuidas
El primer tipo, y el más común, es la tabla distribuida. Aparece como una tabla normal para las instrucciones SQL, pero está particionada horizontalmente en nodos de trabajo. Esto significa que las filas de las tablas se almacenan en nodos diferentes, en tablas de fragmentos llamadas particiones de base de datos.
Los clústeres elásticos ejecutan instrucciones SQL, pero DDL (lenguaje de definición de datos) en todo un clúster. El cambio del esquema de una tabla distribuida se propaga para actualizar todas las particiones de la tabla en los nodos de trabajo. Estas operaciones deben realizarse a través de una conexión a través del puerto 5432.
Columna distribuida
Los clústeres elásticos usan particionamiento algorítmico 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 en la que todo su contenido se concentra en una sola partición de base de datos. La partición se replica en todos los nodos de trabajo. 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 columna de distribución porque no es necesario distinguir particiones de base de datos independientes por cada fila.
Las tablas de referencia suelen ser pequeñas y se usan para almacenar los datos que son pertinentes 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 el clúster elástico, cada nodo es una base de datos PostgreSQL normal. Puede crear tablas normales en ellas y elegir no particionarlas.
Un buen candidato para las tablas locales serían 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.
Tablas administradas locales
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, las tablas administradas localmente se pueden crear manualmente mediante la ejecución de 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 enrutar al nodo para obtener datos de la tabla administrada local. Estas tablas se muestran como locales en la vista citus_tables
.
Tablas de esquema
Con particionamiento basado en esquemas, los esquemas distribuidos se asocian automáticamente a grupos de coubicación individuales. Las tablas creadas en esos esquemas se convierten automáticamente en tablas distribuidas colocadas sin una clave de partición. Estas tablas se consideran tablas de esquema y se muestran como esquemas en la vista citus_tables
.