Μάθημα 1fact_payments: πεδία σχήματος (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Μοντελοποιήστε τον πίνακα fact_payments για αναλύσεις εσόδων. Ορίζουμε κάθε πεδίο, συζητάμε idempotent κατάποση, διαχείριση νομίσματος, κατάσταση πληρωμής, επιστροφές και πώς να συνδέετε πληρωμές με χρήστες, μαθήματα και τιμολόγια για downstream αναφορές.
Grain και πρωταρχικό κλειδί fact_paymentsΜοντελοποίηση κατάστασης και lifecycle πληρωμήςΔιαχείριση πολλαπλών νομισμάτωνΣύνδεση πληρωμών με χρήστες και μαθήματαΚαταγραφή επιστροφών και chargebacksΜάθημα 2Εργαλεία για μετασχηματισμούς: dbt, Spark/Databricks, Beam/Flink, πλαίσια μετασχηματισμού βασισμένα σε SQLΕπισκόπηση βασικών εργαλείων μετασχηματισμού και πώς να επιλέγετε μεταξύ τους. Συγκρίνουμε dbt, Spark, Databricks, Beam, Flink και πλαίσια SQL, εστιάζοντας σε κλιμακωσιμότητα, οργάνωση, δοκιμές και ενσωμάτωση με σύγχρονα data stacks.
dbt για μετασχηματισμούς SQL-centricSpark και Databricks για big dataBeam και Flink για streaming jobsΠλαίσια μετασχηματισμού βασισμένα σε SQLΚριτήρια επιλογής εργαλείων και συμβάσειςΜάθημα 3Σχεδιασμός διαστασιακού μοντέλου για analytics: χαρτογράφηση facts και dimensionsΕξερευνήστε διαστασιακή μοντελοποίηση για analytics. Θα χαρτογραφήσετε επιχειρηματικές διαδικασίες σε πίνακες fact, θα ορίσετε dimensions και grain, θα διαχειριστείτε σχέσεις many-to-many και θα σχεδιάσετε σχήματα που υποστηρίζουν self-service BI και αποδοτικές ερωτήσεις.
Προσδιορισμός επιχειρηματικών διαδικασιών και factsΕπιλογή grain πινάκων factΣχεδιασμός conformed dimensionsΔιαχείριση σχέσεων many-to-manyΣυμβάσεις star εναντίον snowflakeΜάθημα 4Μοτίβα μετασχηματισμού: ELT εναντίον ETL, προσαυξημένοι μετασχηματισμοί, batch εναντίον stream transformsΚατανοήστε βασικά μοτίβα μετασχηματισμού και πότε να τα εφαρμόζετε. Συγκρίνουμε ETL και ELT, σχεδιάζουμε προσαυξημένους αγωγούς και αντιπαραβάλλουμε batch και streaming μετασχηματισμούς, εστιάζοντας σε κόστος, καθυστέρηση, παρατηρησιμότητα και λειτουργικές συμβάσεις.
Σύγκριση αρχιτεκτονικών ETL και ELTΣχεδιασμός προσαυξημένων μετασχηματισμώνΠλεονεκτήματα και μειονεκτήματα batch επεξεργασίαςΜοτίβα streaming και micro-batchΕπιλογή μοτίπων κατά SLA και κόστοςΜάθημα 5dim_user: πεδία σχήματος (user_id, email_hash, signup_date, country, subscription_status, cohort)Σχεδιάστε τη διάσταση dim_user για analytics χρηστών και τμηματοποίηση. Ορίζουμε κάθε πεδίο, hash ευαίσθητα δεδομένα, παρακολουθούμε εγγραφές και cohorts, και μοντελοποιούμε κατάσταση συνδρομής για υποστήριξη αναφορών ανάπτυξης, διακράτησης και νομισματοποίησης.
Αναγνωριστικά χρηστών και surrogate keysHashing email και έλεγχοι ιδιωτικότηταςΜοντελοποίηση signup_date και cohortsLifecycle subscription_statusΧαρακτηριστικά χώρας και τοπικοποίησηςΜάθημα 6dim_course: πεδία σχήματος (course_id, title, author_id, category, price, published_date)Σχεδιάστε τη διάσταση dim_course για υποστήριξη analytics μαθημάτων. Ορίζουμε κάθε πεδίο, συζητάμε surrogate keys, διαχειριζόμαστε αλλαγές τιμών και κατηγοριών και μοντελοποιούμε ημερομηνίες δημοσίευσης για ακριβείς ιστορικές και καταλογικές αναφορές.
Επιχειρηματικό νόημα κάθε πεδίου dim_courseΦυσικά κλειδιά εναντίον surrogate course_idΔιαχείριση αλλαγών τιμής και κατηγορίας μαθήματοςΜοντελοποίηση καταστάσεων δημοσίευσης/μη δημοσίευσηςΕυρετηρίαση dim_course για ερωτήσεις BIΜάθημα 7Βήματα καθαρισμού δεδομένων: ανάλυση, επιβολή τύπων, κανονικοποίηση χρονικών σημάνσεων, αφαίρεση διπλοτύπων, εμπλουτισμόςΜάθετε πώς να καθαρίζετε συστηματικά ακατέργαστα δεδομένα πριν τη μοντελοποίηση. Καλύπτουμε ανάλυση ημιδομημένων πεδίων, επιβολή τύπων δεδομένων, κανονικοποίηση χρονικών σημάνσεων σε ζώνες ώρας, αφαίρεση διπλοτύπων εγγραφών και εμπλουτισμό datasets με δεδομένα αναφοράς και lookup.
Ανάλυση JSON, CSV και εμφωλευμένων πεδίωνΕπιβολή τύπων και έλεγχος σχήματοςΚανονικοποίηση ζωνών ώρας και πρότυπαΣτρατηγικές αφαίρεσης διπλοτύπων εγγραφώνΣυνδέσεις δεδομένων αναφοράς για εμπλουτισμόΜάθημα 8Φρεσκάδα δεδομένων και στρατηγικές windowing για near-real-time KPIsΣχεδιάστε στρατηγικές φρεσκάδας για near-real-time KPIs. Καλύπτουμε προϋπολογισμούς καθυστέρησης, watermarking, windowing για streaming metrics, διαχείριση καθυστερημένων δεδομένων και παρακολούθηση φρεσκάδας για αξιόπιστα και δράσιμα dashboards.
Ορισμός στόχων φρεσκάδας και καθυστέρησηςWatermarks και διαχείριση καθυστερημένων δεδομένωνTumbling, sliding και session windowsΥπολογισμός near-real-time KPIΠαρακολούθηση και ειδοποιήσεις φρεσκάδαςΜάθημα 9Διαχείριση αργά μεταβαλλόμενων dimensions (SCD Type 1/2) και time-travel/versioningΜάθετε πώς να διαχειρίζεστε αργά μεταβαλλόμενες dimensions και time-travel. Συγκρίνουμε SCD Type 1 και Type 2, σχεδιάζουμε εύρη ημερομηνιών ισχύος, αποθηκεύουμε metadata έκδοσης και χρησιμοποιούμε χαρακτηριστικά warehouse για ερωτήσεις ιστορικών καταστάσεων dimension.
Πότε να χρησιμοποιείτε SCD Type 1 εναντίον Type 2Ημερομηνίες ισχύος και τρέχουσες σημαίεςΕφαρμογή SCD σε SQL και dbtΧρήση χαρακτηριστικών time-travel warehouseΔοκιμή ορθότητας ιστορικών dimensionsΜάθημα 10Παραγόμενα metrics και συγκεντρώσεις: ημερήσιοι ενεργοί χρήστες (DAU), ενεργοί χρήστες ανά μάθημα, ποσοστό ολοκλήρωσης μαθήματος ανά χώρα, έσοδα ανά μάθημα και cohortΜάθετε να δημιουργείτε παραγόμενα metrics και συγκεντρώσεις από πίνακες fact. Υπολογίζουμε DAU, δραστηριότητα ανά μάθημα, ποσοστά ολοκλήρωσης και έσοδα cohort, τονίζοντας αναπαραγώγιμους ορισμούς και αποδοτικά μοτίβα υλοποίησης.
Ορισμός DAU και MAU συνεπώςMetrics ενεργών χρηστών ανά μάθημαΠοσοστό ολοκλήρωσης ανά τμήμα και χώραΈσοδα ανά μάθημα και cohortΥλοποίηση συγκεντρώσεων σε warehousesΜάθημα 11fact_user_activity: πεδία σχήματος (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Μοντελοποιήστε τον πίνακα fact_user_activity για αναλύσεις συμπεριφοράς. Ορίζουμε κάθε πεδίο, επιλέγουμε grain γεγονότος, καταγράφουμε συνεδρίες και συσκευές, αποθηκεύουμε ingestion metadata και υποστηρίζουμε funnels, engagement και αναφορές διακράτησης.
Ορισμός grain επιπέδου γεγονότοςΜοντελοποίηση event_type και ταξινομιώνΑποτίμηση συνεδρίας και συσκευήςΧρήση πεδίων ingestion_metadataΥποστήριξη funnels και διακράτησης