Διαδικασία ETL (Extract, Transform, and Load) στην αποθήκη δεδομένων

Τι είναι η ETL;

ETL είναι μια διαδικασία που εξάγει τα δεδομένα από διαφορετικά συστήματα προέλευσης, στη συνέχεια μετασχηματίζει τα δεδομένα (όπως η εφαρμογή υπολογισμών, συνενώσεων κ.λπ.) και τελικά φορτώνει τα δεδομένα στο σύστημα αποθήκης δεδομένων. Η πλήρης μορφή του ETL είναι Extract, Transform and Load.

Είναι δελεαστικό να πιστεύουμε ότι η δημιουργία μιας αποθήκης δεδομένων είναι απλώς εξαγωγή δεδομένων από πολλαπλές πηγές και φόρτωση στη βάση δεδομένων μιας αποθήκης δεδομένων. Αυτό απέχει πολύ από την αλήθεια και απαιτεί μια πολύπλοκη διαδικασία ETL. Η διαδικασία ETL απαιτεί ενεργές εισροές από διάφορα ενδιαφερόμενα μέρη, συμπεριλαμβανομένων προγραμματιστών, αναλυτών, δοκιμαστών, κορυφαίων στελεχών και είναι τεχνικά προκλητική.

Προκειμένου να διατηρήσει την αξία του ως εργαλείου για τους υπεύθυνους λήψης αποφάσεων, το σύστημα αποθήκης δεδομένων πρέπει να αλλάξει με τις επιχειρηματικές αλλαγές. Το ETL είναι μια επαναλαμβανόμενη δραστηριότητα (ημερήσια, εβδομαδιαία, μηνιαία) ενός συστήματος αποθήκης δεδομένων και πρέπει να είναι ευέλικτο, αυτοματοποιημένο και καλά τεκμηριωμένο.

Γιατί χρειάζεστε το ETL;

Υπάρχουν πολλοί λόγοι για την υιοθέτηση του ETL στον οργανισμό:

  • Βοηθά τις εταιρείες να αναλύσουν τα επιχειρηματικά τους δεδομένα για τη λήψη κρίσιμων επιχειρηματικών αποφάσεων.
  • Οι βάσεις δεδομένων συναλλαγών δεν μπορούν να απαντήσουν σε σύνθετες επιχειρηματικές ερωτήσεις που μπορούν να απαντηθούν με το παράδειγμα ETL.
  • Μια αποθήκη δεδομένων παρέχει μια κοινή αποθήκη δεδομένων
  • Το ETL παρέχει μια μέθοδο μεταφοράς των δεδομένων από διάφορες πηγές σε μια αποθήκη δεδομένων.
  • Καθώς οι πηγές δεδομένων αλλάζουν, η Αποθήκη Δεδομένων θα ενημερώνεται αυτόματα.
  • Το καλά σχεδιασμένο και τεκμηριωμένο σύστημα ETL είναι σχεδόν απαραίτητο για την επιτυχία ενός έργου Data Warehouse.
  • Να επιτρέπεται η επαλήθευση κανόνων μετασχηματισμού δεδομένων, συνάθροισης και υπολογισμών.
  • Η διαδικασία ETL επιτρέπει τη σύγκριση δειγμάτων δεδομένων μεταξύ της πηγής και του συστήματος προορισμού.
  • Η διαδικασία ETL μπορεί να εκτελέσει πολύπλοκους μετασχηματισμούς και απαιτεί την επιπλέον περιοχή για την αποθήκευση των δεδομένων.
  • Το ETL βοηθά στη μετεγκατάσταση δεδομένων σε μια αποθήκη δεδομένων. Μετατρέψτε στις διάφορες μορφές και τύπους για να τηρείτε ένα συνεπές σύστημα.
  • Το ETL είναι μια προκαθορισμένη διαδικασία για την πρόσβαση και το χειρισμό των δεδομένων πηγής στη βάση δεδομένων προορισμού.
  • Το ETL στην αποθήκη δεδομένων προσφέρει βαθύ ιστορικό πλαίσιο για την επιχείρηση.
  • Βοηθά στη βελτίωση της παραγωγικότητας επειδή κωδικοποιεί και επαναχρησιμοποιεί χωρίς την ανάγκη για τεχνικές δεξιότητες.

Διαδικασία ETL σε αποθήκες δεδομένων

Το ETL είναι μια διαδικασία 3 βημάτων

Διαδικασία ETL
Διαδικασία ETL

Βήμα 1) Εκχύλιση

Σε αυτό το βήμα της αρχιτεκτονικής ETL, τα δεδομένα εξάγονται από το σύστημα πηγής στην περιοχή σταδιοποίησης. Οι μετασχηματισμοί, εάν υπάρχουν, γίνονται στην περιοχή σταδιοποίησης, έτσι ώστε η απόδοση του συστήματος πηγής να μην υποβαθμίζεται. Επίσης, εάν τα κατεστραμμένα δεδομένα αντιγραφούν απευθείας από την πηγή στη βάση δεδομένων της αποθήκης δεδομένων, η επαναφορά θα είναι μια πρόκληση. Η περιοχή σταδιοποίησης δίνει την ευκαιρία να επικυρωθούν τα εξαγόμενα δεδομένα πριν μεταφερθούν στην αποθήκη δεδομένων.

Η αποθήκη δεδομένων πρέπει να ενσωματώσει συστήματα που έχουν διαφορετικά

DBMS, Υλικό, OperaΣυστήματα και Πρωτόκολλα Επικοινωνίας. Οι πηγές θα μπορούσαν να περιλαμβάνουν παλαιού τύπου εφαρμογές όπως Mainframes, προσαρμοσμένες εφαρμογές, συσκευές σημείου επαφής όπως ATM, διακόπτες κλήσεων, αρχεία κειμένου, υπολογιστικά φύλλα, ERP, δεδομένα από προμηθευτές, συνεργάτες μεταξύ άλλων.

Ως εκ τούτου, χρειάζεται ένας λογικός χάρτης δεδομένων πριν εξαχθούν και φορτωθούν φυσικά τα δεδομένα. Αυτός ο χάρτης δεδομένων περιγράφει τη σχέση μεταξύ πηγών και δεδομένων στόχου.

Τρεις μέθοδοι εξαγωγής δεδομένων:

  1. Πλήρης εξαγωγή
  2. Μερική εξαγωγή - χωρίς ειδοποίηση ενημέρωσης.
  3. Μερική εξαγωγή- με ειδοποίηση ενημέρωσης

Ανεξάρτητα από τη μέθοδο που χρησιμοποιείται, η εξαγωγή δεν θα πρέπει να επηρεάζει την απόδοση και τον χρόνο απόκρισης των συστημάτων πηγής. Αυτά τα συστήματα πηγής είναι βάσεις δεδομένων ζωντανής παραγωγής. Οποιαδήποτε επιβράδυνση ή κλείδωμα θα μπορούσε να επηρεάσει τα αποτελέσματα της εταιρείας.

Κάποιες επικυρώσεις γίνονται κατά την εξαγωγή:

  • Συμφωνία εγγραφών με τα δεδομένα πηγής
  • Βεβαιωθείτε ότι δεν έχουν φορτωθεί ανεπιθύμητα/ανεπιθύμητα δεδομένα
  • Έλεγχος τύπου δεδομένων
  • Καταργήστε όλους τους τύπους διπλότυπων/κατακερματισμένων δεδομένων
  • Ελέγξτε εάν όλα τα κλειδιά είναι στη θέση τους ή όχι

Βήμα 2) Μεταμόρφωση

Τα δεδομένα που εξάγονται από τον διακομιστή πηγής είναι ακατέργαστα και δεν μπορούν να χρησιμοποιηθούν στην αρχική τους μορφή. Επομένως χρειάζεται καθαρισμός, χαρτογράφηση και μετασχηματισμός. Στην πραγματικότητα, αυτό είναι το βασικό βήμα όπου η διαδικασία ETL προσθέτει αξία και αλλάζει τα δεδομένα έτσι ώστε να μπορούν να δημιουργηθούν διορατικές αναφορές BI.

Είναι μια από τις σημαντικές έννοιες ETL όπου εφαρμόζετε ένα σύνολο συναρτήσεων σε εξαγόμενα δεδομένα. Τα δεδομένα που δεν απαιτούν μετασχηματισμό ονομάζονται ως άμεση κίνηση or περάσουν μέσα από δεδομένα.

Στο βήμα μετασχηματισμού, μπορείτε να εκτελέσετε προσαρμοσμένες λειτουργίες σε δεδομένα. Για παράδειγμα, εάν ο χρήστης θέλει το άθροισμα των εσόδων από πωλήσεις που δεν βρίσκονται στη βάση δεδομένων. Ή αν το όνομα και το επώνυμο σε έναν πίνακα βρίσκονται σε διαφορετικές στήλες. Είναι δυνατή η συνένωση τους πριν από τη φόρτωση.

Θέματα Ενοποίησης Δεδομένων
Θέματα Ενοποίησης Δεδομένων

Ακολουθούν δεδομένα Integrity Προβλήματα:

  1. Διαφορετική ορθογραφία του ίδιου ατόμου όπως Jon, John, κ.λπ.
  2. Υπάρχουν πολλοί τρόποι για να υποδηλώσετε το όνομα της εταιρείας όπως η Google, η Google Inc.
  3. Χρήση διαφορετικών ονομάτων όπως Cleaveland, Cleveland.
  4. Μπορεί να υπάρχει περίπτωση να δημιουργούνται διαφορετικοί αριθμοί λογαριασμού από διάφορες εφαρμογές για τον ίδιο πελάτη.
  5. Σε ορισμένα δεδομένα τα απαιτούμενα αρχεία παραμένουν κενά
  6. Το μη έγκυρο προϊόν που συλλέγεται στο POS καθώς η μη αυτόματη καταχώριση μπορεί να οδηγήσει σε λάθη.

Οι επικυρώσεις γίνονται σε αυτό το στάδιο

  • Φιλτράρισμα – Επιλέξτε μόνο ορισμένες στήλες για φόρτωση
  • Χρήση κανόνων και πινάκων αναζήτησης για την τυποποίηση δεδομένων
  • Μετατροπή συνόλου χαρακτήρων και χειρισμός κωδικοποίησης
  • Μετατροπή μονάδων μετρήσεων όπως Ημερομηνία Ώρα Μετατροπή, μετατροπές νομισμάτων, αριθμητικές μετατροπές κ.λπ.
  • Έλεγχος επικύρωσης ορίου δεδομένων. Για παράδειγμα, η ηλικία δεν μπορεί να υπερβαίνει τα δύο ψηφία.
  • Επικύρωση ροής δεδομένων από την περιοχή σταδιοποίησης στους ενδιάμεσους πίνακες.
  • Τα υποχρεωτικά πεδία δεν πρέπει να μείνουν κενά.
  • Καθαρισμός (για παράδειγμα, αντιστοίχιση NULL σε 0 ή Φύλο Αρσενικό σε "M" και Γυναίκα σε "F" κ.λπ.)
  • Διαχωρισμός μιας στήλης σε πολλαπλάσια και συγχώνευση πολλών στηλών σε μία στήλη.
  • Μεταφορά σειρών και στηλών,
  • Χρησιμοποιήστε αναζητήσεις για συγχώνευση δεδομένων
  • Χρησιμοποιώντας οποιαδήποτε σύνθετη επικύρωση δεδομένων (π.χ., εάν οι δύο πρώτες στήλες στη σειρά είναι κενές, τότε απορρίπτει αυτόματα τη σειρά από την επεξεργασία)

Βήμα 3) Φόρτωση

Η φόρτωση δεδομένων στη βάση δεδομένων αποθήκης δεδομένων στόχου είναι το τελευταίο βήμα της διαδικασίας ETL. Σε μια τυπική αποθήκη δεδομένων, τεράστιος όγκος δεδομένων πρέπει να φορτωθεί σε σχετικά σύντομο χρονικό διάστημα (νύχτες). Ως εκ τούτου, η διαδικασία φόρτωσης θα πρέπει να βελτιστοποιηθεί για απόδοση.

Σε περίπτωση αποτυχίας φόρτωσης, οι μηχανισμοί ανάκτησης θα πρέπει να ρυθμιστούν ώστε να ξεκινούν ξανά από το σημείο αστοχίας χωρίς απώλεια ακεραιότητας δεδομένων. Οι διαχειριστές της αποθήκης δεδομένων πρέπει να παρακολουθούν, να συνεχίσουν, να ακυρώσουν φορτώσεις σύμφωνα με την επικρατούσα απόδοση του διακομιστή.

Τύποι φόρτωσης:

  • Αρχικό φορτίο — συμπλήρωση όλων των πινάκων Data Warehouse
  • Αυξητικό Φορτίο — περιοδική εφαρμογή συνεχών αλλαγών όπως όταν χρειάζεται.
  • Πλήρης ανανέωση — διαγραφή των περιεχομένων ενός ή περισσότερων πινάκων και επαναφόρτωση με νέα δεδομένα.

Φόρτωση επαλήθευσης

  • Βεβαιωθείτε ότι τα δεδομένα πεδίου κλειδιού δεν λείπουν ούτε είναι μηδενικά.
  • Δοκιμή προβολών μοντελοποίησης με βάση τους πίνακες προορισμού.
  • Ελέγξτε ότι οι συνδυασμένες τιμές και τα υπολογισμένα μέτρα.
  • Έλεγχοι δεδομένων στον πίνακα διαστάσεων καθώς και στον πίνακα ιστορικού.
  • Ελέγξτε τις αναφορές BI στον φορτωμένο πίνακα γεγονότων και διαστάσεων.

Εργαλεία ETL

Υπάρχουν πολλά Εργαλεία ETL είναι διαθέσιμα στην αγορά. Εδώ, είναι μερικά από τα πιο σημαντικά:

1. MarkLogic:

Η MarkLogic είναι μια λύση αποθήκευσης δεδομένων που καθιστά την ενοποίηση δεδομένων ευκολότερη και ταχύτερη χρησιμοποιώντας μια σειρά επιχειρηματικών λειτουργιών. Μπορεί να υποβάλει ερωτήματα σε διαφορετικούς τύπους δεδομένων, όπως έγγραφα, σχέσεις και μεταδεδομένα.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle είναι η κορυφαία βάση δεδομένων στον κλάδο. Προσφέρει μεγάλη γκάμα λύσεων Data Warehouse τόσο για τις εγκαταστάσεις όσο και για το cloud. Βοηθά στη βελτιστοποίηση των εμπειριών των πελατών αυξάνοντας τη λειτουργική αποτελεσματικότητα.

https://www.oracle.com/index.html


3. Amazon RedShift:

Amazon Το Redshift είναι εργαλείο Datawarehouse. Είναι ένα απλό και οικονομικά αποδοτικό εργαλείο για την ανάλυση όλων των τύπων δεδομένων με χρήση προτύπων SQL και υπάρχοντα εργαλεία BI. Επιτρέπει επίσης την εκτέλεση σύνθετων ερωτημάτων σε petabyte δομημένων δεδομένων.

https://aws.amazon.com/redshift/?nc2=h_m1

Εδώ είναι μια πλήρης λίστα χρήσιμων Εργαλεία αποθήκης δεδομένων.

καλυτερα πρακτικες διεργασια ETL

Ακολουθούν οι βέλτιστες πρακτικές για τα βήματα της διαδικασίας ETL:

Μην προσπαθήσετε ποτέ να καθαρίσετε όλα τα δεδομένα:

Κάθε οργανισμός θα ήθελε να έχει όλα τα δεδομένα καθαρά, αλλά οι περισσότεροι από αυτούς δεν είναι έτοιμοι να πληρώσουν για να περιμένουν ή δεν είναι έτοιμοι να περιμένουν. Για να τα καθαρίσετε όλα απλά θα χρειαζόταν πολύς χρόνος, επομένως είναι καλύτερα να μην προσπαθήσετε να καθαρίσετε όλα τα δεδομένα.

Μην καθαρίζετε ποτέ τίποτα:

Σχεδιάζετε πάντα να καθαρίζετε κάτι γιατί ο μεγαλύτερος λόγος για την κατασκευή της Αποθήκης Δεδομένων είναι να προσφέρετε καθαρότερα και πιο αξιόπιστα δεδομένα.

Προσδιορίστε το κόστος καθαρισμού των δεδομένων:

Πριν καθαρίσετε όλα τα βρώμικα δεδομένα, είναι σημαντικό να προσδιορίσετε το κόστος καθαρισμού για κάθε ακάθαρτο στοιχείο δεδομένων.

Για να επιταχύνετε την επεξεργασία ερωτημάτων, έχετε βοηθητικές προβολές και ευρετήρια:

Για να μειώσετε το κόστος αποθήκευσης, αποθηκεύστε συνοπτικά δεδομένα σε κασέτες δίσκου. Επίσης, απαιτείται η αντιστάθμιση μεταξύ του όγκου των δεδομένων που θα αποθηκευτούν και της λεπτομερούς χρήσης τους. Ανταλλαγή σε επίπεδο ευκρίνειας των δεδομένων για μείωση του κόστους αποθήκευσης.

Σύνοψη

  • Το ETL σημαίνει Extract, Transform and Load.
  • Το ETL παρέχει μια μέθοδο μεταφοράς δεδομένων από διάφορες πηγές σε α αποθήκη δεδομένων.
  • Στο πρώτο βήμα εξαγωγής, τα δεδομένα εξάγονται από το σύστημα πηγής στην περιοχή σταδιοποίησης.
  • Στο βήμα μετασχηματισμού, τα δεδομένα που εξάγονται από την πηγή καθαρίζονται και μετασχηματίζονται.
  • Η φόρτωση δεδομένων στην αποθήκη δεδομένων στόχου είναι το τελευταίο βήμα της διαδικασίας ETL.