GH GambleHub

데이터 흐름 아키텍

1) 목적과 원칙

목표: 분석, 보고, 사기 방지, 개인화 및 ML에 대한 올바른 적시 준수 데이터를 제공합니다.

원칙:
  • 제품으로서의 데이터: 명확한 소유자, 계약, SLO 및 버전 지정.
  • 스키마 우선: 체계가 필요합니다. 규칙에 따른 진화.
  • 프라이버시 별 설계: PII 최소화, 앨리어싱, 액세스 제어.
  • 기본값으로 관찰: 추적, 지표, 계보, 품질 프로파일.
  • 비용 인식: 계층 형 스토리지, 시끄러운 이벤트 샘플링, 압축.

2) 출처 및 이벤트 환경

거래: 예금/인출, 베팅/지불, 보너스, 요금 환급.
사용자: 세션, 클릭, 변환, RG 제한, KYC 상태.
작동: 응용 프로그램 로그, 성능 지표, 경고.
제공자: PSP/KYC/제재/게임 스튜디오 (애그리 게이터).
참조: 게임 카탈로그, 국가/통화 디렉토리, 관세/세금.

이벤트 타이핑 (예):
json
{
"event_time":"2025-10-31T19:20:11Z",
"event_type":"payment. deposit",
"schema_version":"1. 3. 0",
"user":{"id":"U-123","country":"EE","age_band":"18-24"},
"payment":{"amount":200. 00,"currency":"EUR","method":"card","psp_ref":"PSP-222"},
"ctx":{"ip":"198. 51. 100. 10","session_id":"s-2233","trace_id":"f4c2..."}
}

3) 고급 참조 아키텍처

1. 잉스트 레이어

게이트웨이 (TH/gRPC), CDC 커넥터 (OLTP), 대기열/버스 (Kafka/Redpanda), 원격 측정 수집기.
입력시 유효성 검사, 정규화, PII 버전, 계약 시행.

2. 스트리밍 레이어

중복, 워터 마크, 스테이트 풀 골재가있는 스트림 bs (Flink/Spark Structured Streaming/Beam).
스토리지 및 온라인 서비스에 대한 팬 아웃 (가상, 사기 방지).

3. 배치 레이어

오케스트레이션 (Airflow/Dagster), 증분 다운로드, 백 테스트 및 역 프로세스, SCD 유형.

4. 보관 (레이크 하우스)

청동: 원시 이벤트 (추가 전용, 불변성).
은: 품질과 중복 제거 기능이있는 청소 된 컨 포멀 테이블.
금: 특정 사례에 대한 쇼케이스/마트 (BI/레귤레이터/ML).
ACID (Delta/Iceberg/Hudi), 핫/워밍/콜드 레이어링이있는 테이블 형식.

5. 서빙 및 액세스

BI/SQL (Trino/Presto/DuckDB), 시맨틱 레이어 (메트릭 레이어), API/GraphQL, 온라인/오프라인 일관성을위한 기능 저장소.

6. 거버넌스와 안전

디렉토리/라인, DQ 규칙, 정치 액세스 엔진 (RBAC/ABAC), 마스킹/토큰 화, 보고서 용 WORM 아카이브.

4) 계약 및 계획

데이터 계약: OpenAPI/AsyncAPI/JSON Schema/Avro.
진화: 시맨틱 버전; 이전 버전과 호환되는 변경-무효화 가능한 필드 추가; 마이그레이션 기간 동안 '/v2 '및 이중 항목으로 만 중단.
레지스터: Schema Registry, 도메인 디렉토리 (결제, 게임 플레이, 마케팅).

5) 통합 패턴

CDC (데이터 캡처 변경): OLTP에서 버스 (Debezium) 까지, 도메인 키 분할.
전송/받은 편지함: 도메인 논리 이벤트의 전달 보장.
정확히 한 번/효과적으로 한 번: 주 내 트랜잭션, demempotent 싱크, 중복 키.
늦은 데이터 및 워터 마크: 늦은 이벤트 처리; 지연 시간이 허용되는 창문.
재 처리: dempotent 파이프 라인, 시간 이동, 스냅 샷 수정.

6) 레이크 하우스 모델: 청동/은/금

청동 (원시):
  • 시간 (이벤트 _ 날짜) 및 시장 (관할권) 당사자.
  • 추가 만; 법의학 용 원래 페이로드 저장.
