Todos los productos
Search
Centro de documentos

AnalyticDB:Tiered storage of hot and cold data

Última actualización: Sep 04, 2026

AnalyticDB for MySQL permite almacenar particiones calientes y frías en medios de almacenamiento separados: SSD para datos calientes y Object Storage Service (OSS) para datos fríos. De este modo, se obtiene un rendimiento de consulta rápido donde más importa y se mantienen bajos los costos de almacenamiento.

Importante

El almacenamiento por niveles solo aplica a tablas particionadas por fecha u hora. El clúster debe ejecutar la versión menor 3.1.3.3 o posterior y pertenecer a una de las siguientes ediciones: Enterprise Edition, Basic Edition, Data Lakehouse Edition o Data Warehouse Edition Elastic mode. Para comprobar o actualizar la versión menor, inicie sesión en la consola de AnalyticDB for MySQL y vaya a la sección Configuration Information en la página Cluster Information.

Elegir una política de almacenamiento

AnalyticDB for MySQL ofrece tres políticas de almacenamiento. Utilice esta tabla para seleccionar la más adecuada según su carga de trabajo:

Política de almacenamiento

Ubicación de los datos

Recomendada para

Costo

Almacenamiento caliente

Todos los datos en SSD

Tablas con consultas frecuentes y requisitos estrictos de latencia

Más alto

Almacenamiento frío

Todos los datos en OSS (almacenamiento redundante de zona, ZRS)

Datos de archivo a los que rara vez o nunca se accede

Más bajo

Almacenamiento mixto

Particiones calientes en SSD, particiones frías en OSS

Tablas grandes particionadas por tiempo donde los datos recientes están activos y los antiguos se consultan poco

Medio

Criterios para elegir entre políticas:

  • Utilice almacenamiento caliente cuando la latencia de consulta sea crítica y acceda a la mayoría de los datos de forma regular.

  • Utilice almacenamiento frío para datos que archiva y casi nunca consulta.

  • Utilice almacenamiento mixto para cargas de trabajo de series temporales, como tablas de registros, historial de pedidos y datos de monitoreo; es la opción más común para tablas particionadas grandes.

Funcionamiento del almacenamiento mixto

Al elegir el almacenamiento mixto, especifique el número de particiones calientes (N). AnalyticDB for MySQL ordena todas las particiones por valor de clave de partición en orden descendente: las N particiones principales son particiones calientes almacenadas en SSD, y el resto son particiones frías almacenadas en OSS.

Cuando se agregan particiones o cambia el recuento de particiones calientes, el sistema reordena y migra los datos automáticamente para mantener la distribución correcta. Para obtener más detalles, consulte Impacto de los cambios en el recuento de particiones.

Configurar una política de almacenamiento

Durante la creación de la tabla

Especifique la política mediante el parámetro storage_policy en su instrucción CREATE TABLE:

CREATE TABLE your_table (
    ...
)
PARTITION BY ...
PROPERTIES (
    "storage_policy" = "MIXED",   -- HOT, COLD, or MIXED
    "hot_partition_count" = "5"   -- Required when storage_policy = MIXED
);

Para una tabla existente

Utilice ALTER TABLE para cambiar la política de almacenamiento. Después de ejecutar esta instrucción, puede seguir el progreso de la migración; consulte Consultar el progreso del cambio de política de almacenamiento.

-- Switch to mixed storage with 5 hot partitions
ALTER TABLE your_table
SET PROPERTIES (
    "storage_policy" = "MIXED",
    "hot_partition_count" = "5"
);

Para consultar la referencia completa de sintaxis, véase CREATE TABLE y ALTER TABLE.

Importante

Después de configurar o modificar una política de almacenamiento, la migración de datos entre almacenamiento caliente y frío requiere que se complete un trabajo de BUILD. Puede ver los tamaños actualizados de datos fríos y calientes una vez que finaliza el trabajo BUILD. Si no se producen cambios en los datos tras establecer la política, el sistema no inicia automáticamente un proceso BUILD. En este caso, debe ejecutar manualmente BUILD TABLE para activar la migración de datos.

Facturación

Una vez habilitado el almacenamiento por niveles de datos calientes y fríos, el almacenamiento de datos fríos genera cargos pay-as-you-go independientes, que se facturan por separado del almacenamiento de datos calientes. Para obtener detalles sobre precios, consulte Precios.

Utilice storage plans para compensar los costos de almacenamiento.

Impacto de los cambios en el recuento de particiones

Cuando se inserta una nueva partición

Todas las particiones se reordenan para mantener exactamente N particiones calientes. La partición con el valor de clave más pequeño pasa de caliente a fría.

Ejemplo: hot_partition_count es 5. Se inserta una nueva partición 20241226 (el mayor valor de clave). Tras un trabajo BUILD, el sistema promueve 20241226 a caliente y mueve 20241221 (la anterior partición caliente con menor valor) a fría.

image

Cuando cambia el recuento de particiones calientes

  • Aumento de N a M (M > N): M - N particiones frías (aquellas con los mayores valores de clave) se promueven a calientes.

  • Disminución de N a M (M < N): N - M particiones calientes (aquellas con los menores valores de clave) pasan a ser frías.

