Codificaciones de compresión
Una codificación de compresión especifica el tipo de compresión que se aplica a una columna de valores de datos a medida que se agregan filas a una tabla.
ENCODE AUTO es la opción predeterminada para las tablas. Cuando una tabla se establece a ENCODE AUTO, Amazon Redshift administra automáticamente la codificación de compresión para todas las columnas de la tabla. Para más información, consulte CREATE TABLE y ALTER TABLE.
No obstante, si especifica la codificación de compresión para alguna columna de la tabla, esta ya no tendrá la opción ENCODE AUTO configurada. Amazon Redshift ya no administra automáticamente la codificación de compresión para todas las columnas de la tabla.
Cuando utilice CREATE TABLE, ENCODE AUTO se deshabilita al especificar la codificación de compresión para cualquier columna de la tabla. Si se deshabilita ENCODE AUTO, Amazon Redshift asigna de forma automática una codificación de compresión a las columnas para las que no se especifica un tipo ENCODE de la siguiente manera:
-
A las columnas que están definidas como claves de ordenación se les asigna una compresión RAW.
-
A las columnas que están definidas como tipos de datos BOOLEAN, REAL o DOUBLE PRECISION se les asigna una compresión RAW.
-
Las columnas que se definen como tipos de datos SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR, VARCHAR, DATE, TIMESTAMP o TIMESTAMPTZ tienen asignada la compresión AZ64.
-
Las columnas que se definen como tipos de datos CHAR o VARCHAR tienen asignada la compresión LZO.
Puede cambiar la codificación de una tabla después de crearla mediante ALTER TABLE. Si deshabilita ENCODE AUTO mediante ALTER TABLE, Amazon Redshift dejará de administrar automáticamente las codificaciones de compresión de las columnas. Todas las columnas mantendrán los tipos de codificación de compresión que tenían cuando deshabilitó ENCODE AUTO hasta que los cambie o vuelva a habilitar ENCODE AUTO.
En la siguiente tabla, se identifican las codificaciones de compresión compatibles y los tipos de datos que admiten codificación.
Tipo de codificación | Palabra clave en CREATE TABLE y ALTER TABLE | Tipos de datos |
---|---|---|
Raw (sin comprimir) | RAW | Todos |
AZ64 | AZ64 | SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP, TIMESTAMPTZ |
Diccionario de bytes | BYTEDICT | SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ |
Delta | DELTA DELTA32K |
SMALLINT, INT, BIGINT, DATE, TIMESTAMP, DECIMAL INT, BIGINT, DATE, TIMESTAMP, DECIMAL |
LZO | LZO | SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER |
Mostlyn | MOSTLY8 MOSTLY16 MOSTLY32 |
SMALLINT, INT, BIGINT, DECIMAL INT, BIGINT, DECIMAL BIGINT, DECIMAL |
Run-length | RUNLENGTH | SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ |
Texto | TEXT255 TEXT32K |
Solo VARCHAR Solo VARCHAR |
Zstandard | ZSTD | SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER |