데이터 보존(Data Retention)

데이터 보존(Data Retention)

Langfuse의 데이터 보존 기능을 사용하면 이벤트 데이터(Traces, Observations, Scores, Media Assets)가 Langfuse에 저장되는 기간을 제어할 수 있습니다. 이 문서는 프로젝트 수준에서 보존 기간을 구성하는 방법과, 보존 정책이 각 데이터 유형에 어떤 영향을 주는지 설명해요.

출처: 문서

본문

이 기능은 어디에서 쓸 수 있나요?

플랜 사용 가능 여부
Hobby 사용 불가
Core 사용 불가
Pro 사용 가능
Enterprise 사용 가능
Self Hosted Enterprise Edition

Langfuse의 데이터 보존 기능으로 이벤트 데이터(Traces, Observations, Scores, Media Assets)가 저장되는 기간을 제어할 수 있습니다.

프로젝트 데이터 보존은 감사 로그나 데이터셋 아이템을 삭제하지 않습니다. trace를 데이터셋에 추가하면, 원본 trace가 만료된 후에도 저장된 데이터셋 아이템은 계속 사용할 수 있습니다. 하지만 trace를 데이터셋에 추가한다고 해서 그 trace가 삭제에서 보호되지는 않습니다.

구성

데이터 보존은 프로젝트 수준에서 구성되며 최소 3일 이상의 일수를 허용합니다. 프로젝트 소유자와 관리자는 Project Settings → Data Retention에서 설정을 변경할 수 있습니다.

보존 정책이 없으면 Langfuse는 이벤트 데이터(Traces, Observations, Scores, Media Assets)를 자동으로 삭제하지 않습니다. 셀프 호스팅 인스턴스에서는 데이터가 기본적으로 무기한 저장됩니다. Langfuse Cloud에서는 각 플랜에 데이터 접근 기간이 포함됩니다(Hobby: 30일, Core: 90일, Pro/Enterprise: 3년); 자세한 내용은 pricing 을 참고하세요.

데이터 보존은 Organization Management API 로도 구성할 수 있습니다.

상세 내용(Details)

매일 밤 Langfuse는 구성된 보존 기간보다 오래된 traces, observations, scores, media assets를 선택해 삭제합니다. 단, 저장된 데이터셋 아이템과 연결된 미디어는 제외됩니다(아래 데이터셋 미디어 참고).

보존 기간 밖인지 판단할 때 각 엔터티별 다음 속성을 사용합니다:

  • Traces: timestamp
  • Observations: start_time
  • Scores: timestamp
  • Media Assets: created_at

삭제된 자산은 복구할 수 없습니다. 보존 기간을 넘어 데이터를 보존해야 한다면 Blob Storage Export 를 설정해 traces, observations, scores를 정기적으로 S3, GCS, Azure에 자동 동기화할 수 있습니다.

프로젝트 보존은 무엇을 삭제하나요?

데이터 프로젝트 보존의 효과
Traces, observations, scores 보존 기간 밖으로 벗어나면 삭제됨 (데이터셋이나 실험에 연결된 것 포함)
Audit logs 프로젝트 보존의 영향 없음
Datasets 및 dataset items 영향 없음. 저장된 input, expected output, metadata는 계속 사용 가능
Dataset runs 및 run items 레코드는 남지만, 연결된 실험 traces, observations, scores는 만료될 수 있음
Langfuse에 저장된 media assets 만료되면 삭제됨 (저장된 데이터셋 아이템과 연결된 경우 제외)

trace를 데이터셋에 추가하면 데이터셋 아이템이 삭제되나요?

아니요. trace 뷰에서 trace나 observation을 데이터셋 에 추가하면, Langfuse는 선택한 input, expected output, metadata를 별도의 데이터셋 아이템으로 저장합니다. 또한 원본 trace나 observation에 대한 참조도 저장합니다.

예를 들어 30일 보존의 경우, 원본 trace가 보존 기간 밖으로 벗어나 정리되면:

  • 데이터셋 아이템과 저장된 데이터는 향후 실험에 계속 사용 가능합니다.
  • 소스 링크는 삭제된 trace를 가리킵니다. 그 링크로는 원본 trace의 observations, 타이밍, 기타 세부 사항을 더 이상 조사할 수 없습니다.

오래된 trace를 데이터셋에 추가한다고 해서 trace의 보존 기간이 초기화되지는 않습니다.

실험 결과에는 어떤 일이 생기나요?

실험으로 만들어진 traces, observations, scores도 프로젝트 보존 정책을 따릅니다. Dataset run 및 run-item 레코드는 이 연결된 데이터를 보존하지 않습니다. 일단 만료되면 실험 레코드는 남아 있어도 해당 trace 세부 사항과 scores는 더 이상 사용할 수 없게 됩니다.

데이터셋 미디어

저장된 데이터셋 아이템과 연결된 Langfuse 관리 미디어는 원본 trace가 만료되는 경우를 포함해 보존 삭제에서 제외됩니다. 데이터셋 아이템에 미디어를 저장하는 방법은 multi-modal dataset items 를 참고하세요.

외부 URL은 다른 곳에 호스팅된 파일에 대한 참조입니다. 데이터셋 아이템에 외부 URL을 저장한다고 해서 파일이 Langfuse에 복사되거나 계속 사용 가능하도록 보장되지는 않습니다. 파일의 사용 가능 여부는 외부 호스트에 달려 있습니다.

셀프 호스팅 인스턴스

셀프 호스팅 환경에서 데이터 보존 기능을 사용하려면 모든 버킷에서 Langfuse IAM 역할에 s3:DeleteObject 권한을 부여해야 합니다 (Blob Storage (S3) docs 참고). Langfuse는 API에서 삭제 문만 발행합니다. 버전 관리되는 버킷을 사용한다면 delete marker와 비현재 버전을 수동으로 또는 lifecycle 규칙으로 제거해야 합니다.

더 알아보기 (Learn more)