Limpiar la base de datos de Airflow

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página, se explica cómo limpiar manualmente la base de datos de Airflow en tu entorno.

En cambio, si deseas limpiar la base de datos automáticamente, consulta Configura la política de retención de la base de datos.

Limpieza automática de la base de datos

Cloud Composer ofrece varias alternativas para realizar limpiezas manuales:

  • Puedes configurar la política de retención de la base de datos para tu ambiente, de modo que los registros más antiguos que un período determinado se quiten automáticamente de la base de datos de Airflow todos los días.

  • Antes de que la política de retención de bases de datos estuviera disponible en Cloud Composer, recomendábamos un enfoque diferente para automatizar la limpieza de bases de datos, a través de un DAG de limpieza de bases de datos. Este enfoque es obsoleto, pero aún se admite. Puedes encontrar la descripción y el código del DAG en la página de Cloud Composer 2.

Límites de tamaño de la base de datos

Con el tiempo, la base de datos de Airflow de tu entorno almacena cada vez más datos. Estos datos incluyen información y registros relacionados con ejecuciones y tareas anteriores de DAG y otras operaciones de Airflow.

  • Si el tamaño de la base de datos de Airflow es superior a 20 GB, no puedes actualizar tu entorno a una versión posterior.

  • Si el tamaño de la base de datos de Airflow supera los 20 GB, no es posible crear instantáneas.

Ejecuta la operación de limpieza de la base de datos a través de la CLI de Airflow

Cuando ejecutas el comando airflow db trim de la CLI de Airflow a través de Google Cloud CLI, Cloud Composer realiza una operación de retención de bases de datos.

Durante esta operación, Cloud Composer quita las entradas de la base de datos de Airflow que son anteriores al período de retención de la base de datos configurado actualmente (el valor predeterminado es de 60 días). Esta operación no bloquea las tablas de la base de datos de Airflow y mantiene la coherencia de los datos, incluso si se interrumpe.

Para quitar las entradas anteriores de la base de datos de Airflow, ejecuta el siguiente comando:

gcloud composer environments run ENVIRONMENT_NAME \
    --location LOCATION \
    db trim \
    -- --retention-days RETENTION_DAYS

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • RETENTION_DAYS: Es el período de retención, en días. Se quitan las entradas que tengan más de esta cantidad de días.

Para obtener más información sobre cómo ejecutar comandos de la CLI de Airflow en Cloud Composer, consulta Cómo acceder a la interfaz de línea de comandos de Airflow.

Mantén el rendimiento de la base de datos

  • Los problemas de rendimiento de la base de datos de Airflow pueden generar problemas generales de ejecución de DAG. Observa las estadísticas de uso de CPU y memoria de la base de datos. Si el uso de CPU y memoria se acerca a los límites, la base de datos está sobrecargada y requiere escalamiento. La cantidad de recursos disponibles para la base de datos de Airflow está controlada por la propiedad de tamaño del entorno. Para escalar la base de datos, cambia el tamaño del entorno a un nivel superior. Aumentar el tamaño del entorno aumenta los costos.

  • Si usas el mecanismo XCom para transferir archivos, asegúrate de seguirlo según los lineamientos de Airflow. La transferencia de archivos grandes o una gran cantidad de archivos con XCom afecta el rendimiento de la base de datos de Airflow y puede generar fallas cuando se cargan instantáneas o se actualiza el entorno. Considera usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.

Quita las entradas de los DAG sin usar

Puedes quitar entradas de bases de datos de los DAG sin usar si quitas los DAG de la IU de Airflow.

¿Qué sigue?