GH GambleHub

データフローアーキテクチャ

1)目的と原則

目的:分析、報告、不正防止、パーソナライゼーション、およびMLのための正しい、タイムリーで準拠したデータを提供すること。

原則:
  • 製品としてのデータ:明確な所有者、契約、SLO、バージョン管理。
  • Schema-first:スキームが必要です。ルールによる進化。
  • プライバシー・バイ・デザイン:PII最小化、エイリアシング、アクセス制御。
  • Observation-by-Default:トレース、メトリクス、リネージ、品質プロファイル。
  • コスト配慮:階層型ストレージ、サンプリングノイジーイベント、圧縮。

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.インジェストレイヤー

ゲートウェイ(HTTP/gRPC)、 CDCコネクタ(OLTPから)、キュー/バス(Kafka/Redpanda)、テレメトリーコレクター。
入力時の検証、正規化、PIIエディション、契約執行。

2.ストリーミングレイヤー

重複排除、透かし、ステートフルアグリゲートを備えたストリームジャブ(Flink/Spark Structured Streaming/Beam)。
ストレージおよびオンラインサービス(fichestore、不正防止)へのファンアウト。

3.バッチレイヤー

オーケストレーション(Airflow/Dagster)、増分ダウンロード、バックテストとレトロプロセス、SCDタイプ。

4.ストレージ(レイクハウス)

ブロンズ:生イベント(追加のみ、不変)。
シルバー:クリーニング、品質と重複排除とコンフォーマルテーブル。
ゴールド:特定のケース(BI/レギュレータ/ML)のショーケース/マート。
ACID(デルタ/アイスバーグ/フーディ)、ホット/ウォーム/コールドレイヤリングのテーブルフォーマット。

5.サービスとアクセス

BI/SQL (Trino/Presto/DuckDB)、セマンティック層(メトリクス層)、API/GraphQL、オンライン/オフラインの整合性のための機能ストア。

6.ガバナンスと安全

ディレクトリ/行、DQルール、政治的アクセスエンジン(RBAC/ABAC)、マスキング/トークン化、レポートのWORMアーカイブ。

4)契約とスキーム

データ契約:OpenAPI/AsyncAPI/JSON スキーマ/Avro。
進化:セマンティックバージョン;後方互換性のある変更-nullableフィールドの追加;breaking-移行期間の'/v2'とダブルエントリのみ。
レジスタ:スキーマレジストリ、ドメインディレクトリ(支払い、ゲームプレイ、マーケティング)。

5)統合パターン

CDC(変更データキャプチャ):OLTPからバス(Debezium)、ドメインキーのパーティショニング。
Outbox/Inbox:ドメインロジックイベントの配信を保証します。
正確に一度/効果的に一度:状態でのトランザクション、idempotent sinkの、重複排除キー。
Late Data&Watermarks:遅延イベントの処理;許可された遅延の窓。
再処理:idempotentパイプライン、タイムトラベル、スナップショット修正。

6)レイクハウスモデル: 青銅/銀/金

ブロンズ(生):
  • 時間(event_date)と市場(管轄)当事者。
  • 追加のみ;法医学のための元のペイロードの貯蔵。
銀(きれいな):
  • 正規化されたタイプ、参照帳、'(event_id、 event_time)'による重複排除。
  • FK検証、通貨標準化/タイムゾーン、濃縮。
ゴールド(サーブ):
  • 非正規化ショーケース(GGR、 RGスコア、LTV、コホートテーブル)。
  • BIおよびレポートの更新、集計のためのSLA。

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(計算可能な投影と選択的編集)、Legal Hold、変更できないレポートのアーカイブ。
アクセスログ:「機密」テーブル、ブレークガラス、JITアクセスの監査読み取り。

9)観察と管理

Linege-Automaticallyは、ソースからストアフロントへの依存関係をトレースします。
パイプラインメトリクス:スループット、遅延、故障率、コスト/GB、コスト/クエリ。
Trace (OTel):アプリケーションからの'trace_id'がイベントにスローされる→エンドツーエンドのリクエストパスを構築します。
アラート:SLO予算、鮮度/ボリューム/カーディナリティ異常。

10)アクセスおよびセキュリティモデル

データカテゴリ:public/internal/confidential/restricted。
ポリシー:行/列レベルのセキュリティ;動的マスキング(PAN/IBAN/email)。
キー管理:KMS/CMK、 at-rest/in-transit暗号化、回転。
職務の分離:prod/analyst/admin/reviewerの個別の役割。

11)データメッシュと製品アプローチ

