본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

파이프라인 유형

팔란티어 Foundry에서 생성할 수 있는 파이프라인의 주요 유형은 세 가지이며, 각각은 다음 몇 가지 기준에 따라 다른 트레이드 오프를 제공합니다:

  • 지연 시간. 파이프라인이 종단 간 실행에 얼마나 오래 걸립니까?
  • 복잡성. 파이프라인을 작성하고 시간이 지남에 따라 유지 관리하는 것이 얼마나 어렵습니까?
  • 계산 비용. 파이프라인이 계산 시간 측면에서 실제로 얼마나 비용이 드는지?
  • 데이터 규모 변경에 대한 탄력성. 시간이 지남에 따라 파이프라인으로 얼마나 많은 추가 데이터가 흐르게 될까요?

파이프라인의 세 가지 유형은 다음과 같습니다:

  • 배치 파이프라인은 각 실행시 변경된 모든 데이터셋을 완전히 다시 계산합니다.
  • 점진적 파이프라인은 마지막 실행 이후에 변경된 새 데이터만 처리합니다.
  • 스트리밍 파이프라인은 지속적으로 실행되며 플랫폼에 도착하는 새 데이터를 처리합니다.

아래에서 각 파이프라인 유형, 그 트레이드 오프, 그리고 이 유형의 파이프라인 작성을 시작하는 방법에 대해 논의합니다. 편의를 위해 아래에 언급된 트레이드 오프에 따른 파이프라인 유형에 대한 요약 표가 있습니다.

기준배치점진적스트리밍
지연 시간높음낮음매우 낮음
복잡성낮음중간높음
계산 비용중간낮음높음
데이터 규모 변경에 대한 탄력성낮음높음높음

배치

배치 파이프라인에서는 상류 데이터가 변경될 때마다 파이프라인의 모든 데이터셋이 완전히 다시 계산됩니다. 모든 것이 다시 계산되므로 파이프라인의 종단 간 성능은 시간이 지남에 따라 매우 일관되며, 파이프라인의 코드 및 유지 관리 복잡성은 최소입니다. 더 많은 사용자가 배치 파이프라인에 기여할 수 있도록 배치 파이프라인 작성을 위한 다양한 언어와 도구가 제공됩니다. 이에는 SQL이 포함됩니다.

위의 기준에 따라 배치 파이프라인을 검토하면:

  • 배치 파이프라인의 지연 시간은 모든 데이터가 플랫폼에 들어올 때마다 처리되어야 하므로 매우 높을 수 있습니다. 하지만 마지막 동기화 이후에 변경되지 않았더라도 데이터가 플랫폼에 들어올 때마다 처리되어야 합니다. 그러나 전체 데이터 규모가 작으면 지연 시간이 낮을 수 있습니다.
  • 배치 파이프라인의 복잡성은 매우 낮습니다. 필터, 조인, 집계 등의 테이블 조작 개념을 이해하는 것이 여전히 필요하긴 하지만, 그 이상의 지식은 거의 필요하지 않습니다.
  • 배치 파이프라인의 계산 비용은 높을 수 있습니다. 파이프라인의 모든 빌드에서 많은 양의 반복 계산이 발생하기 때문입니다. 다시 말해, 이 요소는 전체 데이터 규모가 작으면 무시할 수 있습니다.
  • 데이터 규모 변화에 대한 탄력성은 낮습니다. 입력 데이터셋이 고용량 이벤트를 나타내는 등 파이프라인으로 큰 양의 새 데이터가 흐르면, 배치 파이프라인은 관리하기 어렵게 비싸지고 실행하는 데 너무 오래 걸릴 것입니다.

대부분의 경우, 파이프라인이 유효한 유즈케이스를 가지고 있음이 검증되면 배치 파이프라인을 생성하고 점진적 계산을 지원하도록 확장하여 Foundry에서 파이프라인 개발을 시작해야 합니다. 많은 경우에, 데이터 규모가 낮다면 (예: 수천만 행 이하) 배치 파이프라인을 계속 사용할 수 있습니다.

파이프라인을 미래에 점진적으로 만들어야 할 것으로 예상되면 배치 파이프라인 개발에 Python 또는 Java를 사용하는 것이 좋습니다. 이 언어들은 점진적 계산을 지원합니다.

Pipeline Builder에서 배치 파이프라인을 생성하는 방법을 배우는 것으로 시작하거나, 다른 언어에 대한 튜토리얼을 따르십시오:

점진적

