Pulizia del database Airflow

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina spiega come ripulire manualmente il database Airflow nel tuo ambiente.

Se invece vuoi ripulire automaticamente il database, consulta Configurare il criterio di conservazione del database.

Pulizia automatica del database

Cloud Composer offre diverse alternative per eseguire operazioni di pulizia manuale:

  • Puoi configurare il criterio di conservazione del database per il tuo ambiente in modo che i record precedenti a un determinato periodo vengano rimossi automaticamente ogni giorno dal database Airflow.

  • Prima che il criterio di conservazione del database diventasse disponibile in Cloud Composer, consigliavamo un approccio diverso per automatizzare la pulizia del database tramite un DAG di pulizia del database. Questo approccio è obsoleto, ma è ancora supportato. Puoi trovare la descrizione e il codice DAG nella pagina di Cloud Composer 2.

Limiti per le dimensioni del database

Con il passare del tempo, il database Airflow del tuo ambiente archivia sempre più dati. Questi dati includono informazioni e log relativi a esecuzioni DAG, attività e altre operazioni Airflow passate.

  • Se le dimensioni del database Airflow superano i 20 GB, non puoi eseguire l'upgrade dell'ambiente a una versione successiva.

  • Se le dimensioni del database Airflow sono superiori a 20 GB, non è possibile creare snapshot.

Esegui l'operazione di pulizia del database tramite Airflow CLI

Quando esegui il comando airflow db trim Airflow CLI tramite Google Cloud CLI, Cloud Composer esegue un'operazione di conservazione del database.

Durante questa operazione, Cloud Composer rimuove le voci del database Airflow precedenti al periodo di conservazione del database attualmente configurato (il valore predefinito è 60 giorni). Questa operazione non blocca le tabelle del database Airflow e mantiene la coerenza dei dati anche se viene interrotta.

Per rimuovere le voci precedenti dal database Airflow, esegui il seguente comando:

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_DAYS: il periodo di conservazione, in giorni. Le voci precedenti a questo numero di giorni vengono rimosse.

Per ulteriori informazioni sull'esecuzione dei comandi dell'interfaccia a riga di comando di Airflow in Cloud Composer, consulta Accedere all'interfaccia a riga di comando di Airflow.

Mantenere le prestazioni del database

  • I problemi di prestazioni del database Airflow possono causare problemi di esecuzione complessiva dei DAG. Osserva le statistiche sull'utilizzo della CPU e della memoria del database. Se l'utilizzo della CPU e della memoria si avvicina ai limiti, il database è sovraccaricato e richiede lo scaling. La quantità di risorse disponibili per il database Airflow è controllata dalla proprietà dimensione dell'ambiente. Per eseguire lo scaling del database verso l'alto, modifica le dimensioni dell'ambiente impostandole su un livello più grande. L'aumento delle dimensioni dell'ambiente ne aumenta i costi.

  • Se utilizzi il meccanismo XCom per trasferire i file, assicurati di utilizzarlo in base alle linee guida di Airflow. Il trasferimento di file di grandi dimensioni o di un numero elevato di file utilizzando XCom influisce sul rendimento del database Airflow e può causare errori durante il caricamento degli snapshot o l'upgrade dell'ambiente. Valuta la possibilità di utilizzare alternative come Cloud Storage per trasferire grandi volumi di dati.

Rimuovere le voci per i DAG inutilizzati

Puoi rimuovere le voci del database per i DAG inutilizzati rimuovendo i DAG dall'interfaccia utente di Airflow.

Passaggi successivi