GH GambleHub

Data Lake жана борборлоштурулган сактоо

(Бөлүк: Технология жана инфраструктура)

Кыскача резюме

Data Lake - чийки затты жана консолидацияланган датасеттерди борборлоштурулган сактоонун негизги катмары. iGaming үчүн, ал коюмдарды/төлөмдөрдү/оюн Логин иш-чараларды кабыл алат, өнөктөш downloads, CDC ALTP жана аналитика берет, анти-түрү, CRM жана BI. Заманбап практика - Lakehouse: ачык тизме форматтары + ACID-таблица катмары + бирдиктүү каталог + транзакциялар/маалыматтар версиялары. Ийгиликтин ачкычы - схемалар жана партиялаштыруу тартиби, наркты башкаруу, PII коопсуздугу жана катуу операциялык маданият (DQ, сызык, DR).

iGaming платформасында Data Lake ролу

Аналитика үчүн чындыктын бирдиктүү чекити: булагына жана форматына карабастан чийки жана тазаланган маалыматтарды сактоо.
Ийкемдүүлүк: batch жана streaming колдоо (CDC/connectors, иш-чара агымдары).
Evolution: чийки Bronze чейин Conformed Silver жана бизнес Gold.
Жоопкерчиликти бөлүштүрүү: прод-кызматтар Shine/Staging жазган, аналитика/ML Lake катмарлары керектейт.

Архитектуралык моделдер: Lake vs Lakehouse

Data Lake (S3/ADLS/GCS + Parquet/ORC): schema-on-read, арзан сактоо, формат ийкемдүүлүгү.
Lakehouse (Delta/Iceberg/Hudi үстүнөн Parquet): ACID бүтүмдөр, upsert/merge, убакыт-саякат, компакт-файлдар, вакуум, индекстөө/кластерлөө.
Практика: iGaming үчүн негизги катмар катары Lakehouse пайдалуу, ал эми тышкы OLAP (ClickHouse/BigQuery/Snowflake/Pinot) - витриналар жана атайын кыймылдаткычтар сыяктуу.

Медальон катмар модели

Bronze (Raw/Staging): булактардан чийки файлдар (CDC, лог-дампалар, өнөктөш CSV, webhooks). Минималдуу валидация, "кандай болсо".
Silver (Conformed): тазалоо/дедуп, акча/убакыт алкагын нормалдаштыруу, түрлөрү, SCD өлчөө, консистенттик ачкычтар.
Gold (Marts/Serving): GGR/NGR/LTV/Retention үчүн агрегаттар, BI/CRM/антифрод үчүн материалдаштырылган витриналар.
TTL: Bronze боюнча агрессивдүү, Silver боюнча орточо, Gold агрегаттар боюнча узак мөөнөттүү.

Форматтар жана таблица катмарлары

Колонна: Parquet (иш жүзүндө стандарт), ORC.

Ачык таблица форматтары (ACID):
  • Delta Lake - бүтүмдөр, "MERGE", убакыт-саякат, оптималдаштыруу/вакуум, Z-order.
  • Apache Iceberg - манифесттер/снапшоттор менен таблицалар, жашыруун партиялаштыруу, 'MERGE/DELETE/UPDATE', time-travel.
  • Apache Hudi - copy-on-write/merge-on-read, upsert-оптималдаштыруу, инкременталдык алуу.
  • Тандоо экосистема жана upsert/Streaming/ийкемдүүлүк эволюциялык схемалар үчүн талаптар.

Каталог жана метастор

Бирдиктүү каталогу (Hive Metastore/Unity/Glue/Platform каталогдору) схемаларды, партияларды, версияларды, укуктарды сактайт.
Талаптар: таблицалык катмар менен транзакциялык шайкештик, бир нече кыймылдаткычтарды колдоо (Spark, Trino/Presto, Flink, dbt), аудит/lineage.

Схемалар жана эволюция

Schema contract: милдеттүү талааларды чечүү, түрлөрү, семантика; булактары ('schema _ version').
Эволюция: кошумча талааларды кошуу, миграциясы жок өзгөрүүлөргө тыюу салуу; payplayns автоматтык схемалар текшерүү.
PII-сегментация: сезгич талаалар - шифрлөө жана өзүнчө укуктар менен өзүнчө тилкелерге/таблицаларга.

Партиялаштыруу жана lay-out берилиштер

