GH GambleHub

데이터 강화

1) 목적 및 사업 가치

농축은 상황과 표시를 추가하여 "원시" 이벤트를 유용한 사실로 바꿉니다

금융/보고: 금액의 fx 정규화, 시장/세율에 대한 구속력, GGR/NGR 계산.
준수/AML/RG: 위험 점수, 제재/PEP 태그, RG 제한, 행동 특성.
마케팅/제품: 교통 소스, 세그먼트, 미션/퀘스트, 개인화.
SRE/운영: 트래픽, 클라이언트/장치 유형의 지리/ASN, 기능 플래그 및 릴리스.

주요 결과는 모델의 정확성, 보고서 품질 및 의사 결정 속도를 향상시킵니다.


2) 농축 소스 (예: 카탈로그)

참조/카탈로그: 게임, 제공 업체, 시장/관할 구역, 통화, 세금 표, 휴일 일정.
KYC/KYB/RG: 검증 수준, 상태, 자체 제외, 한계, 연령 그룹.
AML/제재/PEP: 스크리닝 히트, 목록, 위험 수준.
네트워크 및 장치: IP → geo/ASN, 장치/OS/브라우저, 장치 지문.
결제 제공 업체 (PSP): BIN 테이블, 메소드, MCC, 위험 태그.
FX/시간: 이벤트 날짜, 현지 시간대/DST 환율.
콘텐츠 및 마케팅: 소스/캠페인/UTM, 계열사, 세그먼트.
모델 및 휴리스틱: 사전 훈련 된 스코어링, 임베딩, 범주 매핑.


3) 농축의 종류

전망대: 키 별 점 매핑 (game _ id, BIN, ip _ range, user _ pseudo _ id).
치수 첨부: 사실에 치수 부착 (희미한).
파생 된 필드: 계산 된 열 (amount _ base, local _ time, tax _ rate).
집계/속도: 창 카운터 (N 레이트/분, 예금/시간).
위험/행동 기능: "마지막 이벤트 이후의 시간", 지갑 공유, 야간 활동.
Geo/ASN/Device: 국가 코드, 지역, 운영자, 장치/브라우저 유형.
시맨틱 매핑: 제공자/게임 분류, 플레이어 클러스터.

온라인/오프라인 모델링을위한 ML 기능 (기능 저장소)


4) 풍요로운 곳: 배치 vs 스트림

스트림 (실시간): 사기 방지, RG 트리거, SRE 경고-p95 지연 타임 아웃이있는 공급자에게 비동기식 요청 인 캐시 (Redis/Scylla) 를 검색합니다.
배치 (마이크로 배치/일일): 골드 쇼케이스 (GGR/RG/AML), 조정, 보고서-안정성 및 완전성이 대기 시간보다 중요합니다.
하이브리드: 빠른 온라인 기능 + 야간 재 농축 (조정/정확도).


5) 건축 참조

1. 청동-원시 이벤트 (추가 전용).
2. 은 (깨끗함/준수) -정규화, 키, 기본 조회 및 (fx, geo, dim.).
3. 농축 계층-확장 된 특성, 창 집계, 위험 라벨.
4. Feature Store - 특성 레지스터 (온라인/오프라인 일관성).
5. 금-BI/레귤레이터/모델을위한 쇼케이스; 불변의 인공물.
6. 서비스-API/GraphQL은 수출, 실시간 경고를보고했습니다.

구성 요소: Kafka/Redpanda, Flink/Spark/Beam, Redis/Scylla (조회), Clickhouse/Pinot (실시간 독서), Lakehouse (Delta/Iceberg/Hudi).


6) 계약 및 계획

스키마 우선: '이벤트 _ time', '스키마 _ 버전', 안정적인 키 (user _ pseudo _ id, game _ id, trange _ id).
농축 마크: '강화. 버전 ',' 강화. 소스 ',' fx _ source ',' geo _ source ',' model _ version '.
Versioning: 새로운 기능은 무효로 추가됩니다. '/v2 '및 이중 항목을 통한 변경 위반.


7) 농축 예 (SQL/의사 코드)