Ejemplo — aumento de 5 a 6: La partición 20241220 (mayor clave de partición fría) pasa de fría a caliente.

image

Ejemplo — disminución de 5 a 4: La partición 20241221 (menor clave de partición caliente) pasa de caliente a fría.

image

Consultar la política de almacenamiento

Consulta para todas las tablas

SELECT * FROM information_schema.table_usage;

Consulta para una tabla específica

SELECT * FROM information_schema.table_usage
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parámetros de respuesta

Parámetro

Descripción

table_schema

Nombre de la base de datos

table_name

Nombre de la tabla

storage_policy

Política de almacenamiento: HOT, COLD o MIXED

hot_partition_count

Número de particiones calientes (tras unir los fragmentos; puede superar el valor configurado; véase la nota a continuación)

cold_partition_count

Número de particiones frías

rt_total_size

Tamaño total de datos en tiempo real (rt_data_size + rt_index_size). Unidad: bytes

rt_data_size

Tamaño de los datos en tiempo real. Unidad: bytes

rt_index_size

Tamaño de los datos de clave primaria e índices en los datos en tiempo real. Unidad: bytes

hot_total_size

Tamaño total de datos en particiones calientes (hot_data_size + hot_index_size). Unidad: bytes

hot_data_size

Tamaño de los datos en particiones calientes. Unidad: bytes

hot_index_size

Tamaño de los datos de clave primaria e índices en particiones calientes. Unidad: bytes

cold_total_size

Tamaño total de datos en particiones frías (cold_data_size + cold_index_size). Unidad: bytes

cold_data_size

Tamaño de los datos en particiones frías. Unidad: bytes

cold_index_size

Tamaño de los datos de clave primaria e índices en particiones frías. Unidad: bytes

Notas de uso:

  • Todos los valores de tamaño (rt_*, hot_*, cold_*) cambian conforme se ejecutan operaciones INSERT, UPDATE, DELETE y BUILD.

  • Si hot_total_size y cold_total_size son ambos 0 después de escribir datos, significa que los datos se sincronizan en tiempo real. rt_total_size refleja el tamaño actual. Ejecute una instrucción BUILD para convertir los datos en tiempo real en datos históricos; posteriormente se completarán hot_total_size y cold_total_size.

  • El valor configurado de hot_partition_count especifica el número de particiones calientes por fragmento. El valor consultado de hot_partition_count corresponde a la unión de todos los fragmentos y puede ser mayor si la distribución de particiones difiere entre ellos.

Ejemplo — hot_partition_count consultado frente al valor configurado:

La tabla A tiene dos fragmentos y hot_partition_count está configurado como 2.

  • Fragmento 1: P4 y P5 son calientes; P1, P2 y P3 son frías.

  • Fragmento 2: P3 y P4 son calientes; P1 y P2 son frías.

El valor consultado es la unión: {P4, P5} ∪ {P3, P4} = {P3, P4, P5}, por lo que hot_partition_count devuelve 3.

image

Consultar el progreso del cambio de política de almacenamiento

Después de ejecutar ALTER TABLE para modificar una política de almacenamiento, siga el progreso de la migración desde information_schema.storage_policy_modify_progress.

Consulta para todas las tablas

SELECT * FROM information_schema.storage_policy_modify_progress;

Consulta para una tabla específica

SELECT * FROM information_schema.storage_policy_modify_progress
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parámetros de respuesta

Parámetro

Descripción

table_schema

Nombre de la base de datos

table_name

Nombre de la tabla

task_id

ID del trabajo de cambio de política de almacenamiento

source_storage_policy

Política de almacenamiento original: HOT, COLD o MIXED

source_hot_partition_count

Número de particiones calientes antes del cambio

dest_storage_policy

Nueva política de almacenamiento: HOT, COLD o MIXED

dest_hot_partition_count

Número de particiones calientes después del cambio

hot_to_cold_partition_count

Número de particiones movidas de caliente a fría

cold_to_hot_partition_count

Número de particiones movidas de fría a caliente

hot_to_cold_data_size

Tamaño de los datos movidos de caliente a fría. Unidad: bytes

cold_to_hot_data_size

Tamaño de los datos movidos de fría a caliente. Unidad: bytes

hot_data_size_before_change

Tamaño de datos calientes antes del cambio. Unidad: bytes

cold_data_size_before_change

Tamaño de datos fríos antes del cambio. Unidad: bytes

hot_data_size_after_change

Tamaño de datos calientes después del cambio. Unidad: bytes

cold_data_size_after_change

Tamaño de datos fríos después del cambio. Unidad: bytes

start_time

Inicio del intervalo de tiempo en el que se modifica la política de almacenamiento

update_time

Fin del intervalo de tiempo en el que se modifica la política de almacenamiento

progress

Progreso del cambio. Unidad: %

status

Estado del cambio: INIT (no iniciado), RUNNING (en curso) o FINISH (completado)