Дата/саат - окуялар үчүн негизги ачкыч; кошумча талаалар: 'country', 'product', 'tenant _ id'.
Hive-style путь: `s3://lake/bronze/payments/source=pspA/dt=2025-11-05/hour=13/part-0001. parquet`.
Кластерлештирүү/сорттоо: көп чыпкалоочу талаалар боюнча Z-order/Sort keys (player_id, country).
Файлдын көлөмү: 128-1024 MB максаттуу; "small files" качыңыз (төмөндө караңыз).
Виртуалдык колонкалар (Iceberg/Delta) жашыруун партиялаштыруу үчүн.

small files көйгөйү жана компакшн

Булактар ​ ​ кичинекей чанактарды агып → сканерлердин жана метадерилердин деградациясы.
Чечим: мезгилдүү optimize/compaction (coalesce), compaction-милдеттерди пландоочу, ингестионго батч-микро-bundle, 'autoOptimize' (эгер бар болсо).
merge-on-read vs copy-on-write саясаты - жазуунун латенттүүлүгү менен окуу ылдамдыгынын ортосундагы тең салмактуулук.

Инжест: batch, stream, CDC

АЛТПдан CDC (Debezium/коннекторлор) → Bronze (мүнөттүк сергектик).
Stream (Kafka/Flink/Spark Structured Streaming) → Silver/Gold инкременталдык (upsert/merge).
Batch (өнөктөш отчеттор/CSV/JSON) - манифесттер менен "кабылдагычтар" аркылуу, checksum боюнча дубль контролдоо.
Idempotency: ачкычтар (idempotency_key), дедуп боюнча (key, ts), "суу белгилери" (watermarks) кийин келген жазуулар үчүн.

Маалымат сапаты (DQ) жана сызык

DQ чектери: толук, ачкычтардын уникалдуулугу, диапазондору, референттик бүтүндүгү (өлкөлөрдүн/валюталардын тизмелери), бизнес эрежелери (GGR ≥ 0).
Линиедж: көз карандылыктын графиги, моделдин коду жана таблицанын снапшотунун версиясы.
Контролдоо схемалар: автоматтык тесттер back/forward-compat, бөгөт коюу "сындырып" өзгөрүүлөр.
Жүктөө аудити: ким/качан/канча, четке кагылган партиялар, ретра.

Тейлөө жана кирүү

SQL кыймылдаткычтары: ad-hoc жана өзгөрүүлөр үчүн Spark/Trino/Presto; ELT моделдер үчүн dbt.
Real-time/near-real-time: Pinot/Druid/ClickHouse терезелер катары; Lakehouse - инкременталдык sink аркылуу булагы.
Data Sharing: көчүрмөсү жок тышкы командаларга таблицаларды/снапшотторду бөлүшүү (эгерде формат тарабынан колдоого алынса).

Коопсуздук, PII жана көп тенанттуулук

Шифрлөө: ат-rest (KMS) жана in-transit (TLS).
IAM/RBAC/ABAC: каталог/таблица/тилке/саптар деъгээлинде ролдору (жашыруу, динамикалык саясат).
Региондор боюнча сегментация (ЕБ/Түркия/ЛатАм локализациясы): бакеттерди жана эсептөө пулдарын изоляциялоо.
Көп тенанттуулук: namespace/каталогдор жана жол префикстери, 'tenant _ id' боюнча чыпкалар, кошумча - row-level саясаты.
Кирүү аудити: окуу/метадеректерди өзгөртүү, ретеншн жана өзгөртүлбөгөн журналдар.

Наркы башкаруу

Сактоо класстары: стандарттык класстагы ысык (көп окуу), TTL саясатчылар менен муздак/Glacier класстарда архив.
Партиялаштыруу/кластерлер сканерлерди азайтат → $ $ дан аз.
Кымбат отчеттор үчүн материалдык терезелер; BI натыйжалары кэш.
Компакшн жана "туура файл өлчөмү" - аз метаданалар жана I/O.
Квоталар жана бюджеттөө: compute-кластерлерге/джобдорго лимиттер, датасет/командага нарк боюнча отчеттор.
Таштандыларды чыгаруу: "VACUUM/REWRITE" таблица форматында, TTL Bronze.

DR жана кайталоо

Таблицаларды версиялоо (time-travel) жана каталогдун снапшоттары.
Бакеттердин жана метадерилердин кросс-аймактык репликациясы.
PITR: таблицалардын транзакция журналдарын (Delta/Iceberg/Hudi) жана пайплайн логдорун сактоо.
Game-day: үзгүлтүксүз калыбына келтирүү жана аймактарды которуу машыгуулары.