支払い、ゲームプレイ、マーケティング、リスク、コンプライアンス。
データ製品:所有者、鮮度SLA、フィールド辞書、テスト、バージョン、消費指標。
ドメイン間の契約:バージョン管理、下位互換性、消費者主導のテスト。

12) FichestorおよびMLの流れ

フィーチャーレジストリ:機能の説明、ソース、変換、SLO。
オンライン/オフラインの整合性:1つの変換コード、オンラインマテリアライゼーションの遅延≤ 200-500 ms。
ドリフトモニタリング:PSI/KS、オートアラートおよびモデルロールバック、PII制御。
実験ジャーナル:メタデータ、バージョン、再現性、モデルマップ。

13) Finmodelとコスト最適化

頻繁な述語によるパーティショニングとZ順序/クラスタ。
未使用のテーブル、真空のための冷蔵およびTTL。
安定したクエリパターンに対してのみ表示されます。
重い仕事のためのクォータと予算;チームによるチャージバック。

14)地域およびマルチテナントトポロジー

マルチリージョンアクティブ:テーマとテーブルの複製、独立したパイプライン境界。
フェイルオーバー/DR: RPO/RTOターゲット、オーケストレータメタデータスナップショット、リカバリチェック。
マルチテナンシー:ディレクトリ/キー/クォータ分離、tenant_idマーキング。

15)プロセスとRACI(簡潔に)

R:データプラットフォーム(ingest、 storage、 orchestration)、データエンジニアリング(transformation)。
A:データ責任者/最高データ責任者。
C: コンプライアンス/法的/DPO、アーキテクチャ、SRE。
I: BI/アナリティクス、製品、マーケティング、ファイナンス。

16)流れのためのSLO/SLI

新鮮さ:p95遅延シルバー≤ 15分、ゴールド(毎日)準備≤ 06:00ロック。時間だよ。
完全性:≥ 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テスト。
Backfillフレームワーク:R/Wとidempotency制約を持つセキュアレトロプロセス。
カタログとテンプレート:クッキーカッタージェネレータ、ベストプラクティス。

19)実装ロードマップ

MVP (4-6週):

1.イベントバス+2-3キーソースのインジェスト(OLTP CDC、 APIゲートウェイ)。

2.レイクハウスブロンズ/シルバー、ACIDフォーマット、カタログおよび基本的なDQルール。

3.1-2ゴールドケース(毎日のGGRと変換漏斗)。

4.遅延/完全性指標、基本系統、RBAC、およびPIIマスキング。

フェーズ2(6-12週間):
  • ストリーミングユニット(p95レイテンシ≤ 5分)、フィーチャーストア、RG/AMLショーケース。
  • メトリクスのセマンティック層、レポート用のSLA;コストダッシュボード。
  • 地域化(EEA/UK)、 DSAR/RTBF手続き、アーティファクトの法的保持。
フェーズ3(12+週間):
  • データメッシュ:製品ドメイン、消費者主導の契約。
  • ドリフト監視、オンライン/オフライン自動ネゴシエーションによるMLオペレーション。
  • スキーマ変更(インパクト解析)と「what-if」の自動シミュレーションをコストで行います。

20)頻繁なミスとそれらを回避する方法

スキーマのない生のペイロード:スキーマファースト、レジスタ、CI検証を実装します。
重複除外なし-イベントキーとSilverのidempotent同期。
Mix PII with analytics-マッピングとマスクフィールドを分離します。
所有者のないゴールド:所有者、SLO、消費指標を割り当てます。
再処理戦略はありません:タイムトラベル、ロジックバージョニング、「ダブルカウント」制御。
管理不能な値:バッチ、圧縮、TTL、値の可視性。

21)用語集(短い)

CDC-OLTPから変更をキャプチャします。
Outbox-ドメインイベントをトランザクションで公開します。
透かし-ウィンドウのフローの完全性の評価。
Lakehouse-データレイク+ACIDテーブル。
データ製品-所有者とSLOを持つデータの製品単位。
Feature Store-ML機能の一貫した配布。

22)ボトムライン

データフローアーキテクチャは、明確な契約、観測可能性、セキュリティ、および管理下のコストなど、管理可能なシステムです。記載されたパターン(スキーマファースト、ブロンズ/シルバー/ゴールド、CDC+アウトボックス、DQおよびリネージ、プライバシー・バイ・デザイン)に続いて、プラットフォームは予測可能なSLOと理解可能な所有コストを備えた品質データを確実にビジネス、コンプライアンス、およびMLに提供します。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。