콘텐츠로 이동

워크플로 최적화

최적화는 고급 워크플로를 검토하여 더 빠르게 실행되도록 변경 사항을 제안합니다. 아무 일도 일어나기 전에 모든 변경 사항을 확인하고, 원하는 항목을 선택하며, 나중에 결과를 실행 취소할 수 있습니다.

최적화는 고급(DAG) 워크플로에서 작동합니다. 표준 워크플로는 먼저 고급으로 변환… 옵션을 선택하십시오. 고급 워크플로를 참조하십시오.

  1. 워크플로 목록에서 고급 워크플로를 마우스 오른쪽 버튼으로 클릭하고 최적화… 옵션을 선택합니다. 워크플로가 실행 중이거나 일시 중지된 상태가 아니어야 하며, 쓰기 권한이 있어야 합니다.
  2. 워크플로 최적화 창에 34개 단계 → 30개 단계 · 12개 단계를 병렬로 실행 가능과 같은 헤드라인이 표시됩니다. 워크플로에 실행 기록이 있으면 실행당 약 11초 단축이 추가됩니다.
  3. 헤드라인 아래에는 변경 사항마다 한 행씩 표시되며, 각 행에는 체크박스, 영향을 받는 단계, 워크플로에 미치는 의미, 절약되는 시간(실제 경과 실행 시간의 변화로 측정)이 있습니다. 모든 항목이 선택되어 있으므로 원하지 않는 항목은 선택을 해제하십시오.
  4. 최적화할 수 없음 목록에는 최적화가 그대로 둔 단계와 각각의 구체적인 이유가 표시됩니다. 단계를 최적화할 수 없는 이유를 참조하십시오.
  5. 변경 N건 적용을 선택합니다.

워크플로에 더 이상 개선할 항목이 없으면 창에 그렇게 표시됩니다.

데이터 계보에서 종속성 다시 구성

섹션 제목: “데이터 계보에서 종속성 다시 구성”

최적화는 각 단계가 읽고 쓰는 테이블을 파악하고 연결을 다시 그려서, 단계가 자신이 사용하는 테이블을 가진 단계만 기다리도록 합니다. 테이블을 공유하지 않는 단계는 병렬로 실행됩니다.

  • 단계가 관련 없는 단계를 더 이상 기다리지 않으므로, 관련 없는 단계가 실패해도 더 이상 멈추지 않습니다. 실패는 새 종속성을 따라 전파됩니다.
  • 여기서부터 실행처럼 단계 범위로 일부만 실행하는 경우에도 새 종속성을 따릅니다.
  • 한 번에 실행되는 단계 수는 여전히 서버가 제한합니다.
  • 테이블을 이름이나 경로로 지정하는 단계는 테이블 ID를 사용하는 단계와 동일한 방식으로 처리됩니다. 이름은 프로젝트의 테이블 하나와 정확히 일치해야 합니다. 여러 테이블과 일치하는 이름, 변수를 사용하는 참조, 다른 프로젝트의 테이블은 추적할 수 없습니다.
  • 비활성화된 단계에는 순서가 지정되지 않으며, 병렬로 실행할 수 있는 단계 수에도 포함되지 않습니다.
  • 일정이나 다른 워크플로가 이 워크플로의 단계 범위를 실행하는 동안에는 최적화가 이 변경을 제외합니다.

추출 단계의 연쇄를 하나로 병합

섹션 제목: “추출 단계의 연쇄를 하나로 병합”

각각 앞 단계가 쓴 테이블을 읽는 데이터 추출 단계의 연쇄는, 첫 번째 소스를 읽고 마지막 결과를 쓰는 하나의 단계가 됩니다.