7. 1 FX 정규화 및 현지 시간

sql
SELECT p.transaction_id,
p.amount_orig,
p.currency,
r.rate   AS fx_rate_used,
p.amount_orig r.rate AS amount_base,
p.event_time,
convert_timezone(m.tz, 'UTC', p.event_time) AS local_time,
r.fx_source
FROM bronze.payment_events p
JOIN dim.fx_rates r
ON r.date = DATE(p.event_time) AND r.ccy_from = p.currency AND r.ccy_to = 'EUR'
JOIN dim.markets m ON m.code = p.market;

7. IP별로 2 Geo/ASN (의사 코드)

python geo = geo_db.lookup(ip)
asn = asn_db.lookup(ip)
record["geo_country"] = geo.country record["asn"] = asn.number record["enrichment"]["geo_source"] = "mmdb:2025-10-01"

7. 침전 속도의 창 표시 3 개 (스트림)

sql
SELECT user_pseudo_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS deposits_sum_10m
FROM silver.payments
GROUP BY user_pseudo_id, TUMBLE(event_time, INTERVAL '10' MINUTE);

7. RG 한계와의 인터페이스 4 개

sql
SELECT b., r.daily_deposit_limit, r.self_exclusion
FROM silver.bets b
LEFT JOIN dim.rg_limits r USING (user_pseudo_id);

8) 농축 품질 (DQ)

최소 규칙:
  • FX: 화이트리스트의 'fx _ rate _ used', fx _ source '는 계산 된' 많은 _ base
  • Geo/ASN: 디렉토리에서 성공적인 조회 비율은 (시장별) 98%, '국가' 입니다.
  • RG/AML 레이블: '유효한 _ from/유효한 _ to' (SCD II) 는 교차하지 않습니다. 역사에 "구멍" 이 없습니다.
  • 집계/창: 창의 정확성 (이중 계산 없음), 완전성 이상 99. 5%.
  • 모델 버전: 'model _ version' 이 있으며 드리프트 제어 기능이 있습니다.
YAML 규칙의 예:
yaml table: enriched.payments rules:
- name: fx_present type: not_null column: fx_rate_used severity: critical
- name: country_known type: in_set column: geo_country set_ref: ref.countries severity: major
- name: rg_scd_valid type: scd_validity columns: [valid_from, valid_to]
severity: major

9) 개인 정보 보호 및 준수

PII 최소화: 별도의 루프에서 의사 ID, 실제 식별자를 풍부하게합니다.
지역 별 라우팅 (EEA/UK/BR), 별도의 암호화 키.
DSAR/RTBF: 농축 된 프로젝션은 "은폐 "/수정을지지해야합니다. 예외에 대한 법적 근거를 유지하십시오.
법적 보류: 보고 가능한 아티팩트/사례에 대한 동결 삭제.


10) 관찰 가능성과 계보

리니지: 원시 이벤트에서 → 조회/집계 → 디스플레이/모델; 소스 버전 ('fx _ source', 'geo _ source', 'bin _ source') 을 수정합니다.
SLI/SLO: 신선도 p95 (은) 성공적인 지리적 전망은 98% 이상입니다. 주요 특성이 완료된 레코드의 비율은 대기 시간이 99% 이상이며 스트림 p95 λ2-5 초입니다.
대시 보드: 소스 별 히트 맵 완전성, 참조 도서/모델 버전 맵, "고가의" 결합 모니터, 표지판 드리프트.


11) 비용과 성능

캐시/물질화: 빈번한 조회 '및 Redis/Scylla; 주기적인 스냅 샷.

컴팩트 부호: 저장 집계 ("원시" 목록이 아님); Parquet/column 형식을 사용하십시오

분할: 날짜/시장/임차인; 자주 필터링 된 필드로 클러스터링

적응 빈도: 야간에 무거운 풍요 로움; 실시간-중요합니다.
충전: 팀/기능 별 비용/쿼리 및 비용/GB 회계.


12) 패턴 및 반 패턴

