Пакеттик маалыматтарды иштетүү
1) Максаты жана баалуулугу
Batch Conveyors үчүн ишенимдүү күнүмдүк/сааттык терезелерди түзөт:- Регулятивдик жана финансылык отчеттуулук (GGR/NGR, салыктар, RG/AML реестрлери).
- BI жана азык-түлүк аналитика (когорттор, LTV, Conversion Huni).
- тактык салыштыруу (OLTP, DWH, провайдерлер/PSP), тарыхын (SCD).
- ML үчүн Fitch жана окутуу топтомун даярдоо.
Негизги касиеттери: алдын ала билүү, толуктугу, кайталоо жөндөмдүүлүгү, маалымат бирдигине төмөн наркы.
2) Архитектура (референс)
1. Ingest (raw capture): HTTP/gRPC, АЛТПдан CDC, жеткирүүчү жүктөр → Bronze.
2. Lakehouse: Bronze (raw, append-only) → Silver (clean/conform) → Gold (serve).
3. Оркестр: Airflow/Dagster/Prefect (DAG 'i, көз карандылык, ретра, SLA).
4. Иштетүү: Spark/Trino/DBT/SQL-кыймылдаткычтар; партиялаштыруу жана ACID форматтары (Delta/Iceberg/Hudi).
5. DQ жана келишимдер: Schema Registry, DQ эрежелери (YAML/SQL), consumer-tests.
6. Тейлөө: BI/семантикалык катмар, отчеттук экспорт (CSV/PDF/JSON + hash), API/GraphQL.
7. Байкоо: Pipeline метрика, сызык, Логи, наркы (cost/GB, cost/query).
3) жыштык жана SLAs
Күнүмдүк (D + 1 06:00 лок.) : GGR отчеттор, жөнгө салуучу түшүрүү, салыштыруу.
Саат/квазиреалтайм: Ops/Каржы үчүн оперативдүү панелдер.
Жумалык/айлык: финансылык консолидация, моделдер жана ретропроцесстер.
- Gold-күнүмдүк терезелер жергиликтүү убакыт боюнча 06:00 чейин даяр.
- Freshness Silver p95 ≤ 15 мүнөт/ ≤ 2 саат күндүзгү үчүн.
- Completeness ≥ 99. 5%, ырааттуулугу (схема) ≥ 99. 9%.
4) Кошумча жүктөмөлөр жана CDC
Ыкмалары:- CDC (Change Data Capture): Debezium/log-репликация → Bronze → Silver инкременттер.
- Watermark убакыт боюнча: 'updated _ at> max_loaded_ts'.
- Хэш салыштыруу: 'md5 (row)' өзгөрүүлөрдү аныктоо үчүн.
- Upsert/Merge: Silver/Gold.
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
5) SCD (өлчөө тарыхын)
SCD I: кайра жазуу (орфография, майда оңдоолор).
SCD II: толук кандуу тарыхы ('valid _ from/valid _ to/is _ current').
SCD III: кыскача салыштыруу үчүн "чейин/кийин".
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);
6) Backfill и Reprocessing
Backfill: баштапкы толтуруу/тарыхый жүктөө.
Reprocessing: Логика/маалыматтарды оңдоо оңдоодон кийин витриналарды кайра эсептөө.
- Idempotentity (MERGE/upsert), Bronze өзгөрүлбөстүгү, логика чыгаруу.
- Time-travel үчүн кайталап чуркап; snapshots metadata.
- Guardrails: диапазондорун чектөө, квота жана атаандаштык джоб.
- Документация: runbook кадамдар жана аяктоо критерийлери менен.
7) Катмарларды моделдөө
Bronze:- Append-only, партия 'event _ date', 'jurisdiction', 'tenant'.
- Биз баштапкы payload (forensics үчүн) сактоо, бекитүү 'ingested _ at'.
- Нормалдаштыруу жана стандартташтыруу: FK/маалымдамалар, дедуп, FX/убакыт зоналары.
- Фактылар/өлчөө таблицалары (3NF/BCNF), негизги өлчөөлөр үчүн SCD.
- BI/жөнгө салуучу/каржы, SLA даяр астында Денормалдаштырылган терезелер.
- Агрегаттарды материалдаштыруу; туруктуу экспорттук экспонаттар (hash + WORM).
8) Маалымат сапаты (DQ-код катары)
Silver үчүн YAML эрежелеринин мисалы:yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical
жооп саясаты: critical → fail job + DLQ; major/minor → тег + отчет.
9) Семантикалык катмар жана отчеттуулук
Бирдиктүү метр аныктамалары (GGR/NGR, ARPPU, Retention) semantic-layer/metrics-дүкөндө.
Метриканын версиясы; BI/экспорттук пакеттер менен бириктирүү.
Отчеттор: CSV/JSON/PDF + sha256, жүктөө журналы жана зарыл болгон учурда мыйзамдуу кармап.
10) Купуялык, резиденттик, коопсуздук
PII-минималдаштыруу: колдонуучулардын псевдонимдештирүү; mapping - өзүнчө корголгон контурда.
Data residency: EEA/UK/BR боюнча өзүнчө каталогдор/ачкычтар; юридикалык негизсиз кросс-аймактык join's тыюу салуу.
Шифрлөө: TLS in-transit; KMS/CMK at-rest; экспортту көзөмөлдөө.
DSAR/RTBF: эсептөө проекциялары, тандоо редакторлору; жеткиликтүүлүктү текшерүү.
Legal Hold: WORM архивдери регулятивдик артефакттар үчүн.
11) аткаруу жана наркы
Дата/рынок/тенант боюнча партиялаштыруу; Z-order/cluster тез-тез предикаттар боюнча.
Форматтар: Parquet + ACID таблицалары; компрессия/статистика, OPTIMIZE/VACUUM.
Материалдаштыруу: алтын туруктуу топтоо; "монолиттүү" джобдордон качуу.
Квоталар/бюджеттер: командалар боюнча chargeback; backfill лимиттери/оор суроолор.
Пландаштыруу: терезелер аз жүк (түн/дем алыш), кезек артыкчылыктары.
12) Байкоо жана башкаруу
Пайплайн метрикасы: duration, success rate, retries, rows processed, cost/query.
DQ-метрика: completeness, validity, uniqueness, FK-ката, drift.
Freshness heatmap: домендер жана базарлар боюнча; SLA-dashboard.
Lineage: Bronze отчеттордун келип чыгышы; өзгөрүүлөр алдында impact-талдоо.
Alerty: SLO-бюджеттер, DQ деградация, кечигүү, наркынын өсүшү.
13) SQL мисалдар/моделдер
Валюталарды нормалдаштыруу (Silver):sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
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';
Күнүмдүк GGR (Алтын):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
Толук контролдоо (DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;
14) Процесстер жана RACI
R (Responsible): Data Engineering (DAG 'i, Silver/Gold моделдери), Data Platform (инфра, схемалар реестри, DQ).
A (Accountable): Head of Data / Chief Data Officer.
C (Consulted): Compliance/Legal/DPO (PII/retention), Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI/Продукт/Маркетинг/Операциялар.
15) Ишке ашыруунун жол картасы
MVP (4-6 жума):1. Lakehouse Bronze/Silver (ACID форматы), CDC/2-3 домендер үчүн инкременттер.
2. DQ-Code: Payments/Gameplay + CI-validation үчүн 10-15 эрежелери.
3. Биринчи Gold-дисплей (GGR Daily) 06:00 чейин SLA менен; отчеттук экспорт + хэш.
4. Dashbord Freshness/Completeness/Cost, негизги алерталар.
2-этап (6-12 жума):- SCD II для users/games/providers; домендерди кеңейтүү.
- Метриканын семантикалык катмары; OLTP/провайдерлер менен салыштыруу (accuracy).
- Процедуралар backfill/reprocessing, lineage жана impact-талдоо, регионалдаштыруу (EEA/UK).
- Auto-симуляция өзгөрүүлөр (dry-run), бюджеттер/квоталар, chargeback.
- Automatic документтер (data product pages), DR-машыгуу жана убакыт-саякат-калыбына келтирүү.
- Чыгымдарды оптималдаштыруу (кластерлештирүү, материалдаштыруу, TTL, вакуум).
16) Азык-түлүктүн алдындагы чек-тизме
- Registry келишимдер жана схемалар, шайкештик тесттер жашыл.
- Кошумча жүктөмөлөр/CDC иштейт, MERGE idempotenten.
- DQ эрежелери активдүү; critical → fail + DLQ; бузуулар жөнүндө отчет.
- SLA/дашборддор сергек/толук; Алерттер орнотулган.
- PII/DSAR/RTBF/Legal Hold саясаты мыйзамдуу/DPO тастыкталган.
- Runbook 'жана backfill/reprocessing/DR сыналган.
- контролдоо боюнча наркы (cost/query, cost/GB, өлчөмү).
17) Анти-үлгүлөрү жана кантип качуу керек
Монолиттүү түнкү джобдор: көз карандысыз кадамдарга бөлүп, партияларга параллелдүү.
зарылчылыгы жок Full-reload :/CDC/Мерджи инкременттерди колдонуу.
Аналитикада PII аралаштыруу: маппингдерди өзүнчө кармап, CLS/RLS колдонуңуз.
Жок DQ/сызык: DQ-кодду киргизүү жана келип чыгышын көзөмөлдөө.
"Кол" backfill's: автоматташтыруу жана документтештирүү, диапазондорду чектөө.
Башкарылбаган нарк: кластерлештирүү, материалдаштыруу, ретеншн-саясат.
18) Глоссарий (кыскача)
CDC - OLTP өзгөрүүлөрдү басып алуу.
SCD - жай өзгөрүп өлчөө (I/II/III).
Lakehouse - маалымат lake + ACID таблицалар.
MERGE/Upsert - демпотенттик жаңыртуу операциялары.
Time-travel - таблицалардын тарыхый версияларын окуу.
WORM - артефакттарды туруктуу сактоо.
19) Жыйынтык
Пакеттик иштетүү - алдын ала айтыла турган, кайталана турган жана компленттүү конвейерлердин дисциплинасы. schema-first, инкременттер/CDC, SCD-тарыхтоо, DQ-code, байкоо жана аң-сезимдүү экономиканын принциптерин сактоо менен, сиз туруктуу Gold-витриналарды жана отчетторду аласыз, жаркыраган жана каалаган убакта аудитке даяр.