Байкоо жана SLO

SLO сергектик: Bronze ≤ 5 мин, Silver ≤ 15-30 мин, Gold ≤ 60 мин (мисал).
Метрикалар: файлдардын көлөмү/саны, паркет файлынын орточо өлчөмү, сканердин убактысы, өткөрүлбөгөн партиялардын үлүшү, compaction жыштыгы, наркы/датасет, DQ каталары, кечигип маалыматтар.
Alerty: small files, нарктын өсүшү, p95/p99 деградация, DQ/схемаларды бузуу, Strim синктердин артта калуусу.

Нейминг жана жолдор конвенциялары (шаблон)


s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/      # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/

datasets аттары: 'bets _ raw', 'payments _ cdc', 'players _ silver', 'mart _ ggr _ daily'.
Метадеректер: 'ingest _ ts', 'source', 'schema _ version', 'trace _ id', 'tenant _ id'.

Мисалдар (жалпыланган)

1) Iceberg: күн боюнча жашыруун партия менен Silver стол

sql
CREATE TABLE silver. bets (
bet_id    BIGINT,
player_id   BIGINT,
country    STRING,
stake     DECIMAL(18,2),
win      DECIMAL(18,2),
event_ts   TIMESTAMP,
ingest_ts   TIMESTAMP,
schema_version INT
)
PARTITIONED BY (days(event_ts))
TBLPROPERTIES ('format-version'='2');

2) Delta: CDC тартып инкременталдык upsert

sql
MERGE INTO silver. players t
USING bronze. players_cdc s
ON t. player_id = s. player_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

3) Bronze үчүн TTL саясаты (идея)


bronze/: keep 30 days silver/: keep 365 days (non-PII), 90 days (PII masked)
gold/marts/: keep 2–3 years (aggregated)

Киргизүү чек-тизмеси

1. Табличка форматын (Delta/Iceberg/Hudi) жана каталогду тандоо; кыймылдаткычтар менен макулдашуу (Spark/Trino/Flink/dbt).
2. Медальон катмарларын, TTL эрежелерин жана командалардын жоопкерчилигин аныктаңыз.
3. shema contracts, Evolution Control, PII сегменттөө жана коддоо чечүү.
4. Lay-out долбоорлоо: партия, сорттогу ачкычтар, максаттуу файл өлчөмү; compaction кирет.
5. Демпотенттик жана дедуп менен ingest (CDC/stream/batch) орнотуу.
6. DQ/lineage, мета-маалымат каталогу жана аудит кирет.
7. SLO сергектик/наркы, dashboard метрика жана алерта аныктоо.
8. DR уюштуруу: snapshots/репликация/калыбына келтирүү + үзгүлтүксүз машыгуу.
9. Нейминг жана жолдорду стандартташтыруу, мета колонкалар ('ingest _ ts', 'source', 'schema _ version').
10. Тиешелүү OLAP/RT кыймылдаткычтарына Алтын-витриналарды жана реалдуу убакыт сервингин алып чыгыңыз.

Антипаттерндер

Бир жалпы "баштык" катмарсыз жана TTL → башаламандык жана жарылуу наркы.
Өлкө/продукт → оор сканерлерди эске албаганда, убакыт боюнча гана партиялаштыруу.
Агымдар compaction жок, майда файлдардын ми/саат түзүү.
Схемаларды көзөмөлдөө жана DQ → "бузуучу" өзгөрүүлөр жана отчетторго ишенбөөчүлүк жок.
PII Gold-Showrooms менен камуфляж/укуктарды бөлүштүрүү жок аралаштыруу.
Каталог жана таблица саясатынын ордуна бакет деңгээлинде кирүү укуктарынын хардкоды.

Натыйжалары

iGaming үчүн заманбап Data Lake - бул ачык таблица форматы, бирдиктүү каталог жана медальон модели менен Lakehouse. Тартип схемалар/партиялар, compaction vs small files, DQ/сызык, PII-коопсуздук жана наркы гигиена туруктуу пайдубалы үчүн lake катмарын айлантат: арзан сактоо, тез окуу, SLO алдын ала жана DR. үчүн даяр. Мындай пайдубалы турнир чокулары боюнча масштабдуу жана колдоо жана batch аналитика, жана near-real-time дисплей.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.