Προέλευση δεδομένων
Γενεαλογία
1) Τι είναι η γενεαλογία και γιατί χρειάζεται
Το Data Lineage είναι μια επίσημη καταγραφή του "από πού προήλθαν τα δεδομένα, πώς μεταμορφώθηκαν, πού και από ποιον χρησιμοποιήθηκαν. "Το αποτέλεσμα είναι μια κατευθυνόμενη γραφική παράσταση εξαρτήσεων με χαρακτηριστικά (χρόνος, εκδόσεις, ιδιοκτήτες, μετασχηματισμοί, πολιτικές πρόσβασης, ποιότητα), που καθιστά το σύστημα δεδομένων κατανοητό και ελεγχόμενο.
Επιχειρηματική αξία:- Διαφάνεια των μετρήσεων (χρηματοδότηση, προϊόν, κίνδυνος): "γιατί ο αριθμός X = 1,234 ».
- Ταχεία ανάλυση επιπτώσεων των αλλαγών (σύστημα/θέση εργασίας): «τι θα σπάσει εάν»....
- Συμμόρφωση και λογιστικός έλεγχος (GDPR/ISO/SOC): αποδεδειγμένη διαδρομή πεδίου.
- Επιτάχυνση της επιβίβασης και μείωση του μόχθου (γνώση αυτοεξυπηρέτησης).
- Βελτίωση της ποιότητας: στοχευμένες επιθεωρήσεις όπου ο κίνδυνος είναι υψηλότερος.
2) Πεδία κάλυψης και επίπεδα λεπτομέρειας
Επίπεδο ροής (αγωγός/θέση εργασίας): Ποιες θέσεις εργασίας/ενορχηστρωτές δημιούργησαν σύνολα δεδομένων.
Επίπεδο συνόλου δεδομένων (πίνακας/προβολή/θέμα/αρχείο): εισροές → εξόδους, εκδόσεις/στιγμιότυπα.
Στήλη/επίπεδο χαρακτηριστικών - τρόπος υπολογισμού κάθε πεδίου, από ποιες πηγές.
Επίπεδο κατανάλωσης: εκθέσεις BI, API, μοντέλα ML, ταμπλέτες και προειδοποιήσεις.
Για τις κρίσιμες οντότητες (χρήμα, ρύθμιση), απαιτείται αναλυτική ανάλυση επιπέδου στήλης.
3) Υπόδειγμα γενεαλογικών δεδομένων - Βασικές οντότητες
Σύνολο δεδομένων: '{urn, type, schema, ιδιοκτήτες, pii_class, κατακράτηση, ετικέτες}'
Εργασία/Εργασία: '{τεφροδόχος, code_ref, έκδοση, χρόνος λειτουργίας, πρόγραμμα, ιδιοκτήτες}'
Εκτέλεση/εκτέλεση: '{run _ id, job_urn, start/end, status, inputs [], outputs [], code_sha, infra}'
Πεδίο: '{σύνολο δεδομένων _ τεφροδόχος, όνομα, τύπος, παράγωγος}' (παράγωγος - έκφραση/AST/χειριστής).
Πολιτική: '{σύνολο δεδομένων _ τεφροδόχος/πεδίο, access_rules, κάλυψη, consent_scope}'
Έλεγχος ποιότητας: '{check _ id, πεδίο εφαρμογής, κανόνας, σοβαρότητα, αποτέλεσμα}'
4) Πηγές γενεαλογίας: ενεργός έναντι παθητικής συναρμολόγησης
Ενεργοί (βασισμένοι σε γεγονότα): ενορχηστρωτές/κινητήρες (κινητήρες Spark/DBT/SQL/Kafka) για την έκδοση γεγονότων «έναρξη/ολοκλήρωση εργασίας, εισροές/εκροές, χαρτογράφηση στηλών».
Επαγγελματίες: ακρίβεια, συνάφεια, ελαχιστοποίηση της μετα-ανάλυσης.
Παθητικά (συμπεράσματα): DAG parsim, SQL/DDL/log αιτήματα, αρχεία καταγραφής καταλόγου/αποθήκευσης. να οικοδομήσουν εξαρτήσεις αναδρομικά.
Πλεονεκτήματα: ταχεία κάλυψη της πολιτιστικής κληρονομιάς· κατά: χαμηλότερη ακρίβεια σε επίπεδο στήλης.
Συνήθως χρησιμοποιείται ένα υβρίδιο: ενεργητικά γεγονότα όπου είναι δυνατόν, και παθητική ανάλυση ως «ασφαλιστικό δίκτυο».
5) Αρχιτεκτονική λύσης (αναφορά)
Παραγωγοί (ενορχηστρωτές/κινητήρες) → Lineage event bus → Normalizer → Graph storage → Index/search → UI/API/alerts → Export/catalog.
Εκδηλώσεις: ενοποιημένες (εργασία/εκτέλεση/σύνολο δεδομένων/γραμμή στήλης), με URN και σημασιολογικές εκδόσεις.
Γραφική παράσταση: γράφημα επιπέδου στήλης (για παράδειγμα, βασισμένο σε βάση δεδομένων γραφήματος ή σχεσιακό + ανεστραμμένο δείκτη).
UI: διαδραστική απεικόνιση των συντομότερων διαδρομών, πρόσκρουση/αιτία, «σήματα ποιότητας» στις ακμές και τους κόμβους.
Ολοκλήρωση: κατάλογος δεδομένων, σύστημα ποιότητας (DQ), έλεγχος πρόσβασης (ABAC), έλεγχος (αρχεία καταγραφής μόνο για προσθήκη).
6) Αναγνωριστικά και εκδόσεις
URN/Global ID για κάθε σύνολο δεδομένων/θέσεις εργασίας/πεδία: σταθερή, αναγνώσιμη από τον άνθρωπο, συμπεριλαμβανομένης πλατφόρμας/χώρου ονομάτων/ονόματος/έκδοσης.
Έκδοση SchemaVersion και κωδικός (κωδικός SHA, χώνευση εικόνας).
Χρονοδιάδρομος: δυνατότητα αναπαραγωγής των ερευνών.
7) Γραμμή επιπέδου στήλης: τρόπος αξιοπιστίας
SQL ανάλυση με AST κατασκευή και ομαλοποίηση ψευδωνύμων/CTE/blizzard.
Σημειώσεις στον κωδικό μετασχηματισμού (δοκιμές DBT, πρωτόγονα σχόλια, μεταδεδομένα UDF).
Συμβάντα από κινητήρες: προσδιορισμός του "στόχου. Στήλη = f (src. a, src. β) "
Σημασιολογικοί κανόνες: τα UDF/ομαδοποιημένα opses χαρακτηρίζονται ως «χαμένα» (με απώλεια κοκκότητας) ή «ευαίσθητα συντηρητικά» (μεταφέρει ετικέτες PII).
8) Σύνδεση της ιδιωτικής ζωής και της ασφάλειας
Privacy by Design: ετικέτες πεδίου 'pii _ clas ,' consent _ scope ',' reservation '. Κατά την προώθηση των στηλών, οι ετικέτες διαβιβάζονται σύμφωνα με τους κανόνες (για παράδειγμα, "email → hash_email' PII-παράγωγα υπολείμματα).
Μαρκαρισμός PII: γενεαλογία καταστημάτων μαρκαρίσματος/αποτοξίνωσης και συμβολικοί κόμβοι υπηρεσιών. κάθε αποτοξίνωση είναι γεγονός ελέγχου.
Κρυπτογράφηση: για τα πεδία AEAD/FPE, η γενεαλογία αποτυπώνει την «κατάσταση κρυπτογράφησης» και το βασικό πεδίο (ενοικιαστής/πεδίο εφαρμογής) - χωρίς γνωστοποίηση κλειδιών.
Έλεγχος και WORM - γενεαλογικά γεγονότα και αλλαγές πολιτικής αποθηκεύονται σε μη τροποποιήσιμο ημερολόγιο (μόνο προσθήκη με αλυσίδες hash).
9) Ποιότητα δεδομένων και SLO βασιζόμενες στη γενεαλογία
Έλεγχοι στα άκρα: φρεσκάδα, πληρότητα, μοναδικότητα/κλειδιά, μετατόπιση των κατανομών.
SLO/SLI: «95% των θέσεων εργασίας που τροφοδοτούν τις μετρήσεις fino-report ολοκληρώθηκαν ≤ 06:00 UTC».
Αιτία: το γράφημα + οι χρόνοι εκτέλεσης δίνουν έναν γρήγορο ορισμό του «πρώτου σπασμένου κόμβου».
10) Ανάλυση επιπτώσεων και διαχείριση αλλαγών
Σε περίπτωση προγραμματισμένης αλλαγής στο σχήμα/λογική: από τη στήλη κατάντη (κατάντη) - κατάλογος των επηρεαζόμενων αναφορών/μοντέλων/πελατών API.
Πολιτική παραβάσεων: υποχρεωτική κοινοποίηση των κατάντη αντικειμένων, περίοδος χάριτος, παράλληλες εκδόσεις ('v1 '/' v2') και σημαία λήξης.
Αυτόματες δημόσιες σχέσεις/εισιτήρια με κατάλογο καταναλωτών και κατάλογο σημείων ελέγχου μετάβασης.
11) Ενοποίηση με ενορχηστρωτές και κινητήρες
Ενορχηστρωτές: Οι εκδηλώσεις 'RunStart/RunCompleted' με εισροές/εκροές εκπέμπονται πριν/μετά την εργασία.
SQL/ELT: συνδέσεις με κινητήρες (αποθήκη, λιμνοθάλασσα) για την απόκτηση του πραγματικού σχεδίου εκτέλεσης και χαρτογράφησης στήλης.
Επεξεργασία ροής: γενεαλογία μηνυμάτων (topic→topic, κλειδιά/κεφαλίδες), συστήματα Avro/Protobuf, εξέλιξη συστημάτων μέσω μητρώου.
ML: χαρακτηριστικά γραμμής/σύνολα δεδομένων, εκδόσεις μοντέλων, τεχνουργήματα κατάρτισης, πηγές χαρακτηριστικών.
12) Μοντελοποίηση των κανόνων διάδοσης του σήματος (συμβάσεις δεδομένων)
Σύμβαση συνόλου δεδομένων: schema + σημασιολογία πεδίου (κλειδιά, PII, συγκεντρωτικότητα, άδειες/νομικοί λόγοι, διατήρηση).
Κανόνες διάδοσης:- 'Select a, b FROM T' move label a, b '.
- 'hash (email)' → label 'PII-παράγωγο (ψευδώνυμο)' με απαγορευμένη την αποτοξίνωση.
- «άθροισμα (ποσό)» → απώλεια ατομικότητας· οι συνδέσεις δεν επιτρέπονται στο πεδίο αποτελεσμάτων.
- Οι συμβάσεις επικυρώνονται στον ΚΚΠ (αναστολέα σε περίπτωση μη συμμόρφωσης) και οι παραβιάσεις αποτελούν γεγονότα του ελέγχου.
13) Επιδόσεις και κλίμακα
Επαυξητική ένεση συμβάντων γενεαλογίας. αφαίρεση από «(run_id, job_urn)».
Αποθήκευση στήλης: διαχωρισμός του θερμού δείκτη (τελευταίες 30-90 ημέρες) και του αρχείου. στιγμιότυπα.
Διαδρομές αποθήκευσης για συχνές αιτήσεις (σύντομες διαδρομές προς «χρυσές» μετρήσεις).
Στρωμνή από neimspaces/ενοικιαστές. προστασία από «τέρας κόμβους» (περιορισμός ανεμιστήρα).
14) Οπτικοποίηση και UX
Τρόποι:- Διαδρομή προς τη μέτρηση: «από την οποία συναρμολογείται η μέτρηση».
- Αντίκτυπος από την πηγή: «ποιος θα επηρεαστεί από την αλλαγή».
- Γραμμή πεδίου: «πώς υπολογίζεται το πεδίο».
- Επικαλύψεις: κατάσταση εργασίας, ποιότητα, ετικέτες PII, κρατήσεις, ιδιοκτήτες.
- Ενέργειες: άνοιγμα σύμβασης, δημιουργία εισιτηρίου για μετάβαση, εγγραφή για αλλαγή ειδοποίησης.
15) Ασφάλεια πρόσβασης στο γράφημα
ABAC: Η ορατότητα κόμβου/άκρου περιορίζεται στους ενοικιαστές/ρόλους.
Redaction: απόκρυψη ευαίσθητων ονομάτων πεδίου (ή ψευδωνυμία τους) στο UI για μη εκπαιδευμένους ρόλους.
mTLS/OIDC για εκδηλώσεις γενεαλογίας API υπογράφονται με ταυτότητες υπηρεσίας.
WORM και έλεγχος ανάγνωσης: η ανάγνωση κρίσιμων τμημάτων γραφήματος καταγράφεται επίσης.
16) Λειτουργία: SLO, παρακολούθηση, προειδοποιήσεις
Διάγραμμα SLO: καθυστέρηση γεγονότων <5 λεπτά. πληρότητα κάλυψης> 98% των αγωγών ζωτικής σημασίας· Το 100% των «χρυσών μετρήσεων» έχουν καταγωγή επιπέδου στήλης.
Ειδοποιήσεις: αλυσιδωτή διακοπή, εκτέλεση χωρίς γεγονότα ολοκλήρωσης, ασυνεπή συστήματα, ορφανά σύνολα δεδομένων, απενεργοποίηση ανάπτυξης/κύκλων.
Αναφορές: εβδομαδιαία «κατάσταση κάλυψης της γενεαλογίας», 10 κορυφαίοι κόμβοι κινδύνου.
17) Προστασία της ιδιωτικής ζωής και συμμόρφωση (δέσμες)
GDPR/PbD: αποθηκεύουν βάσεις επεξεργασίας και συγκρατήσεις ως ετικέτες· Η γενεαλογία παρέχει γρήγορη οδήγηση DSAR και «δικαίωμα διαγραφής» μέσω της κρυπτογραφημένης διαγραφής των αντίστοιχων τμημάτων.
Μυστική διαχείριση: οι πηγές πρόσβασης στις πρώτες ύλες δεν εμπίπτουν ποτέ στη γενεαλογία ως ανοικτές πιστώσεις· αποθηκεύεται μόνο ο ρόλος/η πολιτική αναφορά.
Λογιστικοί/μη τροποποιημένοι κορμοί - όλα τα γενεαλογικά συμβάντα υπογράφονται και εγγράφονται στο αποθετήριο μόνο για προσθήκη (βλέπε αντίστοιχο άρθρο).
18) Κατάλογοι ελέγχου
Πριν από την έναρξη:- Συμφωνίες URN που ορίζονται για σύνολα δεδομένων/θέσεις εργασίας/τομείς.
- Ενεργοποιημένη εκπομπή συμβάντων γενεαλογίας από ενορχηστρωτές και κινητήρες.
- SQL/DDL parser και schema normalizer work.
- Εγκρίνονται οι συμβάσεις δεδομένων και οι κανόνες διάδοσης PII/διατήρησης.
- Ρυθμισμένα αρχεία καταγραφής γεγονότων WORM και αντίγραφα ασφαλείας γραφήματος.
- Η BI/ML συνδέεται ως γενεαλογικός καταναλωτής (εκθέσεις, μοντέλα, χαρακτηριστικά).
- Κάλυψη γραμμών για κρίσιμους τομείς ≥ 98%, επίπεδο στήλης για «χρήμα» = 100%.
- Οι προειδοποιήσεις για διαλείμματα, τα ορφανά σύνολα δεδομένων, η μετατόπιση κυκλώματος είναι αναμμένες.
- Τριμηνιαίοι έλεγχοι ετικετών και συμβάσεων PII.
- Ροή εγγράφων αλλαγών (θραύση) και διανομή στους καταναλωτές.
19) Μίνι συνταγές
Ολοκληρωμένη εκδήλωση (ψευδο-JSON):json
{
"event": "RunCompleted",
"run": {
"id": "run_2025-10-31T14:20:00Z_42",
"job": "urn:job:etl:finance:close_books_v3",
"status": "SUCCESS",
"code_sha": "b3f9…",
"started_at": "2025-10-31T14:05:00Z",
"ended_at": "2025-10-31T14:19:52Z"
},
"inputs": [
"urn:dataset:lake:bank_txn_v2",
"urn:dataset:warehouse:fx_rates_d+1"
],
"outputs": [
"urn:dataset:warehouse:pnl_daily_v3"
],
"column_lineage": [
{
"output": "pnl_daily_v3. pnl_usd",
"expr": "SUM(txn. amount_local fx. rate)",
"inputs": ["bank_txn_v2. amount_local", "fx_rates_d+1. rate"],
"lossy": true
}
]
}
Κανόνας διάδοσης PII (ιδέα):
if input. field. pii in {email, phone, id} and transform in {hash, tokenize}:
output. field. pii = "pseudonymized"
elif transform in {aggregate, anonymize_k}:
output. field. pii = "anonymous"
else:
output. field. pii = input. field. pii
Τεσσάρων επιπτώσεων «τι θα σπάσει»:
affected = downstream(urn:"urn:dataset:warehouse:users_v4", depth=4)
filter affected where kind in {"dashboard","model","api"} and owner not in {"team-exp"}
20) Συχνά λάθη και τρόπος αποφυγής τους
Γραμμή «στην εικόνα» χωρίς επίσημο μοντέλο. Τα γεγονότα/συστήματα/URN είναι απαραίτητα, διαφορετικά το γράφημα δεν κλιμακώνεται.
Δεν υπάρχει επίπεδο στήλης όπου υπάρχουν "χρήματα. "Οι υπολογισμοί δεν μπορούν να εξηγηθούν χωρίς επίπεδο στήλης.
Μη ολοκληρωμένα γεγονότα (χωρίς code_sha/versii σχήματα). Η αναπαραγωγιμότητα δεν είναι δυνατή.
Αγνόησε την ιδιωτική ζωή. Οι ετικέτες PII πρέπει να ζουν και να μεταφέρονται με τα χωράφια.
Μια μεγάλη βάση δεδομένων γραφημάτων χωρίς στρίψιμο. Διαιρέστε με χώρους ονομάτων, αποθηκεύστε στιγμιότυπα.
Τυφλή πίστη σε parsers. Σε αμφιλεγόμενες περιπτώσεις - ενεργά γεγονότα από κινητήρες.
21) Runbook'и
Περιστατικό: Μετρικό «πήδηξε».
1. Άνοιγμα «διαδρομής προς μέτρηση» → έλεγχος των τελευταίων κόμβων 'Run' στο μονοπάτι.
2. Ελέγξτε τις εκδόσεις κωδικού/σχήματος, ελέγξτε την κατάσταση DQ στις ακμές.
3. Αν βρεθεί ένας σπασμένος σύνδεσμος, δημιουργήστε ένα εισιτήριο για τον ιδιοκτήτη, ενεργοποιήστε την προσωρινή «κατοχή» της μετρικής έκδοσης.
4. Μετά το fix - σημειώστε την RCA και συσχετίστε με τους κόμβους του γραφήματος.
Τροποποίηση σχήματος πηγής.
1. Αίτηση μεταγενέστερου αντικτύπου.
2. Αποστολή ειδοποιήσεων στους ιδιοκτήτες, δημιουργία PR μετάβασης.
3. Σηκώστε παράλληλο 'v _ nex , κρατήστε και τις δύο εκδόσεις μέχρι την ημερομηνία λήξης.
4. Κλείσιμο 'v _ prev', επικαιροποίηση συμβάσεων και γράφημα γενεαλογίας.
- «Privacy by Design (GDPR)»
- «Προσθήκη δεδομένων PII»
- «Μυστική διαχείριση»
- «Λογιστικός έλεγχος και αμετάβλητα αρχεία καταγραφής»
- «Σε ανάπαυση/σε διαμετακόμιση κρυπτογράφηση»
- «Διαχείριση κλειδιών και εναλλαγή»