Minion 병합·롤업 작업

Minion 병합·롤업 작업 (Minion Merge Rollup Task)

Minion의 병합·롤업(Merge/Rollup) 작업으로 여러 세그먼트를 압축하는 방법을 안내해요.

출처: 문서

본문

개요 (Overview)

시간이 지나면 테이블에 작고 많은 세그먼트가 생겨 쿼리 성능과 저장 효율이 떨어질 수 있어요. Merge Rollup 작업은 여러 세그먼트를 하나로 병합(merge)하거나 롤업(rollup)해 세그먼트 수를 줄이고 효율을 높여요.

병합 유형 (Merge types)

  • CONCAT (병합) — 여러 세그먼트를 단순히 이어붙여 더 큰 세그먼트로 만들어요. 중복 제거나 집계는 하지 않아요.
  • ROLLUP (롤업) — 지정된 집계 함수로 메트릭을 사전 집계해 세그먼트를 압축해요. 예: SUM, COUNT, MAX, MIN, AVG. 중복 차원을 병합해 크기를 크게 줄일 수 있어요.
  • DEDUP (중복 제거) — 세그먼트 안의 중복 행을 제거해요.

구성 (Configuration)

테이블 구성의 task 섹션에서 작업을 예약하고 병합 유형·집계 함수를 지정해요:

"task": {
  "taskTypeConfigsMap": {
    "MergeRollupTask": {
      "schedule": "0 0 2 * * ?",
      "mergeType": "ROLLUP",
      "aggregationTypes": {
        "revenue": "SUM",
        "count": "SUM"
      }
    }
  }
}
  • mergeType — CONCAT, ROLLUP, DEDUP.
  • aggregationTypes — 롤업 시 메트릭 컬럼별 집계 함수.
  • 시간 범위(bufferTimePeriod)를 지정해 오래된 세그먼트를 대상으로 할 수 있어요.

사용 시점 (When to use)

  • 작은 세그먼트가 많아 쿼리가 느려질 때 병합으로 세그먼트 수를 줄여요.
  • 오래된 데이터를 롤업해 저장 공간을 절약하고자 할 때.

모범 사례 (Best practices)

  • 롤업은 정밀도를 잃을 수 있으므로 집계 함수를 신중히 선택하세요.
  • 실시간 테이블의 완료된 세그먼트 압축에도 활용할 수 있어요.

더 알아보기 (Learn more)