Todos los productos
Search
Centro de documentos

PolarDB:Fast Import

Última actualización: Sep 09, 2026

PolarDB for MySQL ofrece la función Fast Import. Esta función le permite consultar todos los datos de las bases de datos y tablas de una tarea de restauración tras esperar entre 5 y 10 minutos aproximadamente, sin importar el tamaño de los datos por restaurar. Solo necesita enviar la tarea de restauración de bases de datos y tablas; no es necesario esperar a que finalice para consultar la información.

Descripción general del escenario

Nota

La función Fast Import es compatible con new database and table restoration process. Las operaciones de consulta se pueden ejecutar al mismo tiempo que la tarea de restauración.

La función Fast Import acelera los dos escenarios siguientes:

  • Cuando se eliminan datos o tablas por accidente y no se logra determinar el momento exacto, las tareas de restauración tradicionales tardan mucho en terminar. Con la función Fast Import, usted consulta y verifica los datos rápidamente, sin esperar a que concluya la tarea de restauración.

  • Si se elimina una cantidad pequeña de datos por accidente pero la tabla es grande, la función Fast Import le permite usar INSERT ... SELECT .... De esta forma, extrae con rapidez los datos necesarios de las tablas de la tarea de restauración y los inserta en la tabla donde ocurrió la eliminación accidental, lo que mejora la eficiencia operativa.

Requisitos de versión

La versión del motor de base de datos aplicable es MySQL 8.0.1, y la versión secundaria debe ser 8.0.1.1.49 o posterior. Para confirmar la versión de su clúster, consulte querying the version number.

Precauciones

Nota

Esta función se encuentra actualmente en fase de lanzamiento canary. Para utilizarla, siga las indicaciones de Contact us para unirse a la lista de permisos y habilitarla.

  • Solo se admite la configuración file-per-table (configuración predeterminada) para tablas sin compresión ni cifrado. Los datos se pueden consultar mientras se ejecutan las tareas de restauración.

  • Cuando la tarea de restauración incluye menos de 1000 tablas, el sistema habilita automáticamente la función Fast Import. Esto le permite consultar todos los datos durante el proceso de restauración.

    Nota

    Si la cantidad de tareas de restauración supera las 1000, el sistema no habilita la función Fast Import. El flujo de gestión de tareas determina de forma automática si habilita la función Fast Import según la tarea que usted envíe.

  • Las operaciones de consulta solo se admiten en nodos de lectura y escritura (RW) y en nodos de solo lectura (RO). Si existen nodos de solo lectura (RO) de almacenamiento por columnas, utilice HINT syntax para enrutar las consultas de manera obligatoria hacia nodos de lectura y escritura (RW) o nodos de solo lectura (RO) de almacenamiento por filas. De lo contrario, es posible que no se devuelvan datos.

  • Cuando los recursos del buffer pool son suficientes, acceder a tablas en estado de restauración ofrece una eficiencia similar a la de las tablas normales. Sin embargo, en escenarios donde el clúster tiene cargas de trabajo altas, la eficiencia de acceso a las tablas en restauración se limita para reducir el impacto en las operaciones comerciales normales.

  • Antes de que termine la tarea de restauración, las tablas de destino solo se pueden consultar en modo de solo lectura.

Instrucciones de uso

Envío de una tarea de restauración de bases de datos y tablas

Después de enviar una tarea de restauración de bases de datos y tablas, acceda a la página de detalles de la tarea mediante el enlace ubicado en la esquina superior derecha de la página.

Una tarea de restauración de bases de datos y tablas consta de 6 pasos:

  1. Inicializar la tarea

  2. Restauración completa en el nodo temporal

  3. Restauración incremental en el nodo temporal (según sea necesario)

  4. Preprocesamiento de la restauración de bases de datos y tablas

  5. Restauración de bases de datos y tablas

  6. Finalizar la tarea y liberar recursos

En la página de detalles de la tarea, consulte el progreso en tiempo real. Una vez completado el paso 4, compruebe que la tarea de restauración creó las bases de datos o tablas de destino. Para ello, ejecute comandos como show databases o show tables. En este punto, ya puede consultar todos los datos de las bases de datos o tablas de destino.

Acceso rápido de solo lectura

Consulte la tabla information_schema.fast_import_tablespaces para obtener información sobre todas las tablas que admiten acceso rápido de solo lectura en la tarea de restauración actual.

Nota

Las tablas que se están importando permiten el acceso rápido de solo lectura, aunque sus nombres específicos no aparecen en los resultados de la siguiente consulta. Ejecute el comando SHOW PROCESSLIST para ver los comandos SQL que contienen dbms_rman.import y así obtener los nombres de las tablas que se están restaurando.

