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의 데이터베이스 항목을 삭제할 수 있습니다.
다음 단계