데이터 상점 및 OLAP 모델
(섹션: 기술 및 인프라)
간략한 요약
데이터웨어 하우스 (DWH) -iGaming의 핵심 분석 계층: 규제 기관에보고, 제품/시장 별 수익성, 코호트 LTV, 사기 방지 분석, CRM 세분화 및 실시간 대시 보드. 지속 가능한 DWH는 명확한 데이터 모델 (Star/Snowflake/Data Vault), 강력한 통합 (ETL/ELT + CDC), 신중한 성능 (컬럼 엔진, 파티, MV), 엄격한 메트릭 시맨틱, 보안/PII 및 비용 관리를 기반으로합니다.
건축 접근법
클래식 DWH (킴볼 vs 인몬)
킴볼 (Dimensional/Star/Snowflake): 빠른 보고서 사례; 사실과 차원, SCD 역사에 중점을 둡니다. 빠른 시간 값.
인몬 (Corporate Information Factory): 정규화 된 핵심 + 상점; 시간이 무겁지만 엄격하고 중앙에 있습니다.
데이터 금고 2. 0
허브 링크 위성: 소스 통합 및 변경 감사를위한 확장 가능한 "원시" 모델. 스타 매장이 건설되고 있습니다.
데이터 레이크/레이크 하우스
데이터 레이크: 원시 파일 (Parquet/ORC) + 디렉토리 (Hive/Glue/Unity/Metastore).
레이크 하우스: 배치/스트림 용 단일 계층, ACID 테이블 (Delta/Iceberg/Hudi), 시간 여행, upsert/merge, 소형 파일, Z 주문/클러스터링.
메달리온 (청동-은-금)
청동: 원시 데이터 (원시) + CDC.
은: 정제 및 컨 포멀.
금: 비즈니스 케이스/메트릭/큐브.
하이브리드에 적합 (Kafka → Bronze; 은예 레이크 하우스; Gold House ClickHouse/Bigquery/Snowflake).
OLAP 모델: Star, Snowflake, Data Vault
스타 스키마 (별)
사실 테이블: 거래 (요금, 예금, 세션).
차원: 플레이어, 게임, 제공자, 날짜/시간, 지리, 어트랙션 채널.
장점: 간단한 조인, 예측 된 성능.
눈송이
차원 표준화 (국가/지역/도시 계층, 제품 계층).
장점: 덜 중복; 마이너스-더 많은 조인.
데이터 금고 → 별
우리는 DV (감사, 전체 재현성) 에 원시 변경 사항을 추가하고 Star/Snowflake와 같은 보고서 창을 구축합니다.
통합: ETL/ELT, CDC, 느린 변경
파이프 라인
OLTP (Postgres/MySQL) 의 전송/CDC → Kafka/→ 청동 커넥터.
ELT: 은의 청소, dedup, 정규화.
금/상점의 비즈니스 논리 및 집계.
SCD (천천히 차원 변경)
1- 덮어쓰기를 입력하십시오 (필수적이지 않은 필드의 경우
유형 2: 역사 (날짜 버전) -프로필/채널/가격 표준.
유형 3: 한 쌍의 값 저장 (희귀).
sql
-- insert new dimension version
INSERT INTO dim_player (player_sk, player_id, country, valid_from, valid_to, is_current)
SELECT gen_sk(), s. player_id, s. country, now(), '9999-12-31', true
FROM staging_player s
LEFT JOIN dim_player d ON d. player_id = s. player_id AND d. is_current = true
WHERE d. player_id IS NULL OR d. country <> s. country;
-- closing the old version
UPDATE dim_player d
SET valid_to = now(), is_current = false
FROM staging_player s
WHERE d. player_id = s. player_id AND d. is_current = true AND d. country <> s. country;
시맨틱 레이어 및 "진정한" 메트릭
GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts 정의와 같은 단일 의미 계층을 입력하십시오.
코드로서의 메트릭 (dbt metrics/LookML/Semantic Layer) → 모든 보고서에서 동일한 공식입니다.
일정: TZ/지역/주말/캠페인 속성이있는 날짜/시간 표.
금고 및 엔진: 프로필 선택
칼럼 및 클라우드 DWH
ClickHouse: 초고속 스캔/집계, 구체화 된 표현, 투영; 이벤트/원격 측정 및 마케팅 쇼케이스마다 다릅니다.
Bigquery: 서버리스, 스케일, 자동 캐시/클러스터; 스캔 당 가격; 혼합 하중 및 임시에 편리합니다.
눈송이: 컴퓨팅/스토리지 브랜치, 주문형 클러스터, 시간 여행; 다른 팀에게 투명합니다.
Redshift/Vertica/Pinot/Druid: OLAP/실시간 옵션.
프로필 튜닝
날짜/지역/채널 별 파티션.
필터/조인 키로 클러스터링/정렬
사전에 의한 압축 및 코딩.
예측 (롤업, 큐브), 구체화 된보기.
저렴한 등급의 경우 대략 함수 (HyperLogLog/axx _ different).
성능 공학
파티셔닝 및 클러스터링
당사자는 구획의 경계입니다. 행사를위한 주간/시간 파티.
클러스터링 (정렬 키/Z- 순서) -범위를 가속화하고 결합합니다.
재료보기 (MV)
주간/국가/제품별 GGR/NGR 사전보고.
CDC 스트림에서 증분 업데이트.
sql
CREATE MATERIALIZED VIEW mv_ggr_daily
ENGINE = SummingMergeTree()
PARTITION BY toYYYYMMDD(ts)
ORDER BY (country, product_id, toDate(ts)) AS
SELECT toDate(ts) AS d,
country,
product_id,
sum(stake) AS stake_sum,
sum(win) AS win_sum,
sum(stake - win) AS ggr
FROM bets
GROUP BY d, country, product_id;
증분 모델 (dbt/ELT)
전략은 'inspit _ 덮어쓰기', CDC 키 병합, 'watermark' by 'uptaded _ at' 입니다.
가입 전략
각 배치 세그먼트 (denorm) 의 측정 복제.
방송 작은 어두움; 키별로 정렬 된 큰 사실을 섞습니다.
비용: 제어 및 최적화
Bigquery/Snowflake: 스캔 크기 제한 (디자인 파티/클러스터), 결과 캐시/실제보기 활성화, BI 자동 퀘스트 제한.
ClickHouse: 로트 크기, merjey 주파수, 저장 예산 (원시 이벤트의 경우 TTL, 집계가 내구성이 있음).
메트릭 시맨틱은 "이중" 계산을 줄입니다.
데이터 가지 치기: 청동 보유, 금 집계.
데이터 품질 (DQ), 카탈로그, 계보
DQ 점검: 완전성, 고유성, 범위, 비즈니스 규칙 (예: 집계에서 GGR 계수 0).
데이터 카탈로그 및 계보: 테이블/필드 설명, 소유자, PII 분류, 보고서 간 추적.
제어 체계: 이벤트/CDC 계약, 호환되지 않는 변경 사항에 대한 경고.
안전, 규정 준수 및 다중 임대
PII 세분화: 개별 영역, 마스킹/가명 화, KMS 암호화 열.
RBAC/ABAC: 프로젝트/스키마/테이블/행 (RLS) 레벨의 역할은 "알아야 할 필요" 입니다.
데이터 현지화: 지역 버킷/창고 (EU/TR/LATAM).
액세스 감사: 상점 및 모델을 읽거나 변경 한 사람.
DR, 백업 및 재현성
데이터 코드 버전 지정 (dbt/git), Dev/QA/Prod 환경.
메타 스터/카탈로그 스냅 샷 + 시간 여행 테이블.
보존/TTL 레이어 청동/은/금; 중요한 상점 수출.
게임 데이: 쇼케이스를 복원하고 메트릭의 무결성을 확인하십시오.
실시간 및 하이브리드 매장
미세한 쇼케이스는 Kafka → ClickHouse/Pinot/Druid입니다.
거의 온라인 업데이트 (5-15 분) 에 대한 재료 화보기 + CDC.
시맨틱 레이어는 동일하게 유지됩니다. 메트릭은 실시간 및 배치에서 동일합니다.
주간 및 국가 쇼케이스 예제 별 GGR (일반 SQL)
sql
CREATE TABLE fact_bets (
bet_id BIGINT,
player_sk BIGINT,
game_sk BIGINT,
country_sk BIGINT,
stake DECIMAL(18,2),
win DECIMAL(18,2),
ts TIMESTAMP
) PARTITION BY DATE(ts);
CREATE TABLE dim_country (
country_sk BIGINT PRIMARY KEY,
iso2 STRING,
region STRING,
valid_from TIMESTAMP,
valid_to TIMESTAMP,
is_current BOOL
);
-- Showcase
CREATE MATERIALIZED VIEW mart_ggr_daily AS
SELECT
DATE(ts) as d,
c. region,
SUM(stake) AS stake_sum,
SUM(win) AS win_sum,
SUM(stake - win) AS ggr
FROM fact_bets f
JOIN dim_country c ON c. country_sk = f. country_sk AND c. is_current
GROUP BY d, c. region;
구현 체크리스트
1. 소스와 도메인을 정의하고 메트릭 사전을 수정하십시
2. 모델 선택: 원시/감사 레이어의 DV + 디스플레이 케이스의 경우 별.
3. 주요 쿼리 및 창을위한 디자인 파티/클러스터.
4. CDC/ELT, SCD 정책 및 대리 키 설정.
5. 시맨틱 레이어 (코드로 메트릭) 와 날짜/시간 캘린더를 입력하십시오.
6. 값 비싼 보고서를 위해 MV/사전 집계를 작성하십시오.
7. DQ/디렉토리/계보 및 스키마 제어 사용하기
8. RBAC/PII/현지화, 암호화, 감사를 정의하십시오.
9. p95/p99 모니터링, 비용, 열화 및 오버런에 대한 경고를 설정하십시오.
10. 정기적 인 DR 연습 및 환경의 재현성.
반 패턴
"당사자가없는 거대한 사실" → 테라 바이트 스캔 및 점수가 증가하고 있습니다.
다른 대시 보드에서 메트릭의 일관성없는 정의.
비즈니스에 역사가 필요한 SCD2 부족.
측정의 조기 정규화: 불필요한 조인 및 느린 보고서.
DQ 검사 및 계보가없는 원시 데이터 → "아무것도" 보고서.
허가 부재/TTL → 가비지 저장 및 비용 폭발.
요약
신뢰할 수있는 iGaming-DWH는 선명한 모델 (DV → Star), 단일 메트릭 사전, 올바른 파티션/클러스터링, 구체화 된 상점, 엄격한 DQ/계보 및 RBAC/PII/현지화입니다. 신선도, ELT 기반 및 가치 규율을위한 하이브리드 스트리밍을 추가하고 p99 및 예산에 놀라지 않고 토너먼트, 규제 보고서 및 임시 연구에 적합한 지속 가능한 분석 플랫폼을 확보하십시오.