Հասանելիության ինտերֆեյսները տվյալների
1) Ինչու՞ է մտածված ինտերֆեյսը
Արագությունը և կանխատեսելիությունը 'բիզնես մետրերը և հաշվետվությունները տեղադրվում են SLA-ում, առանց «ձեռքով բեռնման»։
Անվտանգությունը և գաղտնիությունը 'PII/կենսաչափությունը վերահսկողության տակ, k-անունությունը, գեո սահմանները։
Ճկունություն 'տարբեր հաճախորդներ (BI, ծառայություններ, գործընկերներ, DS/ML) ստանում են հենց այն, ինչ նրանց անհրաժեշտ է։
Կրկնվող օգտագործումը '«տվյալները որպես ապրանք» պայմանագրերի և տարբերակների հետ։
2) Ինտերֆեյսների քարտեզը (երբ որ)
SQL/ANSI + վենդային բարբառներ ՝ ինտերակտիվ վերլուծություն, BI, ad-hoc։
REST JSON 'կայուն ագրեգատներ և վիրահատական տվյալներ, որոնք կապված են գործընկերների հետ։
GraphQL: ճկուն «ընտրական» կարդալը և նավիգացիայի գրաֆիկը (չափումներ/փաստեր)։
GRPC (www.obuf) 'on.ru-սերվինգի ցածր լատենտ (Feature Store, սկորինգ)։
Arrow Flight/Parquet over HTTP/S3-presigned: Արագ սյունակային «տիկնայք» DS/ML-ի համար։
OData: enterprise գործիքներ, «ստանդարտ որպես ծառայություն» մոդել։
Streams (Kafka/Pulsar) + CDC/Webhooks: իրական ժամանակում իրադարձություններ, ռեակտիվ։
Federation (Trino/Presto) 'բազմաթիվ աղբյուրների մուտքի միասնական կետ։
Կանոն ՝ ագրեգատները և կայուն կտրվածքները www.REST/MV, հարուստ կամայական հարցումները www.SQL, ցածր լատենտ/առցանց fichi wwww.gRPC-ն, GraphQL-ի պատասխանը, զանգվածային երկուական փոխանակումը Arrrow/Parquet։
3) Պայմանագրեր և տարբերակներ (semver)
`MAJOR. MINOR. PATCH 'յուրաքանչյուր API/սխեմաների/իրադարձությունների համար։
MAJOR: անհամատեղելի փոփոխություններ (նոր ուղի/տոպիկ/2019)։
MINOR 'դաշտերի/փաստարկների համատեղելի ավելացումներ։
PATCH 'նկարագրությունների/սահմանումների ուղղություններ։
Պայմանագրերը ամրագրում են 'սխեմա, ֆիլտրեր, լիմիտներ, գաղտնիություն, SLO։
OpenAPI (հատված, REST-մետրիկներ)
yaml openapi: "3. 0. 3"
info: {title: "Analytics API", version: "2. 4. 0"}
paths:
/v2/payments/metrics:
get:
parameters:
- {name: brand, in: query, schema: {type: string}, required: true}
- {name: country, in: query, schema: {type: string}}
- {name: from, in: query, schema: {type: string, format: date-time}}
- {name: to, in: query, schema: {type: string, format: date-time}}
- {name: group_by, in: query, schema: {type: string, enum: [psp,status,day]}}
- {name: limit, in: query, schema: {type: integer, default: 500}}
responses:
"200": {description: "OK"}
x-slo: {p95_latency_ms: 1200, freshness_max: "PT5M"}
x-privacy: {pii: false, min_group_size: 20}
4) Մուտք դեպի վերլուծություն (SQL և ֆեդեգրաֆիա)
SQL դարպասը դերերով/դիմակներով (row/column-level)։
Wukhi/պրոյեկտներ BI-ի տակ 'կայուն անուններ և սեմանտիկա։ heavy հարցումները գնում են նախաճաշելու։
Federation (Trino/Presto) 'մեկ մուտքի կետ, բայց քաղաքական գործիչների հետ' ինչ կոմպոզիցիաներ և որ գործառույթները հասանելի են։
Lakehouse (Iceberg/Delta/Hudi): Time-travel, SQL/REST-ի միջոցով։
Квоты: scanned bytes/query, concurrency, wall-time.
5) GraphQL (ճկուն ձև)
Մենք հաճախորդին տալիս ենք հավաքելու անհրաժեշտ դաշտը, բայց կատարում ենք պատրաստի պտույտի/պրոյեկցիաների վերևում, խորության/ոսկորների սահմանաչափերով։
graphql type Query {
payments(
brand: String!, country: String, from: DateTime!, to: DateTime!,
first: Int = 200, after: String
): PaymentConnection
}
Քաղաքական գործիչները ՝ depth 245, total nodes 245k, արգելում ենք կամայական regex/like տողերով։ քշում ենք հաճախակի հարցումները։
6) gRPC/Feature Store (ցածր լատենտ)
Առցանց ֆիչին հակաֆրոդի/2019/RG սկորինգի համար։
proto service FeatureStore {
rpc GetFeatures (FeatureRequest) returns (FeatureResponse);
}
message FeatureRequest { string user_tok = 1; repeated string features = 2; }
message FeatureResponse { map<string, FeatureValue> values = 1; int64 ts_micros = 2; }
Պահանջները ՝ p95-50-100 ms, օֆլինի ճշգրիտ համակարգումը առցանց, TTL fich, kash LRU, idempotency և mTSA։
7) Հոսքեր և CDC
Տիրույթի իրադարձությունները '<payments։ deposit_accepted`, `game. round_finished`.
CDC (OLTP-ից) 'կարգավիճակների/սահմանափակումների փոփոխությունը near-real-time-ում։
Webhooks գործընկերների համար 'բաժանորդագրություն ագրեգատներին (օրինակ ՝ «PSA> շեմն»)։
Գետերի/ապացույցների քաղաքականությունները 'exactly-once քննադատական, at-least-once մոնիտորինգի համար։
8) Լճեր և մեծ նմուշներ
Arrrow Flight-ը արագ սյուների բեռնման համար DS/ML-ում։
Presigned-URL-ը Parquet/Feather-ում, կարճ TTL-ով և ստորագրված խնդրանքով։
Chunked transfer-ը և ֆայլի չափի վերահսկումը։ ներբեռնման ամսագիր (WORM աուդիտ)։
9) Ֆիլտրեր, պագինացիա, տեսակավորում
Keyset-pagination (1934) SYSET-ի փոխարեն մեծ հավաքածուների համար։
Ֆիլտրերը 'whitelis.ru-ը, տեսակները և վիրահատները («=, IN, BETWEEN, www.fix»)։
Տեսակավորում 'սահմանափակ դաշտերի ցանկը, որը համապատասխանում է կարգին։
Partial response: «fields = brand, country, amount» նվազեցնում է օգտակար բեռը։
http
GET /v2/game-rounds? brand=X&from=...&to=...&first=1000&after=eyJkYXRlIjoi...
10) Քեշինգը և արժեքը
Resportcache-ը մոդելային հարցումների համար, մենք հաշմանդամ ենք թարմ հոսքի միջոցով (wwww.apshot id)։
Edge-kash/CDN-ը հանրային/կիսագնդի ագրեգատների համար (առանց PII)։
Budget-պարամետրեր 'scanned bytes, հարցման թայմաուտ, rps/2019 քվոտաներ
Փամփուշտների գերակայությունը '«bi _ hot», «adhoc», «partner _ api»։
11) Անվտանգությունն ու գաղտնիությունը
AuthN: OAuth2/OIDC (client credentials ծառայությունների համար, PKCE մարդկանց համար)։
AuthZ: RBAC + ABAC (ատրիբուտներ ՝ բրենդը, երկիրը, լիցենզիան, դերը)։
MTSA ծառայությունների միջև, TMS 1։ 2 + դուրս։
PII-հիգիենան 'դիմակներ/ցնցումներ API շերտի վրա, կոլոնային դիմակներ, ագրեգատների k-անանուն։
Geo/tenault-մեկուսացում 'լիցենզիայի ոլորտում հարցումների միկրոակտիվացում։ բանալիները պատրաստված են բրենդի/տարածաշրջանի վրա։
DSAR/Legal Hold 'փնտրել սուբյեկտի հոսքը, գաղտնիքները հավաքագրման համար։
12) Դիտարկումը (SLI/SLO) և պաշտպանությունը
SLI: p50/p95/p99 lat, error-rate, rps, bytes scanned, cache hit, քվոտաներ/limita, դիմակավորված կոլեկտիվների մասնաբաժինը, հեղինակային մերժումների մասը։
SLO: p95 լատենտ, տվյալների թարմություն, հաջողակ հարցումների տոկոսը, min-group-size պատասխանները։
Ալբերտ 'scanned bytes, hit-rate, 429/5xx աճը, PII-ի հասանելիության փորձերը, կուրսորների արտահոսքը։
Քաղաքականության օրինակ
yaml slo:
p95_latency_ms: 1200 success_rate: 0. 995 freshness_max: "PT5M"
privacy:
pii_allowed: false min_group_size: 20 quotas:
rps: 50 max_scanned_mb: 256
13) Մոսկվան և թեմը
JSON-ը մրցույթի համար; CSV-ը միայն փոքր և անսովոր օրինագծերի համար է։
Parquet/Arrow - լռելյայն մեծ բեռնման համար։
Compression: gzip/zstd (խոսակցություններ «Accept-Encoding» -ի միջոցով)։
Content-negotiation: `Accept: application/x-parquet`.
14) Մետրիկի նման API (Anront.ru/OLAP-դարպաս)
Բարձր մակարդակի մետրիկները ՝ GGR/NET, CR, պահպանումը, RG-միջադեպերը, ինչպիսիք են ռեսուրսները 'brand, country, wwww.ru, group _ by "։
Approx (HLL/TDigest) для distinct/percentiles.
Քեշը բանալին '«(metric, params, www.apshot _ id)»։
15) iGaming-ի առանձնահատկությունները պատրաստի էնդպոինտներ են
«GET/v2/payments/metr.ru» - PSA/երկրի/բրենդի մերժումները 7/30d պատուհաններով։
«GET/v2/game-rounds/metr.ru» - լավագույն խաղեր/պրովայդերներ, p95 տևողություն, RTP պատուհաններ։
«GET/v2/rg/cases» - ակտիվ սահմանափակումներ/ինքնազարգացման (k-անանուն ագրեգատներ)։
«POST/v1/features: get» (gRPC) - առցանց ֆիչեր ֆրոդի/www.maner սկրոդի համար։
«POST/v1/webhooks/past-aler.ru» - «dec.rate> շեմի» ծանուցումները։
16) Օրինակներ
GraphQL հարցումը բարակ կտրում է
graphql query {
payments(brand:"X", country:"TR", from:"2025-10-01", to:"2025-10-31", first:500) {
edges { node { day totalAmount declines psp } cursor }
pageInfo { hasNextPage endCursor }
}
}
Kafka (իրադարձություն, Avro)
json
{"event_id":"...","occurred_at":169..., "brand":"X","psp":"Papara","status":"declined","amount":"100. 00","currency":"TRY"}
Arrrow Flight (գրիչ)
/flight/v1/query? dataset=gold. payments&from=...&to=...&brand=X&format=arrow
17) Նոր ինտերֆեյսի հրատարակման գործընթացը
1. ADR 'խնդիրը/արժեքը/հաճախորդները/անվտանգությունը/արժեքը։
2. Պայմանագիրը 'սխեմա, ֆիլտրեր, լիմիտներ, սեփականատիրություն, SLO, տարբերակներ։
3. Բեռի մոդելավորումը 'top-N հարցումներ, r95/skan-բայթ, արժեքը։
4. Վալիդացիա/քեշ/քվոտաներ 'միացնել լռելյայն։
5. Պիտերբուրգը և MSK-ը 'օրինակներ, սահմաններ, սխալներ, վերափոխումներ, գաղափարախոսություն։
6. Canary: Հաճախորդների տոկոսը, ռեալիստական թեստերը, ալերտները։
7. GA 'Ռուսաստանի Ֆեդեգրաֆիկայի վարկածը, էֆեկտների զեկույցը։
18) Anti-patterna
Բացել «հում» SQL-ը բոլորին 'PII արտահոսքը, անկանխատեսելի արժեքը։
MSSET-pagination և «MS III» - լատենտության և հաշիվի ցավը։
GraphQL-ն առանց խորության/արժեքի սահմանափակումների։
REST, որը վերադարձնում է չափազանց շատ զանգեր առանց «fields =...»։
K-անունության և min-group-size-ի բացակայությունը ագրեգատներում։
Զրոյական քվոտաները/լիմիթները և անջատված քեշը։
Չկա տարբերակման/կոդավորման, հաճախորդների «կոտրում» յուրաքանչյուր փոփոխության ժամանակ։
Նույն ինտերֆեյսը բոլոր երկրների/բրենդների համար տարածաշրջանային կանոնների անտեսումն է։
19) Ճանապարհային քարտեզը
0-30 օր (MVP)
1. Պիտեր Նիկոլաևիչի կատալոգը (չափումներ/կտրվածքներ) և նրանց OpenAPI/GraphQL պայմանագրերը։
2. SQL-նավը RFC/CLS-ի, k-անանուն ագրեգատների, հիմնական քվոտաների հետ։
3. Մեկ REST մետրանոց էնդպոինտ ("/payments/metr.ru ") + kash + push + bi _ hot/adhoc"։
4. GRPC Feature Store: Կարդալ 10-20 հիմնական առցանց ֆիչը (p95-80 մզ)։
30-90 օր
1. Strim ինտերֆեյսները (Kafka/Webhook) PMS-alerts/խաղային իրադարձությունների համար։
2. Arrow/Parquet-ը դուրս է գալիս presigned-URL-ից։ դիպուկահարների կատալոգը։
3. Federation-դարպասը (Trino/Presto) ակնհայտ քաղաքական գործիչների հետ։
4. Դիտարկումը 'dashbord SLI/SLO, արժեքի/լատենտության/PII։
3-6 ամիս
1. SDK (WindScript/Python/Go) ելույթներով/idempotenty/քվոտաների հետ։
2. Նուրբ GraphQL-seress ապրանքների և գործընկերների համար։
3. GRPC/FS-ի ընդլայնումը, ռուսական օֆլինը առցանց։ shadow www.canary.
4. Գաղտնիության աուդիտ/DSAR; համակարգչային հաշվետվությունները հասանելի են։
20) RACI
Master Platform (R) 'դարպասը, քեշը, քվոտաները, ֆեդեգրաֆիան, դիտարկումը։
AleksGovernator (A/R) 'պայմանագրեր, վարկածներ, մասնավորություն/k-անունություն։
Domain Owners (R) 'դաշտերի սեմանտիկան, բիզնեսի ինվարանտները, Դոնալդ Վասիլեվիչը։
AuthN/Z, geo-մեկուսացում, DSAR/Legal Hold։
MSE/Observability (C): SLO/SLI, ալերտներ, capacity։
Anport.ru/BI/DS (C) 'բանաձևերի/ագրեգատների պահանջներ, MSK։
21) Կապված հատվածներ
Վերլուծական պահեստների ինդեքսավորումը, Վերլուծական հարցումների օպտիմիզացումը, Տվյալների սխեմաները և դրանց էվոլյուցիան, Տվյալների Valivation, International Ops պրակտիկան, API վերլուծաբանները և մետրիկը, Feature Store, Տվյալների անվտանգությունը և կոդավորումը, հասանելիության վերահսկումը, տվյալների պահպանման քաղաքականությունը։
Արդյունքը
Ճիշտ նախագծված հասանելիության ինտերֆեյսները տվյալների վրա վերածում են պարամետրերի և հոսքերի դեպի հուսալի «ապրանք» 'կանխատեսելի SLA, վերահսկվող արժեքը, գաղտնիության և միասնական լեզուն ապրանքի թիմերի, վերլուծաբանների, կոմպլանսի և գործընկերների համար։ IGaming-ում դա նշանակում է ավելի արագ բռնել PSA-ի ձախողումները, հասկանալ խաղացողների վարքագիծը և կատարել կարգավորողների պահանջները 'առանց ձեռքի բեռնման և գիշերային միգրացիաների։