데이터 파이프라인 설계와 개발
파이프라인 개발은 조직의 원천 데이터를 Foundry에 연결하고, 업무와 분석에 사용할 수 있는 품질로 정리하는 작업에서 시작합니다. 초기에는 업무 요구와 변환 로직이 자주 바뀌므로 데이터의 의미, 프로젝트별 책임과 이후 유지보수 방식을 함께 정해야 합니다.
기본 개발 순서
- 프로젝트 경계를 정합니다. 원천 수집, 공통 변환, 온톨로지와 업무 애플리케이션의 책임 및 접근 권한을 구분합니다.
- Data Connection에서 원천 데이터를 수집합니다. 어떤 주기와 방식으로 입력이 갱신되는지 확인합니다.
- Pipeline Builder 또는 Code Repositories에서 배치 파이프라인을 만듭니다. 입력의 형식과 값을 정리하고 필터 및 조인으로 업무에 필요한 데이터셋을 구성합니다.
- 최종 데이터셋을 온톨로지의 객체 유형과 링크 유형에 연결합니다. 데이터 행이 나타내는 업무 개체와 개체 간 관계를 명확히 합니다.
- 스케줄을 구성하여 입력부터 출력까지 정기적으로 갱신합니다.
기능이 늘면 단위 테스트, 브랜치 보호, 릴리스 승인과 상태 검사를 추가합니다. 이 과정은 개발 규약, 릴리스 절차와 운영 전환 기준으로 구체화할 수 있습니다.
처리 방식 선택
처음에는 배치로 업무 결과를 확인한 뒤, 반복 계산이 문제가 될 때 증분 처리로 전환하는 접근이 일반적입니다. 처음부터 새 데이터가 매우 많이 들어올 것을 알고 있다면 증분 처리를 전제로 설계할 수 있습니다. 증분 파이프라인은 마지막 처리 이후의 변경을 다루므로 전체 재계산보다 입력 트랜잭션과 비증분 갱신에 대한 이해가 더 필요합니다.
1분 미만처럼 짧은 지연 시간이 필수인 업무에는 스트리밍을 검토합니다. 스트리밍의 전체 지연과 처리량은 가장 느린 단계의 영향을 받으므로 수집, 변환과 출력까지 처음부터 목표에 맞춰 설계해야 합니다.
설계 판단과 팀 운영
| 주제 | 결정할 내용 |
|---|---|
| 파이프라인 유형 | 배치, 증분, 스트리밍 및 Faster의 지연, 비용과 복잡도를 비교합니다. |
| 작성 도구 | Pipeline Builder와 Code Repositories를 선택하거나 함께 사용합니다. |
| 변환 언어 | SQL, Python, Java의 파일 접근, 증분 계산과 로직 버전 관리 지원을 비교합니다. |
| 증분 파이프라인 | 수집부터 변경분을 처리하고 파일, 트랜잭션과 이력 누적에 대응합니다. |
| 비정형 파일 처리 | 파일 API와 CSV 및 JSON 스키마 적용을 통해 원시 파일을 변환합니다. |
| 프로젝트와 역할 | 데이터 수집부터 업무 활용까지의 출력 계약, 폴더와 담당자를 정합니다. |
| 파이프라인 보안 | 보안 표지의 전파, 기존 파이프라인의 전환과 조직 요건 제거 승인을 관리합니다. |
| 개발 규약 | 이름, 자료형, 코드 재사용, 저장소 관리와 검사 기준을 정합니다. |
| 브랜치와 릴리스 | 개발, 사용자 검증과 운영 반영을 분리합니다. |
| 운영 전환 | 갱신 주기, 데이터 도착 시각, 장애 대응과 모니터링 조건을 합의합니다. |
| 기존 Logic Flows | Sunset 단계에 있는 자동화의 실행, 저장소 변경 PR과 이전 조건을 확인합니다. |
Iceberg 파이프라인을 사용하는 경우에는 엔진별 지원, 암호화와 변경 로그 처리 조건도 함께 검토합니다.