은 (깨끗한):
  • 정규화 된 유형, 참고서, '(이벤트 _ id, 이벤트 _ time)' 에 의한 중복 제거.
  • FK 검증, 통화 표준화/시간대, 강화.
금 (봉사):
  • 비정규화 된 쇼케이스 (GGR, RG 스코어링, LTV, 코호트 테이블).
  • 업데이트를위한 SLA, BI 및 보고를위한 집계.

7) 데이터 품질

규칙: 회로 검증, 범위, 독창성, 완전성, 참조 무결성.
프로파일 링: 배포, 카디널리티, 표지판의 "드리프트".
모니터링: p50/p95 파이프 라인 지연, 낙하 률, 오류 예산.
분해 정책: 자동 폴백 (마지막 스냅 샷), 메트릭에 대한 경고 및 t- 테스트.

DQ 계약 (YAML) 의 예:
yaml table: silver. payments rules:
- name: amount_positive type: range column: amount min: 0. 01
- name: currency_valid type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: unique_tx type: unique columns: [transaction_id]
slo:
freshness_minutes: 15 completeness_percent: 99. 5

8) 개인 정보 보호 및 준수

PII 최소화 및 마스킹: 의사 ID, 별도의 조회 매핑 저장.
지역화: 지리적 버킷/카탈로그 (EEA/UK/BR), "데이터 레지던트".
법적 운영: DSAR/RTBF (계산 가능한 예측 및 선택적 편집), 법률 보유, 변경 불가능한 보고서 보관소.
액세스 로깅: 감사는 "민감한" 테이블, 브레이크 글래스 및 JIT 액세스를 읽습니다.

9) 관찰 및 관리

Linege-Auto는 소스에서 상점까지의 종속성을 추적합니다.
파이프 라인 메트릭: 처리량, 지연, 고장률, 비용/GB, 비용/쿼리.
추적 (OTel): 응용 프로그램의 'trace _ id' 가 이벤트에 투입됩니다. → 엔드 투 엔드 요청 경로를 구축합니다.
경고: SLO 예산, 신선도/볼륨/카디널리티 이상.

10) 액세스 및 보안 모델

데이터 범주: 공개/내부/기밀/제한.
정책: 행/열 수준 보안; 동적 마스킹 (PAN/IBAN/이메일).
주요 관리: KMS/CMK, 휴식/대중 교통 암호화, 회전.
직무 분리: prod/al석가/관리자/검토자의 별도의 역할.

11) 데이터 메시 및 제품 접근

지불, 게임 플레이, 마케팅, 위험, 준수.
데이터 제품: 소유자, 신선도 SLA, 현장 사전, 테스트, 버전, 소비 지표.
도메인 간 계약: 다양한, 역 호환, 소비자 중심 테스트.

12) Fichestor 및 ML 스트림

기능 레지스트리: 기능 설명, 소스, 변환, SLO.

온라인/오프라인 일관성: 하나의 변환 코드, 온라인 구체화 지연

드리프트 모니터링: PSI/KS, 자동 경보 및 모델 롤백, PII 제어.
실험 저널: 메타 데이터, 버전, 재현성, 모델 맵.

13) 핀 모델 및 비용 최적화

빈번한 술어에 의한 파티션 및 Z- 오더/클러스터.
미사용 테이블 용 콜드 스토리지 및 TTL, VACUUM.
안정적인 쿼리 패턴에 대해서만 재료보기.
무거운 일자리를위한 인용문 및 예산; 팀별 요금 환급.

14) 지역 및 다중 임차인 토폴로지

다중 지역 활성 활성: 테마 및 테이블 복제, 독립적 인 파이프 라인 경계.
Failover/DR: RPO/RTO 대상, 오케 스트레이터 메타 데이터 스냅 샷, 복구 확인.
다중 테넌시: 디렉토리/키/쿼터 격리, 테넌트 _ id 마킹.

15) 프로세스 및 RACI (간단히 말해)

R: 데이터 플랫폼 (섭취, 저장, 오케스트레이션), 데이터 엔지니어링 (변환).

A: 데이터/최고 데이터 책임자 (Chief Data Officer)

C: 준수/법률/DPO, 아키텍처, SRE.
I: BI/분석, 제품, 마케팅, 재무.