패턴:
  • RG/KYC/제공자를위한 차원 전망 + SCD II.
  • 타임 아웃 및 폴백 (레이블 "알 수 없음" + 반복) 을 사용하여 농축을 동기화합니다.
  • 온라인/오프라인 협상 및 반복성 테스트가 포함 된 Feature Store.
  • 농축을위한 규칙 (임계 값/범주 맵).
반 패턴:
  • 캐시없이 핫 경로에서 외부 API에 대한 엄격한 바인딩.
  • 레이블이없는 소스 버전 ('fx _ source', 'geo _ source').
  • 은 (비용/복잡성 폭발) 에서 "모든 것을 갖춘" 비정규화.
  • 분석 계층에 PII 도입.

13) 프로세스 및 RACI

R (책임): 데이터 엔지니어링 (파이프 라인 풍부/스트림), 도메인 소유자 (기능 의미론), MLops (기능 저장소).
A (책임): 데이터/최고 데이터 책임자 책임자.
C (컨설팅): 규정 준수/법률/DPO, 금융 (FX/на독점), 위험 (RG/AML), SRE.
I (정보): BI/제품/마케팅/운영.


14) 구현 로드맵

MVP (2-4 주):

1. 농축 소스 카탈로그 (fx, geo, market, RG/KYC).

2. 은 정규화 + 기본 조회 '및 (fx/geo/dim.) .

3. 첫 번째 골재는 속도 (침전물/비율) 이며 풍부합니다. v1 테이블.

4. 대시 보드 완전성/신선도, 소스 버전.

2 단계 (4-8 주):
  • 제재 연결/PEP/BCL, PSP BIN 테이블, 장치 지문.
  • Feature Store (핵심 기능) + 온라인 캐시, 실시간 농축 Flink.
  • 레이어, 계보 및 드라이 런 시뮬레이션을 풍부하게하는 DQ 규칙.
3 단계 (8-12 주):
  • 개인화 (미션/퀘스트) 및 RG/AML 검출기 온라인.
  • 가치 관리 (할당량, 구체화, Z- 순서), 다중 지역.
  • 자동 생성 기능 및 카탈로그 문서.

15) 판매 전 품질 점검표

  • 일관된 키와 스키마, 소스 버전이 서명되었습니다.
  • fx/geo/RG/제재/창에 대한 DQ 규칙; 경고 및 SLO.
  • 외부 조회를위한 캐시/타임 아웃 및 하락.
  • 계보 및 비용/성능 대시 보드.
  • 농축 테이블에 대한 DSAR/RTBF/Legal Hold 절차.
  • 특성 문서 (소유자, 공식, SLO, 영향).

16) 빈번한 실수와 피하는 방법

태그가없는 참조/모델 버전: 항상 '_ source' 및 'model _ version' 을 수정합니다.
"소급 적으로" fx 계산: 이벤트 시점에 속도를 사용하십시오. FX 소스를 저장하십시오.
PII 블렌딩: 매핑을 토큰 화하고 분리하십시오.
단위의 이중 계산: 창을 확인하고 결제하십시오.
캐시없이 동기식 외부 호출: async + cash/retrai를 입력하십시오.
단일 온라인/오프라인 변환 코드, 규정 준수 테스트 등 기능의 반복성은 없습니다.


17) 용어집 (브리핑)

Lookup/Dimension 첨부-참고 문헌을 키별로 첨부하십시오.
Feature Store-ML에 대한 특성 등록 및 서빙.
SCD II - 유효 간격을 갖춘 측정 히스토리 화.
FX-환율 및 금액 정규화.
ASN - 자율 네트워크 시스템; 사기 방지 및 지리 분석에 유용합니다.


18) 결론

농축은 이벤트를 일관된 키 및 체계, 제어 된 조회 및 집계, 버전이있는 소스, 기본 개인 정보 보호, DQ 및 관찰 성과 같은 지식으로 전환하는 분야입니다. 설명 된 패턴을 따르면보고, 개인화 및 실시간 위험 탐지기를위한 재현 가능하고 경제적이며 호환되는 쇼케이스 및 표지판이 제공됩니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.