워크플로 최적화
최적화는 고급 워크플로를 검토하여 더 빠르게 실행되도록 변경 사항을 제안합니다. 아무 일도 일어나기 전에 모든 변경 사항을 확인하고, 원하는 항목을 선택하며, 나중에 결과를 실행 취소할 수 있습니다.
최적화는 고급(DAG) 워크플로에서 작동합니다. 표준 워크플로는 먼저 고급으로 변환… 옵션을 선택하십시오. 고급 워크플로를 참조하십시오.
워크플로 최적화
섹션 제목: “워크플로 최적화”- 워크플로 목록에서 고급 워크플로를 마우스 오른쪽 버튼으로 클릭하고 최적화… 옵션을 선택합니다. 워크플로가 실행 중이거나 일시 중지된 상태가 아니어야 하며, 쓰기 권한이 있어야 합니다.
- 워크플로 최적화 창에 34개 단계 → 30개 단계 · 12개 단계를 병렬로 실행 가능과 같은 헤드라인이 표시됩니다. 워크플로에 실행 기록이 있으면 실행당 약 11초 단축이 추가됩니다.
- 헤드라인 아래에는 변경 사항마다 한 행씩 표시되며, 각 행에는 체크박스, 영향을 받는 단계, 워크플로에 미치는 의미, 절약되는 시간(실제 경과 실행 시간의 변화로 측정)이 있습니다. 모든 항목이 선택되어 있으므로 원하지 않는 항목은 선택을 해제하십시오.
- 최적화할 수 없음 목록에는 최적화가 그대로 둔 단계와 각각의 구체적인 이유가 표시됩니다. 단계를 최적화할 수 없는 이유를 참조하십시오.
- 변경 N건 적용을 선택합니다.
워크플로에 더 이상 개선할 항목이 없으면 창에 그렇게 표시됩니다.
두 가지 변경 유형
섹션 제목: “두 가지 변경 유형”데이터 계보에서 종속성 다시 구성
섹션 제목: “데이터 계보에서 종속성 다시 구성”최적화는 각 단계가 읽고 쓰는 테이블을 파악하고 연결을 다시 그려서, 단계가 자신이 사용하는 테이블을 가진 단계만 기다리도록 합니다. 테이블을 공유하지 않는 단계는 병렬로 실행됩니다.
- 단계가 관련 없는 단계를 더 이상 기다리지 않으므로, 관련 없는 단계가 실패해도 더 이상 멈추지 않습니다. 실패는 새 종속성을 따라 전파됩니다.
- 여기서부터 실행처럼 단계 범위로 일부만 실행하는 경우에도 새 종속성을 따릅니다.
- 한 번에 실행되는 단계 수는 여전히 서버가 제한합니다.
- 테이블을 이름이나 경로로 지정하는 단계는 테이블 ID를 사용하는 단계와 동일한 방식으로 처리됩니다. 이름은 프로젝트의 테이블 하나와 정확히 일치해야 합니다. 여러 테이블과 일치하는 이름, 변수를 사용하는 참조, 다른 프로젝트의 테이블은 추적할 수 없습니다.
- 비활성화된 단계에는 순서가 지정되지 않으며, 병렬로 실행할 수 있는 단계 수에도 포함되지 않습니다.
- 일정이나 다른 워크플로가 이 워크플로의 단계 범위를 실행하는 동안에는 최적화가 이 변경을 제외합니다.
추출 단계의 연쇄를 하나로 병합
섹션 제목: “추출 단계의 연쇄를 하나로 병합”각각 앞 단계가 쓴 테이블을 읽는 데이터 추출 단계의 연쇄는, 첫 번째 소스를 읽고 마지막 결과를 쓰는 하나의 단계가 됩니다.
각 병합은 적용하기 전에 검증됩니다. 최적화는 원래 단계와 병합된 단계를 현재 데이터로 임시 스크래치 테이블에 실행하고, 두 결과를 행 단위로 비교합니다. 둘이 동일한 경우에만 병합을 적용합니다. 검증하는 동안 워크플로와 테이블은 변경되지 않습니다.
- 이름 바꾸기 뒤에 필터가 오는 경우(예: 선택 단계 뒤에 필터)는 하나의 단계로 병합될 수 있습니다.
- 연쇄 전체를 병합할 수 없으면 최적화는 병합할 수 있는 가장 긴 부분을 제안합니다.
- 병합된 연쇄 중간의 테이블은 더 이상 워크플로에서 기록하지 않습니다. 삭제되지 않고 유지되며, 변경 사항에 해당 테이블이 표시됩니다.
- 결과가 다르거나 검증할 수 없는 병합은 적용되지 않으며, 결과에 그 이유가 표시됩니다. 병합에는 데이터가 있는 소스 테이블이 필요합니다.
단계를 최적화할 수 없는 이유
섹션 제목: “단계를 최적화할 수 없는 이유”최적화할 수 없음의 모든 행에는 각각의 원인이 표시됩니다.
| 원인 | 의미 |
|---|---|
| 집계 | 단계가 행을 요약하므로 인접한 단계에 합칠 수 없습니다. |
| 필터 2개 | 필터가 2개 있는 연쇄는 하나의 단계가 될 수 없습니다. |
| 반올림될 수 있는 부동 소수점에 대한 필터 | 병합하면 통과하는 행이 달라질 수 있으므로 필터는 현재 위치에 유지됩니다. |
| 사용자 코드를 실행하는 단계 | 식, 스크립트 및 이와 유사한 단계는 동등성을 검증할 수 없습니다. |
| 둘 이상의 단계에서 읽는 테이블 | 연쇄 중간의 테이블이 다른 곳에서 필요합니다. |
| 비활성화된 단계 | 비활성화된 단계는 병합되지 않으며 순서가 지정되지 않습니다. |
| 실행 컨테이너의 멤버 | 실행 컨테이너 안의 단계는 하나의 단위로 실행됩니다. |
| 사용 가능한 행 수 없음 | 실시간으로도 소스 테이블의 행 수를 읽을 수 없으므로 검증을 위한 병합 규모를 산정할 수 없습니다. |
| 테이블을 식별할 수 없음 | 단계의 테이블 이름이 어떤 테이블과도 일치하지 않거나 둘 이상과 일치하거나, 변수를 사용하거나, 다른 프로젝트를 가리킵니다. |
| 행 수준 보안 또는 너무 큼 | 테이블이 행 수준 보안의 적용을 받거나, 자동으로 검증하기에는 너무 큽니다. |
캔버스에서 단계를 그룹화하기만 하는 시각적 컨테이너는 병합을 막지 않습니다. 병합으로 컨테이너에서 단계가 제거되면 병합된 단계가 그 자리를 차지하고, 비어 있게 된 컨테이너는 삭제됩니다. 실행 취소하면 레이아웃이 그대로 복원됩니다.
진행 상황 확인
섹션 제목: “진행 상황 확인”적용한 후에는 워크플로 최적화 중에 검증 중(6회 중 3회 실행)…, 결과 비교 중…, 적용 중… 단계가 표시됩니다. 완료되면 결과에 적용됨 항목(각 병합이 검증된 행 수 포함)과 적용되지 않음 항목(각각의 이유 포함)이 나열됩니다.
최적화가 검증하는 동안 워크플로가 변경되면 영향을 받는 변경 사항은 건너뛰며, 창에 그 수가 표시됩니다. 적용에 실패하면 워크플로는 이전 상태로 복원됩니다.
변경 사항을 커밋하는 동안 시작되는 실행은 삭제되지 않고 잠시 지연됩니다.
최적화 실행 취소
섹션 제목: “최적화 실행 취소”워크플로를 마우스 오른쪽 버튼으로 클릭하고 최적화 실행 취소… 옵션을 선택하거나, 결과에서 최적화 실행 취소를 사용합니다. 확인하면 워크플로의 단계, 설정, 레이아웃이 최적화 이전 상태로 돌아갑니다. 그 이후에 워크플로에 한 변경 사항은 사라집니다.
실행 취소에는 복원 지점이 필요하며, 모든 테넌트에서 사용할 수 있는 것은 아닙니다. 복원 지점이 없는 테넌트는 최적화를 적용할 수 없습니다.
API 및 AI 어시스턴트를 통한 최적화
섹션 제목: “API 및 AI 어시스턴트를 통한 최적화”최적화는 REST API와 AI 어시스턴트용 workflow_optimize 도구를 통해서도 사용할 수 있으며, 미리 보기, 적용, 실행 취소 단계는 동일합니다.