Membersihkan database Airflow

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Halaman ini menjelaskan cara membersihkan database Airflow secara manual di lingkungan Anda.

Jika Anda ingin membersihkan database secara otomatis, lihat Mengonfigurasi kebijakan retensi database.

Pembersihan database otomatis

Cloud Composer menyediakan beberapa alternatif untuk melakukan pembersihan manual:

  • Anda dapat mengonfigurasi kebijakan retensi database untuk lingkungan Anda, sehingga data yang lebih lama dari periode tertentu akan otomatis dihapus dari database Airflow setiap hari.

  • Sebelum kebijakan retensi database tersedia di Cloud Composer, kami merekomendasikan pendekatan yang berbeda untuk mengotomatiskan pembersihan database, melalui DAG pembersihan database. Pendekatan ini sudah tidak digunakan lagi, tetapi masih didukung. Anda dapat menemukan deskripsi dan kode DAG di halaman Cloud Composer 2.

Batas untuk ukuran database

Seiring waktu, database Airflow di lingkungan Anda akan menyimpan lebih banyak data. Data ini mencakup informasi dan log yang terkait dengan operasi DAG, tugas, dan operasi Airflow lainnya sebelumnya.

  • Jika ukuran database Airflow lebih dari 20 GB, Anda tidak dapat mengupgrade lingkungan ke versi yang lebih baru.

  • Jika ukuran database Airflow lebih dari 20 GB, Anda tidak dapat membuat snapshot.

Menjalankan operasi pembersihan database melalui Airflow CLI

Saat Anda menjalankan perintah Airflow CLI airflow db trim melalui Google Cloud CLI, Cloud Composer akan melakukan operasi retensi database.

Selama operasi ini, Cloud Composer akan menghapus entri database Airflow yang lebih lama dari periode retensi database yang saat ini dikonfigurasi (defaultnya adalah 60 hari). Operasi ini tidak mengunci tabel database Airflow, dan mempertahankan konsistensi data meskipun terganggu.

Untuk menghapus entri lama dari database Airflow, jalankan perintah berikut:

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

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan Anda.
  • LOCATION: region tempat lingkungan berada.
  • RETENTION_DAYS: periode retensi data, dalam hari. Entri yang lebih lama dari jumlah hari ini akan dihapus.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan perintah CLI Airflow di Cloud Composer, lihat Mengakses antarmuka command line Airflow.

Menjaga performa database

  • Masalah performa database Airflow dapat menyebabkan masalah eksekusi DAG secara keseluruhan. Amati statistik Penggunaan CPU dan memori database. Jika penggunaan CPU dan memori mendekati batas, database akan kelebihan beban dan memerlukan penskalaan. Jumlah resource yang tersedia untuk database Airflow dikontrol oleh properti ukuran lingkungan di lingkungan Anda. Untuk menskalakan database, ubah ukuran lingkungan ke tingkat yang lebih besar. Meningkatkan ukuran lingkungan akan meningkatkan biaya lingkungan Anda.

  • Jika Anda menggunakan mekanisme XCom untuk mentransfer file, pastikan Anda menggunakannya sesuai dengan panduan Airflow. Mentransfer file besar atau sejumlah besar file menggunakan XCom akan memengaruhi performa database Airflow dan dapat menyebabkan kegagalan saat memuat snapshot atau mengupgrade lingkungan Anda. Pertimbangkan untuk menggunakan alternatif seperti Cloud Storage untuk mentransfer data dalam volume besar.

Menghapus entri untuk DAG yang tidak digunakan

Anda dapat menghapus entri database untuk DAG yang tidak digunakan dengan menghapus DAG dari UI Airflow.

Langkah berikutnya