SELECT * FROM information_schema.fast_import_tablespaces;
  • Las tablas en estado de restauración se pueden consultar en modo de solo lectura con todos sus datos.

    | 106 | root      | 127.0.0.1:49055 | NULL               | Sleep          |  13 |                        | NULL                                                                    |
    | 146 | xxx       | xxx             | NULL               | Sleep          |  43 |                        | NULL                                                                    |
    | 366 | xxx       | xxx             | NULL               | Polar Log Dump |   0 | Reading log from innodb | NULL                                                                    |
    | 368 | xxx       | xxx             | NULL               | Polar Log Ack  |   0 | Receiving from client  | NULL                                                                    |
    | 788 | xxx       | xxx             | NULL               | Sleep          | 295 |                        | NULL                                                                    |
    | xxx | xxx       | xxx             | NULL               | Query          | 332 | altering table         | /* rds internal mark */ call dbms_rman.import('test', 'sbtest1_bk03211652' |
    | 216448 | xxx    | xxx             | information_schema | Sleep          |   7 |                        | NULL                                                                    |
    | 216915 | xxx    | xxx             | NULL               | Sleep          |   0 |                        | NULL                                                                    |
    | 216916 | xxx    | xxx             | NULL               | Sleep          |   0 |                        | NULL                                                                    |
    | 536879884 | xxx |                 | test               | Query          |   0 | starting               | show processlist                                                        |
    
    31 rows in set (0.00 sec)
    
    mysql> show tables;
    +----------------------+
    | Tables_in_test       |
    +----------------------+
    | sbtest1              |
    | sbtest1_bk03211652   |
    | sbtest2              |
    | sbtest2_bk03211652   |
    +----------------------+
    4 rows in set (0.00 sec)
    
    mysql> select count(*) from sbtest1;
    +-----------+
    | count(*)  |
    +-----------+
    | 100000000 |
    +-----------+
    1 row in set (4.64 sec)
    
    mysql> select count(*) from sbtest1_bk03211652;
    +-----------+
    | count(*)  |
    +-----------+
    | 100000000 |
    +-----------+
    1 row in set (48.21 sec)
  • Otras tablas con acceso rápido habilitado también se pueden consultar en modo de solo lectura con todos sus datos.

    mysql> select * from information_schema.fast_import_tablespaces;
    +----------------+-------------------------+------------------------------------------------------------------+
    | LOCAL_SPACE_ID | SPACE_NAME              | REMOTE_DATA_PATH                                                 |
    +----------------+-------------------------+------------------------------------------------------------------+
    |             18 | test/sbtest2_bk03211652 | xxx/test/sbtest2_bk03211652.ibd                                  |
    +----------------+-------------------------+------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> show tables;
    +------------------------+
    | Tables_in_test         |
    +------------------------+
    | sbtest1                |
    | sbtest1_bk03211652     |
    | sbtest2                |
    | sbtest2_bk03211652     |
    +------------------------+
    4 rows in set (0.00 sec)
    
    mysql> select count(*) from sbtest2_bk03211652;
    +----------+
    | count(*) |
    +----------+
    |     1000 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> select count(*) from sbtest2;
    +----------+
    | count(*) |
    +----------+
    |     1000 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> select count(*) from sbtest1;
    +-----------+
    | count(*)  |
    +-----------+
    | 100000000 |
    +-----------+
    1 row in set (19.39 sec)
    
    mysql> select count(*) from sbtest1_bk03211652;
    +-----------+
    | count(*)  |
    +-----------+
    | 100000000 |
    +-----------+
    1 row in set (4.39 sec)
    
    mysql> show processlist;

Preguntas frecuentes

¿Por qué los datos de la tabla de destino de la restauración están vacíos?

Compruebe que la tarea actual haya llegado al paso "Database and table restoration on the primary node" y cumpla con las siguientes condiciones:

  • La información de la tabla existe en la lista information_schema.fast_import_tablespaces.

  • O bien, se está ejecutando la operación SQL dbms_rman.import y cumple con las condiciones descritas en Precautions.

Si el volumen de datos de la tabla es muy grande, ¿existen otros impactos al consultar tablas en estado de restauración?

La función Fast Import se usa principalmente para verificar y restaurar datos con rapidez. Tenga en cuenta lo siguiente:

  • Consultar tablas en proceso de restauración genera en el clúster de base de datos un impacto equivalente al de consultar tablas normales con el mismo volumen de datos.

  • Se recomienda no ejecutar consultas continuas, prolongadas y a gran escala sobre tablas que se estén restaurando.

¿Por qué aparece un error al intentar actualizar la tabla de destino de la restauración?

Las tablas incluidas en la lista information_schema.fast_import_tablespaces y aquellas en las que se ejecuta la operación SQL dbms_rman.import se encuentran en proceso de restauración o están por restaurarse. Estas tablas solo permiten acceso de solo lectura y no admiten ninguna operación de actualización ni modificación.

mysql> select * from information_schema.fast_import_tablespaces;
+----------------+-------------------------+-----------------------------------------------------------+
| LOCAL_SPACE_ID | SPACE_NAME              | REMOTE_DATA_PATH                                          |
+----------------+-------------------------+-----------------------------------------------------------+
|             24 | test/sbtest2_bk03211708 | xxx/test/sbtest2_bk03211708.ibd                           |
+----------------+-------------------------+-----------------------------------------------------------+
1 row in set (0.00 sec)

mysql> delete from sbtest2_bk03211708 limit 10;
ERROR 1288 (HY000): The target table sbtest2_bk03211708 of the DELETE is not updatable
mysql>