본문 바로가기
문서 목차
AkashiQ v0.1.0 · 플랫폼

데이터 복구

Iceberg 스냅샷 롤백과 Bronze 기반 재구축으로 잘못 적재된 데이터를 되돌립니다

QUANTUM C&S

규제 환경의 데이터 플랫폼은 "잘못 적재됐을 때 어떻게 되돌리는가" 에 답할 수 있어야 합니다. AkashiQ는 백업 복원이 아니라 레이크하우스가 제공하는 기능으로 복구합니다.

  • 원본(Bronze)을 항상 남깁니다.
  • Iceberg가 테이블의 스냅샷을 보관합니다.

이 두 가지가 있으면 특정 시점으로 되돌리거나, 원본에서 다시 계산해 복구할 수 있습니다.

계층별 복구 방식

메달리온 계층마다 성격이 달라 복구 방식도 다릅니다.

계층 복구 방식 이유
Bronze 재수집 원본이므로 되돌릴 대상이 아니라 다시 받는 대상입니다
Silver Bronze에서 재구축(replay) 정제 로직 결과이므로 다시 계산하면 같은 결과가 나옵니다
Gold 재집계 Silver가 정상이면 다시 만들 수 있습니다
카탈로그 · 문서 스냅샷 롤백 시점 상태로 되돌립니다

Silver 재구축 (replay)

Bronze 원본을 다시 읽어 Silver 이력 테이블을 결정적으로 재구축합니다. 같은 입력에 같은 로직이면 같은 결과가 나오므로, 재구축 결과와 외부 정합 비교로 검증할 수 있습니다.

실행 절차

  1. 복구 화면에서 대상 테이블과 기간을 지정합니다.
  2. 사유를 입력합니다. (필수)
  3. 실행하면 재구축 작업이 제출됩니다.
  4. 진행 상태와 결과를 화면에서 확인합니다.

사용하는 상황

  • 정제 로직의 오류를 수정한 뒤 과거 구간을 다시 계산해야 할 때
  • 상류 수집 사고로 일부 구간이 비었거나 잘못 들어왔을 때
  • 이력 테이블의 정합성을 검증해야 할 때

스냅샷 롤백

문서 카탈로그처럼 시점 상태가 중요한 테이블은 이전 스냅샷으로 되돌립니다.

  1. 스냅샷 목록에서 되돌릴 시점을 선택합니다.
  2. 되돌리기 전에 해당 시점의 상태를 조회해 확인합니다.
  3. 사유를 입력하고 실행합니다.

증분 수집의 기준점(워터마크)이 있는 경우, 기준점을 먼저 조정한 뒤 롤백해야 다음 동기화가 되돌린 구간을 다시 채웁니다. 순서를 지키지 않으면 롤백한 구간이 비어 있는 상태로 남습니다.

안전 장치

복구는 데이터를 바꾸는 작업이므로 다음 통제가 적용됩니다.

통제 내용
권한 플랫폼 관리자만 실행 가능
사유 입력 무엇을 왜 되돌렸는지 기록
감사 기록 실행자 · 시각 · 대상 · 사유를 감사 로그에 남김
사전 확인 되돌릴 시점의 상태를 먼저 조회

⚠️ 주의

파괴적인 단계는 자동화하지 않았습니다. 되돌리기의 판단은 사람이 하고, 시스템은 그 판단을 정확하게 수행하고 기록합니다.

복구 전에 확인할 것

  1. 원인이 무엇인가 — 수집 실패인지, 정제 로직 오류인지, 원천 데이터 자체의 문제인지
  2. 어느 계층을 되돌려야 하는가 — Silver 재구축으로 충분한지, 카탈로그 롤백이 필요한지
  3. 영향 범위는 어디까지인가 — 이 테이블을 참조하는 Gold 테이블과 데이터셋
  4. 되돌린 뒤 다시 채울 수 있는가 — 증분 기준점 조정이 필요한지

원인 파악은 Pipeline Ops의 DQ 판정과 실행 이력에서 시작합니다.

규제 대응 관점

복구 기능은 편의 기능이 아니라 데이터 무결성 요건의 일부입니다.

  • 원본을 보존하므로 어떤 복구도 원천 데이터를 훼손하지 않습니다.
  • 모든 복구 실행에 실행자 · 시각 · 사유가 기록됩니다.
  • 이력 테이블 구조상 "그 시점에 이 값이 무엇이었는지"를 나중에도 제시할 수 있습니다.

CSV(시스템 검증) 대응