LabHub

블로그

Semantic Layer·Metrics Store·Reverse ETL 완전 가이드: dbt·Cube·Looker·Hightouch·Census, 데이터 활성화 (2025)

한국어English日本語中文

Season 5 Ep 5 — Ep 4가 파이프라인의 엔지니어링이었다면 Ep 5는 "데이터의 의미를 한 번만 정의한다"는 오래된 약속의 2025년 버전.

Prologue — "왜 매출이 팀마다 다르게 나오는가?"

2015년 많은 회사가 겪은 고전적 혼란:

같은 데이터, 다른 숫자. 이유는:

각 팀이 자기 SQL을 직접 쓰기 때문에 정의가 갈라진다. Semantic Layer는 이 문제를 "지표 정의를 한 군데"로 모아 해결하려는 시도다.


1장 · Semantic Layer의 역사

1.1 1세대: BI 내부 정의

1.2 2세대: Looker의 LookML (2013–)

1.3 3세대: Headless / Open Semantic Layer (2020–)

1.4 왜 지금 다시 뜨는가


2장 · Semantic Layer의 구성

2.1 핵심 엔티티

2.2 관계와 조인

2.3 필터·파라미터

2.4 예시 (dbt Semantic Layer / MetricFlow)

semantic_models:
  - name: orders
    model: ref('fact_orders')
    entities:
      - name: order_id
        type: primary
      - name: customer_id
        type: foreign
    measures:
      - name: total_amount
        agg: sum
        expr: amount_krw
    dimensions:
      - name: order_date
        type: time
        type_params: {time_granularity: day}

metrics:
  - name: gross_revenue
    type: simple
    type_params:
      measure: total_amount

→ API 호출: metric('gross_revenue', filters=..., group_by=['order_date'])


3장 · dbt Semantic Layer / MetricFlow

3.1 배경

3.2 구조

3.3 강점

3.4 한계


4장 · Cube — "개발자용 Semantic Layer"

4.1 정체성

4.2 특징

4.3 예시

cube(`Orders`, {
  sql: `SELECT * FROM fact_orders`,
  measures: {
    revenue: { sql: 'amount_krw', type: 'sum' },
    count: { type: 'count' }
  },
  dimensions: {
    orderDate: { sql: 'order_date', type: 'time' },
    country: { sql: 'country', type: 'string' }
  }
});

4.4 쓰는 곳


5장 · Looker·LookML — "엔터프라이즈의 클래식"

5.1 정체성

5.2 강점

5.3 한계

5.4 2025 전략


6장 · 다른 주요 도구

6.1 AtScale

6.2 Lightdash

6.3 Transform (dbt)

6.4 Metabase·Superset

6.5 Thought Spot


7장 · Metrics Store 패턴

7.1 개념

7.2 구성

7.3 예

7.4 효과


8장 · Headless BI

8.1 정체성

8.2 장점

8.3 도구

8.4 한계


9장 · Reverse ETL — "데이터를 운영으로 되돌리기"

9.1 왜 필요한가

Reverse ETL: Warehouse → 운영 SaaS로 데이터 동기화

9.2 주요 도구

9.3 패턴

  1. dbt로 고객 세그먼트 모델 구축
  2. Reverse ETL이 Warehouse에서 읽어 Salesforce/HubSpot/Intercom으로 푸시
  3. 세일즈·마케팅이 즉시 세그먼트 활용

9.4 사례

9.5 데이터 활성화(Data Activation)


10장 · AI·LLM과 Semantic Layer

10.1 왜 AI가 Semantic Layer를 필요로 하는가

10.2 "Text-to-SQL" vs "Text-to-Metric"

10.3 사례

10.4 품질 관리

10.5 2025년 방향


11장 · Data Activation 실전 시나리오 3

11.1 커머스 — 개인화 추천

11.2 B2B SaaS — Product-led Sales

11.3 핀테크 — Risk scoring


12장 · 한국 기업 성숙도

12.1 현황

12.2 도입 패턴

  1. dbt + 표준 지표 문서화
  2. Metabase/Superset에서 지표 노출
  3. dbt Semantic Layer / Cube 실험
  4. 특정 팀부터 Reverse ETL로 운영 연동
  5. 전사 Metrics Store + AI 연결

12.3 고려사항


13장 · 안티패턴 10선

13.1 Semantic Layer 없이 AI 직접 연결

지표 환각·일관성 붕괴.

13.2 LookML만에 의존

다른 BI·AI 채널과 단절.

13.3 지표 소유자 불명

변경 책임 공백.

13.4 Deprecation 없이 변경

소비자 대시보드 깨짐.

13.5 Reverse ETL 경로 난립

Warehouse에서 수십 개 동기화 파이프라인, 관리 불능.

13.6 Reverse ETL로 실시간 기대

대부분 분–시간 단위, "실시간" 아님.

13.7 Metric 버전 없이 운영

과거 리포트 재현 불가.

13.8 지표를 Superset/Metabase에만 정의

Semantic Layer 독립 없음 → 다른 툴과 분절.

13.9 자연어 BI 무결성 검증 부족

AI 답변을 그대로 신뢰 → 잘못된 의사결정.

13.10 팀마다 자체 SQL로 지표 계산

원점 회귀.


14장 · 체크리스트 — Semantic Layer·Reverse ETL 12가지


15장 · 다음 글 예고 — Season 5 Ep 6: "Feature Store와 Vector·Graph·시계열 DB의 융합"

Semantic Layer가 BI의 언어층이라면, Feature Store는 ML의 언어층. 그리고 2025년 데이터 DB는 벡터·그래프·시계열이 융합되는 중.

"모델보다 데이터, 데이터보다 피처"가 2025년 ML의 지혜.

다음 글에서 만나자.


요약: Semantic Layer는 "지표 정의 한 번, 모든 채널에서 재사용"이라는 오래된 약속의 2025년 버전. dbt Semantic Layer·Cube·Looker·Lightdash·AtScale이 각기 포지션을 잡고, Reverse ETL(Hightouch·Census)이 Warehouse 데이터를 운영 툴로 되돌려 Data Activation을 완성한다. AI·LLM 시대에는 Semantic Layer가 안전한 데이터 접근 계층으로 격상되며, Text-to-SQL 대신 Text-to-Metric이 권장된다. 한국 기업은 dbt + Metabase/Superset + Hightouch/Census 조합으로 빠르게 따라잡는 중이고, 토스·쿠팡·카카오처럼 내부 Metrics Store를 구축한 사례가 확산. "데이터의 의미를 말하는 층"은 더 이상 사치가 아니라 AI 시대의 인프라다.

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다