점진적 파이프라인에서는 마지막 빌드 이후에 변경된 데이터의 행 또는 파일만 계산됩니다. 이는 이벤트 데이터 및 시간이 지남에 따라 많은 양의 데이터가 변경되는 다른 데이터셋을 처리하는 데 적합합니다. 전체 계산량을 줄이는 것 외에도, 배치 파이프라인에 비해 파이프라인의 종단 간 지연 시간을 크게 줄일 수 있습니다. 점진적 계산을 위한 Python 및 Java API만 사용 가능합니다.

위의 기준에 따라 점진적 파이프라인을 검토하면:

  • 점진적 파이프라인의 지연 시간은 매우 낮게 만들 수 있습니다—분 단위로. 우리의 경험에 따르면, 이는 대부분의 조직 요구사항을 충족시키는 충분히 낮은 지연 시간입니다.
  • 점진적 파이프라인의 복잡성은 중간에서 높습니다. 테이블 데이터 프레임의 하이레벨 개념에 작동하는 대신, 점진적 파이프라인을 작성하고 유지 관리하는 것은 Foundry 데이터셋 거래로 데이터가 어떻게 흘러가는지 이해하고, 입력 데이터셋이 비점진적으로 업데이트될 때의 경우를 처리하고, 시간이 지남에 따른 높은 성능을 유지하는 방법을 이해하는 것을 필요로 합니다.
  • 점진적 파이프라인의 계산 비용은 데이터 규모가 높은 데이터셋에서 배치 파이프라인보다 낮을 수 있습니다. 실제로 발생하는 계산량을 최소화할 수 있기 때문입니다.
  • 데이터 규모 변화에 대한 탄력성은 높습니다. 새로운 데이터만 처리하기 때문에 점진적 파이프라인은 대부분의 데이터가 변경되지 않는 큰 데이터셋에서 계산을 다시 하는 것을 피할 수 있습니다.

점진적 파이프라인에 대해 더 알아보려면 다음 리소스를 참조하세요:

스트리밍

스트리밍 파이프라인에서는 코드가 지속적으로 실행되어 Foundry로 스트리밍되는 새로운 데이터를 처리하며, 가장 낮은 수준의 지연 시간을 가능하게 하지만 가장 높은 수준의 복잡성과 계산 비용을 발생시킵니다. 일반적으로 스트리밍 파이프라인을 관리하는 마이크로서비스를 관리하는 것에 가깝게 생각하는 것이 도움이 됩니다—스트리밍 파이프라인을 성공적으로 실행하기 위해서는 업타임, 복원력, 상태 유지 작업에 대해 매우 신중해야 합니다.

위의 기준에 따라 스트리밍 파이프라인을 검토하면:

  • 스트리밍 파이프라인의 지연 시간은 매우 낮게 만들 수 있습니다. 데이터가 1분 이내에 사용 가능해야 하는 강력한 요구사항이 있다면 스트리밍 파이프라인이 적합할 수 있습니다.
  • 스트리밍 파이프라인의 복잡성은 매우 높습니다. 이러한 파이프라인을 작성하려면 미래에 예상치 못하게 불안정을 초래할 수 있는 상태 유지 작업과 같은 넓은 패턴을 피해야 합니다. 또한, 스트리밍 파이프라인은 일관된 신선한 데이터에 의존하는 사용 사례가 어떠한 중단도 중단으로 간주할 수 있기 때문에 배치 또는 점진적 파이프라인보다 실패에 대한 허용도가 낮습니다.
  • 스트리밍 파이프라인의 계산 비용은 매우 높을 수 있습니다. 스트리밍 파이프라인의 특성상 계산 리소스가 항상 새로운 입력 데이터를 처리할 수 있도록 사용 가능해야 합니다.
  • 데이터 규모 변화에 대한 탄력성은 높습니다. 스트리밍 파이프라인은 높은 처리량을 지원하기 위해 설계되었으며, 일반적으로 배치 또는 점진적 파이프라인보다 데이터 규모의 변화를 더 높게 처리할 수 있습니다.

대부분의 경우, 사용 사례가 매우 낮은 지연 시간 요구사항이 있는 경우가 아니라면 스트리밍 파이프라인을 생성하는 것을 피하는 것이 가장 좋습니다. 점진적 파이프라인은 종종 분 단위의 종단 간 지연 시간까지 성능을 발휘할 수 있도록 만들어져 스트리밍 파이프라인의 추가 복잡성과 계산 비용을 발생시키지 않고도 대부분의 요구 사항을 충족시킵니다.

스트리밍 파이프라인에 대해 더 알아보려면 다음 리소스를 참조하세요:

스트리밍 파이프라인에 대한 추가 문서는 곧 제공될 예정입니다. 스트리밍 파이프라인을 구축하는 데 관심이 있다면 당신의 팔란티어 대표에게 연락하십시오.