각 병합은 적용하기 전에 검증됩니다. 최적화는 원래 단계와 병합된 단계를 현재 데이터로 임시 스크래치 테이블에 실행하고, 두 결과를 행 단위로 비교합니다. 둘이 동일한 경우에만 병합을 적용합니다. 검증하는 동안 워크플로와 테이블은 변경되지 않습니다.

  • 이름 바꾸기 뒤에 필터가 오는 경우(예: 선택 단계 뒤에 필터)는 하나의 단계로 병합될 수 있습니다.
  • 연쇄 전체를 병합할 수 없으면 최적화는 병합할 수 있는 가장 긴 부분을 제안합니다.
  • 병합된 연쇄 중간의 테이블은 더 이상 워크플로에서 기록하지 않습니다. 삭제되지 않고 유지되며, 변경 사항에 해당 테이블이 표시됩니다.
  • 결과가 다르거나 검증할 수 없는 병합은 적용되지 않으며, 결과에 그 이유가 표시됩니다. 병합에는 데이터가 있는 소스 테이블이 필요합니다.

최적화할 수 없음의 모든 행에는 각각의 원인이 표시됩니다.

원인 의미
집계 단계가 행을 요약하므로 인접한 단계에 합칠 수 없습니다.
필터 2개 필터가 2개 있는 연쇄는 하나의 단계가 될 수 없습니다.
반올림될 수 있는 부동 소수점에 대한 필터 병합하면 통과하는 행이 달라질 수 있으므로 필터는 현재 위치에 유지됩니다.
사용자 코드를 실행하는 단계 식, 스크립트 및 이와 유사한 단계는 동등성을 검증할 수 없습니다.
둘 이상의 단계에서 읽는 테이블 연쇄 중간의 테이블이 다른 곳에서 필요합니다.
비활성화된 단계 비활성화된 단계는 병합되지 않으며 순서가 지정되지 않습니다.
실행 컨테이너의 멤버 실행 컨테이너 안의 단계는 하나의 단위로 실행됩니다.
사용 가능한 행 수 없음 실시간으로도 소스 테이블의 행 수를 읽을 수 없으므로 검증을 위한 병합 규모를 산정할 수 없습니다.
테이블을 식별할 수 없음 단계의 테이블 이름이 어떤 테이블과도 일치하지 않거나 둘 이상과 일치하거나, 변수를 사용하거나, 다른 프로젝트를 가리킵니다.
행 수준 보안 또는 너무 큼 테이블이 행 수준 보안의 적용을 받거나, 자동으로 검증하기에는 너무 큽니다.

캔버스에서 단계를 그룹화하기만 하는 시각적 컨테이너는 병합을 막지 않습니다. 병합으로 컨테이너에서 단계가 제거되면 병합된 단계가 그 자리를 차지하고, 비어 있게 된 컨테이너는 삭제됩니다. 실행 취소하면 레이아웃이 그대로 복원됩니다.

적용한 후에는 워크플로 최적화 중에 검증 중(6회 중 3회 실행)…, 결과 비교 중…, 적용 중… 단계가 표시됩니다. 완료되면 결과에 적용됨 항목(각 병합이 검증된 행 수 포함)과 적용되지 않음 항목(각각의 이유 포함)이 나열됩니다.

최적화가 검증하는 동안 워크플로가 변경되면 영향을 받는 변경 사항은 건너뛰며, 창에 그 수가 표시됩니다. 적용에 실패하면 워크플로는 이전 상태로 복원됩니다.

변경 사항을 커밋하는 동안 시작되는 실행은 삭제되지 않고 잠시 지연됩니다.

워크플로를 마우스 오른쪽 버튼으로 클릭하고 최적화 실행 취소… 옵션을 선택하거나, 결과에서 최적화 실행 취소를 사용합니다. 확인하면 워크플로의 단계, 설정, 레이아웃이 최적화 이전 상태로 돌아갑니다. 그 이후에 워크플로에 한 변경 사항은 사라집니다.

실행 취소에는 복원 지점이 필요하며, 모든 테넌트에서 사용할 수 있는 것은 아닙니다. 복원 지점이 없는 테넌트는 최적화를 적용할 수 없습니다.

API 및 AI 어시스턴트를 통한 최적화

섹션 제목: “API 및 AI 어시스턴트를 통한 최적화”

최적화는 REST API와 AI 어시스턴트용 workflow_optimize 도구를 통해서도 사용할 수 있으며, 미리 보기, 적용, 실행 취소 단계는 동일합니다.