Տվյալների միաձուլումը տարբեր աղբյուրներից
Տվյալների միաձուլումը տարբեր աղբյուրներից
Տվյալների միաձուլումը տարբեր հոսքերի միավորման գործընթացն է (BD ապրանքներ, CRM, հիբրիդային պրովայդերներ, իրադարձությունների լոգներ, կողմնակի օրինակներ) ամբողջական էության և կոնսիստենտ վիտրինների մեջ։ Նպատակը 'ստանալ «ոսկու ձայնագրություն» (Golden Record) և ռուսական կտրվածքներ վերլուծության, ML և վիրահատական դեպքերի համար։
1) Տիպիկ սցենարներ և նպատակներ
360 ° ըստ էության 'հաճախորդ/խաղացող, սարք, հիբրիդային գործիք, չափիչ։
Գործարքների համախմբումը 'մի քանի PMS/cass-ը միակն ամսագիր է, որը պարտադիր է։
Իրադարձությունների նորմալացումը 'վեբ/www.le/backend-Logy-ը միակն է իրադարձությունների բառարանը։
Հարստացումը ՝ արտաքին գրողներ (geo, FX, AML/սանկցիաներ, մարքեթինգային աղբյուրներ)։
Միավորված մետրերը ՝ wwww.walt/timzon, սխեմաներ և կոդավորումներ։
2) Աղբյուրների և սխեմաների պայմանագրերը
Սկսելուց առաջ տվյալների պայմանագիրը յուրաքանչյուր աղբյուրի համար
Սխեմա 'դաշտեր, տեսակներ, զրոյականություն, բանալին (և), արժեքների օրինակներ։
Սեմանտիկան 'ինչ է նշանակում յուրաքանչյուր դաշտ (բառարաններ)։
SLA 'թարմ/հաճախականություն, առավելագույն ուշացում և out-of-order։
Էվոլյուցիան 'սխեմաների փոփոխության քաղաքականությունը (backward/forward), deprecation։
Որակը 'եզակիությունը, ընդունելի միջակայքները, հանրաքվեական ամբողջականությունը։
3) Նույնականացում ՝ բանալիներ և համեմատություն (record linkage)
3. 1. Կոշտ ցուցանիշներ
Բնական բանալիները ՝ «user _ id», «transaction _ id», «device _ id», «iban»։
Նախկին բանալիները ՝ e-mail/հեռախոսը (նորմալիզացիայի հետ 'գրանցում, օրինագծեր, ռուսական երկրներ)։
Surrogates: «surrogate _ id» -ը ռուսական-բրազիլացիների մեջ համընդհանուր բանալու բացակայության դեպքում։
3. 2. Փափուկ կանոններ
Դետերմինացված 'նորմալացված e-mail + DR-ի ճշգրիտ համընկնումը։ «Տուն «/» 112 »հեռախոսը E.164։
Հավանական (Jaro-Systekler/Levenshtein անունով/www.ru, TF-IDF/սաղմեդդինգներ տողերի համար, «blocking» (blocking) կոպիտ հեշերով/նախածանցներով արագացնելու համար։
Գրաֆիկական մոտեցումներ 'էությունը որպես ստանդարտ, զուգադիպություններ որպես կողոսկրեր։ կապի բաղադրիչի կլաստերիզացում։
«Step-up» ռազմավարությունը 'խիստ և փափուկ կանոններից, որոնք ունեն ձեռքի խանդի «սահմանին»։
3. 3. Կոդավորման կանոնները (survivorship)
Աղբյուրի առաջնահերթությունը '«KYC-24> CRM> loga», երբ կա արժեքների հակամարտություն։
Թարմություն 'ժամանակի ավելի քան նոր մետրը հաղթում է (վստահության փոփոխությամբ)։
Լրացում ՝ wwww.fer non-NMS; հասցեների/թեստերի միաձուլումը բազմությունների միավորմամբ։
Աուդիտ 'պահպանեք «որոշման հետքը», որը վերագրանցվել է և ինչու։
4) Դեդուպլիկացիա և MDM
MDM շերտը (Winter Live Tramp) '"վարպետության էակների" + կապի աղյուսակները "ռուսական վարպետի աղբյուրը։
Golden Record: Համախմբված ձայնագրություն դաշտի հետ '«dividence »/ճշմարտության աղբյուրը։
Պատմությունը 'SCD տիպը 2-ը ժամանակից կախված ատրիբուտների համար (հասցեն, KYC կարգավիճակը)։
Ինքնություն 'merge (merge map) սեղաններ «միաձուլման «/« փակցնելու »ամսաթվերի հետ։
5) Փոփոխությունների հոսքերը ՝ CDC, ուշացած և կրկնօրինակներ
CDC (Change Data Capture): события `insert/update/delete` + `source_lsn`/offset.
Ուշացած իրադարձությունները 'հիբրիդային պարամետրերը (watermarks) և սպասման պատուհանները (grace period), ուշ ապդեյտների պահպանումը օպտիկայի համար։
Out-of-order: տեսակավորում բանալին և ժամանակը, որոնք փոխհատուցում են դեղատները։
Դուբլիկատներ 'idempotent բանալիներ («event _ id», «idempotency _ key»), պատուհանի դեդուպը։
Exactly-once: Գործարքային սինգլներ/stor, «MERGE» -ը դետերմինացված տրամաբանությամբ։
6) Թայմզոնները, արժույթը և օրացույցը
Ժամանակը 'պահել UTC + տեղայնացված կտրվածքներ; հստակ պահել «ingested _ at» և «event _ time»։
Արժույթը 'պահել «արտարժույթ» և նորմալացված «benty _ enty» վիրահատության ամսաթվով։
Օրացույցներ ՝ արձակուրդների/աշխատանքային օրերի սեղաններ արդար համեմատությունների համար։
7) Կեղծ-SQL միավորման համար (ups.ru/merge)
7. 1. Գործարքներ (idempotent ամսագիր)
sql
MERGE INTO fact_transactions t
USING staging_transactions s
ON t. txn_id = s. txn_id
WHEN MATCHED AND s. updated_at > t. updated_at THEN
UPDATE SET amount = s. amount,
currency = s. currency,
status = s. status,
updated_at = s. updated_at
WHEN NOT MATCHED THEN
INSERT (txn_id, user_ext_id, amount, currency, status, event_time, updated_at)
VALUES (s. txn_id, s. user_ext_id, s. amount, s. currency, s. status, s. event_time, s. updated_at);
7. 2. Օգտագործողի «Ոսկե ձայնագրությունը» (աղբյուրի գերակայությունը + թարմ)
sql
WITH ranked AS (
SELECT s. ext_user_id,
s. norm_email,
s. phone_e164,
s. addr_struct,
s. source,
s. updated_at,
ROW_NUMBER() OVER (
PARTITION BY s. ext_user_id
ORDER BY
CASE s. source
WHEN 'KYC' THEN 1 WHEN 'CRM' THEN 2 ELSE 3 END,
s. updated_at DESC
) AS rn
FROM staging_users s
)
MERGE INTO dim_user_golden g
USING ranked r
ON g. ext_user_id = r. ext_user_id
WHEN MATCHED AND r. rn = 1 THEN
UPDATE SET email = COALESCE(r. norm_email, g. email),
phone = COALESCE(r. phone_e164, g. phone),
address = COALESCE(r. addr_struct, g. address),
source_of_truth = r. source,
updated_at = r. updated_at
WHEN NOT MATCHED AND r. rn = 1 THEN
INSERT (ext_user_id, email, phone, address, source_of_truth, updated_at)
VALUES (r. ext_user_id, r. norm_email, r. phone_e164, r. addr_struct, r. source, r. updated_at);
8) Որակը և թեստավորումը
Սխեմայի թեստերը 'պարտադիր դաշտեր, տեսակներ, օրինակներ։
Տրամաբանական թեստեր 'բանալին եզակիությունը, կրկնօրինակների բացակայությունը, ոչ «ժամանակի առաջ»։
Sevki (reconciliation) 'vs-ի աղբյուրի գումարները։ տարանջատումը։
Ավելացումը 'բաշխումը, NFC-ի մասը, «երկար պոչերը»։
Միաձուլման մետրերը ՝ precision/recall, «MSLICT» մասնաբաժինը, ձայնագրությունների տոկոսը, որոնք ունեն նախնական շեմն։
9) Դիտարկումը և SLO-ն
SLO թարմություն 'lag vitrine Na րոպե/ժամ; Ռուսական ուշացումներ և backlog։
Ալբերտ 'կրկնօրինակների աճը, հակամարտությունների աճը, coverage-ի անկումը։
Logs lineage: Ո՞ ր աղբյուրից են վերցրել դաշտը, երբ և ով է վերագրանցված։
Ռունիբուկի 'մրցույթի սցենարները (ուշացած կուսակցությունները, CDC փոթորիկը, սխալ FX)։
10) Անվտանգություն, գաղտնիություն, կոմպլամենս
PII 'կեղծանունացում, հակաբիոտիկներ, դիմակավորում BI-ում։
RSA/CLS 'դերերի և շենքերի հասանելիությունը։ արտահանումը հոսանքներով և տևողությամբ։
Տվյալների կյանքի տևողությունը 'պահպանման գրաֆիկները; հեռացման իրավունք (DSAR) և «legal hold»։
Anti-կապը (re-identifae) 'զգայուն աղյուսակների ջոինների նվազեցման կանոնները։
11) Մոդելների և տվյալների կազմակերպությունը
Շերտերը ՝ "r.ru" (ինչպես ուտել է) www.ru 'staging' (մաքրում/նորմալացում) www.ru '(վարպետություն, փաստ/չափում) wwww.mar.ru "(վիտրիններ վերլուծության/ML)։
SCD 'ատրիբուտների համար 2 տիպ, 1 տիպ' սխալները շտկելու համար։ ակնհայտ «valid _ from/valid _ to»։
Feature Store: Փոխակերպման գործառույթները նույնն են առցանց/օֆլայն; point-in-time ճիշտ է։
12) Իրականացման պատրանքները
ELT-ը սեմանտիկ շերտով 'միաձուլման տրամաբանությունը նկարագրված է հակավիրուսային (կանոններ, գերակայություններ, բանալիներ)։
Սթրիմ + միկրոբատչ 'near-real-time վիտրինի համար - 1-15 րոպե մանրէներ watermarks-ից։
Graph-linkage: առանձին գրաֆիկ-ստանդարտ բարդ նույնականացման համար (dewiss, քարտեր, 108)։
Step-up-walidation: linkage-ի նոր կանոնները ներառել shadow ռեժիմում, հավաքել ճշգրտության չափումներ։
13) Chek-Show-Show-Show-Show-S
- Աղբյուրների պայմանագրերը ստորագրվել են. դաշտերի սխեմաներն ու բառարանները համաձայնեցված են
- Որոշված բանալիներ/linkage կանոնները; գոյություն ունի դեդուպլյացիայի ռազմավարություն
- survivorship կանոնները և աղբյուրների առաջնահերթությունները. Audit-log-ը ներառված է
- CDC/idempotention/ուշ տվյալների վերամշակումը իրականացվել է
- Արժույթի/թայմզոնի/օրացույցը նորմալացված է
- Որակի և ծալքերի թեստերը տրամադրված են. Դիտարկման տախտակներ կան
- SLO թարմությունը և հասանելիությունը գրված են. ալտերտերն ու ռունիբուկները պատրաստ են
- PII/հասանելի/պահպանումը համապատասխանում է հաճոյախոսության պահանջներին։
- Peter: էության անձնագիր, lineage սխեմա, հարցումների օրինակներ։
14) «Ոսկե ձայնագրման» անձնագիր (ձևանմուշ)
Էությունը '«USER _ GOLDEN»
Բանալին '"user _ enter _ id" (surrogate), mapings' source _ user _ id [] "
Դաշտերն ու կանոնները
"email ': նորմալացում + գերակայություն" KYC> CRM> LOGS "
"phone ': նորմալացում E.64, համախմբում է ստուգման համար
`name`: Jaro-Winkler ≥ 0. 92, fallback - «KYC» աղբյուրը։
'www.ress': օբյեկտ; միաձուլումը
Պատմությունը 'SCD2 («valid _ from/valid _ to»)
Lineage 'դաշտերի հղում-2019
Որակը ՝ coverage-98 տոկոսը, կրկնօրինակները ՝ 0։ 3%
SLO: Թարմություն 241 ժամ, հասանելիություն 3699։ 9%
Սեփականատերերը ՝ Black Platform, KYC/AML
Ռիսկերը ՝ անունները, «ընտանեկան» հեռախոսները, shared-devance
15) Ամփոփումներ և առաջարկություններ
Միաձուլումը ոչ միայն «JOIN բանալին» է, այլ 'աղբյուրների պայմանագրերը հաստատվում են առաջնահերթությունների նույնականացմամբ և «ոսկե ձայնագրությամբ»' CDC-ով, որը ուշանում է ռուսական անվտանգության որակը և դիտարկումը և փոփոխության պատմությունը։
Կառուցեք կանոնները զով, պահեք յուրաքանչյուր որոշման աուդիտ, աջակցեք SCD-ին և exactly-once-ին։ Այսպիսով, տասնյակ աղբյուրներից տվյալները վերածվում են հուսալի վիտրինների և կայուն չափումների ապրանքի, վերլուծաբանների և ML-ի համար։