16) 흐름에 대한 SLO/SLI

신선도: p95 지연 Silver 시간.
완전성: 99 이상. T 창당 이벤트의 5%.
유효성: DQ 검사의 오류율 <0. 부피의 5%.
서빙 가용성: 99 이상. BI/Feature API의 경우 9% 입니다.

17) 테이블 및 파티셔닝 템플릿

sql
-- Bronze: Deposit events
CREATE TABLE bronze. payment_deposits (
event_time TIMESTAMP,
event_id STRING,
user_pseudo_id STRING,
amount DECIMAL(18,2),
currency STRING,
psp_ref STRING,
payload VARIANT
)
PARTITION BY DATE(event_time)
CLUSTER BY (currency);

-- Silver: normalized model
CREATE TABLE silver. payments AS
SELECT event_id,
CAST(event_time AS TIMESTAMP) AS ts,
user_pseudo_id,
amount,
currency,
psp_ref
FROM bronze. payment_deposits
QUALIFY ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY ts) = 1;

18) 오케스트레이션과 DevX

Infra-as-Code: 파이프 라인 리포지토리, 테스트, 리뷰, GitOps.
데이터 계약 CI: 회로 라인터, 배포 전 DQ 테스트.
백필 프레임 워크: R/W 및 demempotency 제약 조건이있는 보안 복고풍 프로세스.
카탈로그 및 템플릿: 쿠키 커터 생성기, 모범 사례.

19) 구현 로드맵

MVP (4-6 주):

1. 2-3 개의 주요 소스 (OLTP CDC, API 게이트웨이) 이벤트 버스 + 섭취.

2. Lakehouse Bronze/Silver, ACID 형식, 카탈로그 및 기본 DQ 규칙.

3. 1-2 골드 케이스 (일일 GGR 및 변환 깔때기).

4. 지연/완전성 지표, 기본 계보, RBAC 및 PII 마스킹.

2 단계 (6-12 주):
  • 스트리밍 장치 (p95 대기 시간 약 5 분), Feature Store, RG/AML 쇼케이스.
  • 시맨틱 메트릭 레이어, 보고를위한 SLA; 비용 대시 보드.
  • 지역화 (EEA/UK), DSAR/RTBF 절차, 아티팩트에 대한 법적 보류.
3 단계 (12 주 이상):
  • 데이터 메시: 제품 도메인, 소비자 중심 계약.
  • 드리프트 모니터링, 온라인/오프라인 자동 협상을 통한 ML 작업.
  • 스키마의 자동 시뮬레이션 (충격 분석) 및 "What-if" 는 비용별로 변경됩니다.

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

스키마가없는 원시 페이로드: 스키마 우선, 레지스터 및 CI 검증 구현.
중복 제거 없음-실버의 이벤트 키 및 demempotent 동기화.
분석과 PII 혼합-별도의 매핑 및 마스크 필드.
소유자없는 금: 소유자, SLO 및 소비 지표를 할당하십시오.
재 처리 전략은 없습니다: 시간 여행, 논리 버전 지정, "이중 계산" 제어.
관리 할 수없는 가치: 배치, 압축, TTL, 가치 관찰 가능성.

21) 용어집 (브리핑)

CDC-OLTP에서 변경 사항을 캡처합니다.
미리 보기-도메인 이벤트를 트랜잭션으로 게시합니다.
워터 마크-창문의 유량 완전성 평가.
레이크 하우스-데이터 레이크 + ACID 테이블.
데이터 제품-소유자 및 SLO가있는 데이터 제품 단위.
Feature Store-ML 기능의 일관된 배포.

22) 결론

데이터 흐름 아키텍처는 명확한 계약, 관찰 가능성, 보안 및 통제 대상 비용과 같은 관리 가능한 배치 시스템입니다. 설명 된 패턴 (스키마 우선, 청동/은/금, CDC + 전송, DQ 및 계보, 개인 정보 보호 및 디자인 별) 에 따라 플랫폼은 비즈니스, 규정 준수 및 ML에 예측 가능한 SLO 및 이해할 수있는 소유권 비용으로 품질 데이터를 안정적으로 제공합니다.

Contact

문의하기

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

Telegram
@Gamble_GC
통합 시작

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

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

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