Airflow 데이터베이스 삭제

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

이 페이지에서는 사용자 환경에서 Airflow 데이터베이스를 수동으로 정리하는 방법을 설명합니다.

대신 데이터베이스를 자동으로 정리하려면 데이터베이스 보관 정책 구성을 참고하세요.

자동 데이터베이스 정리

Cloud Composer는 수동으로 정리하는 대신 사용할 수 있는 몇 가지 방법을 제공합니다.

  • 특정 기간이 지난 레코드가 매일 Airflow 데이터베이스에서 자동으로 삭제되도록 환경의 데이터베이스 보관 정책을 구성할 수 있습니다.

  • Cloud Composer에서 데이터베이스 보관 정책을 사용할 수 있게 되기 전에는 데이터베이스 정리 DAG를 통해 데이터베이스 정리를 자동화하는 다른 접근 방식을 사용하는 것이 좋습니다. 이 접근 방식은 더 이상 사용되지 않지만 계속 지원됩니다. 설명과 DAG 코드는 Cloud Composer 2 페이지에서 확인할 수 있습니다.

데이터베이스 크기 제한

시간이 지남에 따라 환경의 Airflow 데이터베이스에는 더 많은 데이터가 저장됩니다. 이 데이터에는 과거 DAG 실행, 태스크, 기타 Airflow 작업과 관련된 정보 및 로그가 포함됩니다.

  • Airflow 데이터베이스 크기가 20GB를 초과하면 환경을 이후 버전으로 업그레이드할 수 없습니다.

  • Airflow 데이터베이스 크기가 20GB를 초과하면 스냅샷을 만들 수 없습니다.

Airflow CLI를 통해 데이터베이스 정리 작업 실행

Google Cloud CLI를 통해 airflow db trim Airflow CLI 명령어를 실행하면 Cloud Composer에서 데이터베이스 보관처리 작업을 실행합니다.

이 작업 중에 Cloud Composer는 현재 구성된 데이터베이스 보관 기간 (기본값: 60일)보다 오래된 Airflow 데이터베이스 항목을 삭제합니다. 이 작업은 Airflow 데이터베이스 테이블을 잠그지 않으며 중단되더라도 데이터 일관성을 유지합니다.

Airflow 데이터베이스에서 이전 항목을 삭제하려면 다음 명령어를 실행합니다.

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

다음을 바꿉니다.

  • ENVIRONMENT_NAME: 환경의 이름입니다.
  • LOCATION: 환경이 위치한 리전
  • RETENTION_DAYS: 보관 기간(일)입니다. 이 기간보다 오래된 항목은 삭제됩니다.

Cloud Composer에서 Airflow CLI 명령어를 실행하는 방법에 대한 자세한 내용은 Airflow 명령줄 인터페이스 액세스를 참고하세요.

데이터베이스 성능 유지

  • Airflow 데이터베이스 성능 문제로 인해 전체 DAG 실행 문제가 발생할 수 있습니다. 데이터베이스 CPU 및 메모리 사용량 통계를 관찰합니다. CPU 및 메모리 사용률이 한도에 가까워지면 데이터베이스에 과부하가 발생하므로 확장해야 합니다. Airflow 데이터베이스에 사용할 수 있는 리소스 양은 환경의 환경 크기 속성에 따라 제어됩니다. 데이터베이스를 확장하려면 환경 크기를 더 큰 등급으로 변경하세요. 환경 크기를 늘리면 환경의 비용이 증가합니다.

  • XCom 메커니즘을 사용하여 파일을 전송하는 경우 Airflow 가이드라인에 따라 사용해야 합니다. XCom을 사용하여 큰 파일이나 다수의 파일을 전송하면 Airflow 데이터베이스 성능이 영향을 받고 스냅샷을 로드하거나 환경을 업그레이드할 때 오류가 발생할 수 있습니다. 대용량 데이터를 전송하려면 Cloud Storage와 같은 대안을 사용하는 것이 좋습니다.

사용하지 않는 DAG의 항목 삭제

Airflow UI에서 DAG를 삭제하여 사용하지 않는 DAG의 데이터베이스 항목을 삭제할 수 있습니다.

다음 단계