Απελευθερώνοντας τη δύναμη των εργαλείων ETL για το AWS

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

Θυμάμαι εποχές από 15 έως 20 χρόνια πριν, όταν ο όρος ETL ήταν κάτι που μόνο λίγοι καταλάβαιναν τι είναι. Όταν διάφορες προσαρμοσμένες εργασίες παρτίδας είχαν την αιχμή τους στο υλικό εσωτερικής εγκατάστασης.

Πολλά έργα έκαναν κάποια μορφή ETL. Ακόμα κι αν δεν ήξεραν, να το ονομάσουν ΕΤΛ. Κατά τη διάρκεια αυτής της περιόδου, όποτε εξήγησα οποιοδήποτε σχέδιο που περιλάμβανε διαδικασίες ETL, και τους καλούσα και τις περιέγραφα με αυτόν τον τρόπο, έμοιαζε σχεδόν σαν μια άλλη παγκόσμια τεχνολογία, κάτι πολύ σπάνιο.

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

Τελικά, η μετεγκατάσταση στο cloud σημαίνει λήψη των δεδομένων από την εσωτερική εγκατάσταση ως πηγή και μετατροπή τους σε βάσεις δεδομένων cloud σε μια μορφή που είναι όσο το δυνατόν πιο συμβατή με την αρχιτεκτονική του cloud. Ακριβώς η δουλειά του εργαλείου ETL.

Ιστορία του ETL και πώς συνδέεται με το παρόν

Πηγή: aws.amazon.com

Οι κύριες λειτουργίες του ETL ήταν πάντα οι ίδιες.

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

Συνήθως σήμαινε τη λήψη αρχείων στο σύστημα αρχείων Unix ως είσοδο και προεπεξεργασία, επεξεργασία και μεταεπεξεργασία.

Θα μπορούσατε να δείτε το επαναχρησιμοποιήσιμο μοτίβο των ονομάτων φακέλων όπως:

  • Εισαγωγή
  • Παραγωγή
  • Λάθος
  • Αρχείο

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

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

Σήμερα, δεν υπάρχουν συστήματα αρχείων Unix (όχι με τον ίδιο τρόπο όπως πριν)—ίσως και αρχεία. Τώρα υπάρχουν API – διεπαφές προγραμματισμού εφαρμογών. Μπορείτε, αλλά δεν χρειάζεται να έχετε ένα αρχείο ως μορφή εισόδου.

Όλα μπορούν να αποθηκευτούν στη μνήμη cache. Μπορεί ακόμα να είναι αρχείο. Ό,τι κι αν είναι, πρέπει να ακολουθεί κάποια δομημένη μορφή. Στις περισσότερες περιπτώσεις, αυτό σημαίνει μορφή JSON ή XML. Σε ορισμένες περιπτώσεις, η παλιά καλή μορφή τιμής διαχωρισμένου με κόμματα (CSV) θα το κάνει επίσης.

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

Μεταμόρφωση

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

Όπως συνέβαινε παλαιότερα, τα δεδομένα περνούσαν από κάποια πολύπλοκη προσαρμοσμένη λογική σταδιακής σταδιοποίησης διαδικαστικών δεδομένων Pro-C ή PL/SQL, μετατροπής δεδομένων και αποθήκευσης σχήματος στόχου δεδομένων. Ήταν μια παρόμοια υποχρεωτική τυπική διαδικασία όπως ήταν ο διαχωρισμός των εισερχόμενων αρχείων σε υποφακέλους με βάση το στάδιο επεξεργασίας του αρχείου.

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

  Πώς να χειριστείτε αρχεία στην Python

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

Φορτώνω

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

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

ETL στο σημερινό περιβάλλον σύννεφων

Εάν σκοπεύετε να μεταφέρετε τα δεδομένα σας από εσωτερική εγκατάσταση στο cloud (AWS), χρειάζεστε ένα εργαλείο ETL. Δεν πάει χωρίς αυτό, γι’ αυτό αυτό το κομμάτι της αρχιτεκτονικής του cloud έγινε ίσως το πιο σημαντικό κομμάτι του παζλ. Εάν αυτό το βήμα είναι λάθος, θα ακολουθήσει οτιδήποτε άλλο στη συνέχεια, μοιράζοντας την ίδια μυρωδιά παντού.

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

  • Data Migration Service (DMS) – μια εγγενής υπηρεσία από το AWS.
  • Informatica ETL – πιθανώς ο κύριος εμπορικός παίκτης στον κόσμο της ETL, μετατρέποντας με επιτυχία την επιχείρησή της από on-premise σε cloud.
  • Matillion για AWS – ένας σχετικά νέος παίκτης σε περιβάλλοντα cloud. Δεν είναι εγγενές στο AWS, αλλά εγγενές στο cloud. Με τίποτα σαν ιστορία συγκρίσιμο με την Informatica.

AWS DMS ως ETL

Πηγή: aws.amazon.com

Το AWS Data Migration Services (DMS) είναι μια πλήρως διαχειριζόμενη υπηρεσία που σας δίνει τη δυνατότητα να μετεγκαταστήσετε δεδομένα από διαφορετικές πηγές στο AWS. Υποστηρίζει πολλαπλά σενάρια μετεγκατάστασης.

  • Ομοιογενείς μεταναστεύσεις (π.χ. Oracle στο Amazon RDS για Oracle).
  • Ετερογενείς μεταναστεύσεις (π.χ. Oracle στο Amazon Aurora).

Το DMS μπορεί να μεταφέρει δεδομένα από διάφορες πηγές, συμπεριλαμβανομένων βάσεων δεδομένων, αποθηκών δεδομένων και εφαρμογών SaaS, σε διάφορους στόχους, όπως το Amazon S3, το Amazon Redshift και το Amazon RDS.

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

Μπορείτε να ορίσετε εργασίες DMS σε μορφή JSON για να αυτοματοποιήσετε διάφορες εργασίες μετασχηματισμού για εσάς κατά την αντιγραφή των δεδομένων από την πηγή στον στόχο:

  • Συγχωνεύστε πολλούς πίνακες προέλευσης ή στήλες σε μια ενιαία τιμή.
  • Διαχωρίστε την τιμή πηγής σε πολλαπλά πεδία προορισμού.
  • Αντικαταστήστε τα δεδομένα προέλευσης με μια άλλη τιμή στόχο.
  • Καταργήστε τυχόν περιττά δεδομένα ή δημιουργήστε εντελώς νέα δεδομένα με βάση το περιβάλλον εισαγωγής.

Αυτό σημαίνει – ναι, μπορείτε σίγουρα να χρησιμοποιήσετε το DMS ως εργαλείο ETL για το έργο σας. Ίσως δεν θα είναι τόσο περίπλοκο όσο οι άλλες επιλογές παρακάτω, αλλά θα κάνει τη δουλειά αν ορίσετε τον στόχο ξεκάθαρα εκ των προτέρων.

Συντελεστής καταλληλότητας

Αν και το DMS παρέχει ορισμένες δυνατότητες ETL, αφορά κυρίως σενάρια μετεγκατάστασης δεδομένων. Υπάρχουν ορισμένα σενάρια όπου μπορεί να είναι καλύτερο να χρησιμοποιήσετε DMS αντί για εργαλεία ETL όπως το Informatica ή το Matillion, ωστόσο:

  8 καλύτερες εφαρμογές/εργαλεία σαρωτή αποδείξεων για την παρακολούθηση των εξόδων
  • Το DMS μπορεί να χειριστεί ομοιογενείς μετεγκαταστάσεις όπου οι βάσεις δεδομένων προέλευσης και προορισμού είναι οι ίδιες. Αυτό μπορεί να είναι ένα όφελος εάν ο στόχος είναι η μετεγκατάσταση δεδομένων μεταξύ βάσεων δεδομένων του ίδιου τύπου, όπως η Oracle στην Oracle ή η MySQL στη MySQL.
  • Το DMS παρέχει ορισμένες βασικές δυνατότητες μετασχηματισμού δεδομένων και προσαρμογής, αλλά μπορεί να μην είναι εξαιρετικά ώριμο από αυτή την άποψη. Αυτό μπορεί να είναι ακόμα ένα όφελος εάν έχετε περιορισμένες ανάγκες μετασχηματισμού δεδομένων.
  • Οι ανάγκες ποιότητας δεδομένων και διακυβέρνησης είναι, γενικά, αρκετά περιορισμένες με το DMS. Αλλά αυτοί είναι τομείς που μπορούν να βελτιωθούν σε μεταγενέστερες φάσεις του έργου με άλλα εργαλεία, πιο καθορισμένα για αυτόν τον σκοπό. Ίσως χρειαστεί να γίνει το τμήμα ETL όσο πιο απλά γίνεται. Τότε το DMS είναι μια τέλεια επιλογή.
  • Το DMS μπορεί να είναι μια πιο οικονομική επιλογή για οργανισμούς με περιορισμένους προϋπολογισμούς. Το DMS έχει ένα απλούστερο μοντέλο τιμολόγησης από τα εργαλεία ETL όπως το Informatica ή το Matillion, το οποίο μπορεί να διευκολύνει τους οργανισμούς να προβλέψουν και να διαχειριστούν το κόστος τους.
  • Matillion ETL

    Πηγή: matillion.com

    είναι μια εγγενής λύση στο cloud και μπορείτε να τη χρησιμοποιήσετε για να ενσωματώσετε δεδομένα από διάφορες πηγές, συμπεριλαμβανομένων βάσεων δεδομένων, εφαρμογών SaaS και συστημάτων αρχείων. Προσφέρει μια οπτική διεπαφή για την κατασκευή αγωγών ETL και υποστηρίζει διάφορες υπηρεσίες AWS, συμπεριλαμβανομένων των Amazon S3, Amazon Redshift και Amazon RDS.

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

    Από την άλλη πλευρά, το Matillion είναι ένα είδος tabula rasa. Έχει ορισμένες προκαθορισμένες πιθανές λειτουργίες, αλλά πρέπει να το κωδικοποιήσετε για να το ζωντανέψετε. Δεν μπορείτε να περιμένετε από τη Matillion να κάνει τη δουλειά για εσάς από το κουτί, ακόμα κι αν η ικανότητα υπάρχει εξ ορισμού.

    Ο Matillion συχνά περιέγραψε τον εαυτό του ως ELT παρά ως εργαλείο ETL. Αυτό σημαίνει ότι είναι πιο φυσικό για τον Matillion να κάνει ένα φορτίο πριν από τον μετασχηματισμό.

    Συντελεστής καταλληλότητας

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

    Είναι φυσικό να περιμένουμε ότι αυτό θα αντιμετωπιστεί καλύτερα στο σύστημα βάσης δεδομένων προορισμού και θα αφήσει στο Matillion μόνο μια απλή εργασία φόρτωσης 1:1—πολύ λιγότερες ευκαιρίες για να το καταστρέψετε με προσαρμοσμένο κώδικα εδώ.

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

    Το Matillion μπορεί να αυξηθεί ή να μειωθεί ανάλογα με τις ανάγκες του οργανισμού, αλλά μπορεί να μην είναι τόσο αποτελεσματικό για το χειρισμό πολύ μεγάλου όγκου δεδομένων. Η παράλληλη επεξεργασία είναι αρκετά περιορισμένη. Από αυτή την άποψη, η Informatica είναι σίγουρα μια καλύτερη επιλογή επειδή είναι πιο προηγμένη και ταυτόχρονα πλούσια σε χαρακτηριστικά.

    Ωστόσο, για πολλούς οργανισμούς, το Matillion για AWS μπορεί να παρέχει επαρκή επεκτασιμότητα και δυνατότητες παράλληλης επεξεργασίας για την κάλυψη των αναγκών τους.

    Πληροφορική ΕΤΛ

    Πηγή: informatica.com

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

      9 Καλύτερα Microsoft WSUS εναλλακτικά εργαλεία διαχείρισης ενημερώσεων κώδικα για SMB

    Μερικά από τα κύρια χαρακτηριστικά του Informatica για AWS περιλαμβάνουν:

  • Η Informatica έχει σχεδιαστεί για να αυξάνει ή να μειώνει την κλίμακα με βάση τις πραγματικές ανάγκες. Μπορεί να χειριστεί μεγάλους όγκους δεδομένων και μπορεί να χρησιμοποιηθεί για την ενοποίηση δεδομένων από διάφορες πηγές, όπως βάσεις δεδομένων, αποθήκες δεδομένων και εφαρμογές SaaS.
  • Η Informatica παρέχει μια σειρά από χαρακτηριστικά ασφαλείας, όπως κρυπτογράφηση, έλεγχοι πρόσβασης και ίχνη ελέγχου. Συμμορφώνεται με διάφορα βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HIPAA, PCI DSS και SOC 2.
  • Η Informatica παρέχει μια οπτική διεπαφή για την κατασκευή αγωγών ETL, η οποία διευκολύνει τους χρήστες να δημιουργούν και να διαχειρίζονται ροές εργασίας ενοποίησης δεδομένων. Παρέχει επίσης μια σειρά από προκατασκευασμένες συνδέσεις και πρότυπα που μπορούν να χρησιμοποιηθούν για τη σύνδεση των συστημάτων και την ενεργοποίηση της διαδικασίας ολοκλήρωσης.
  • Η Informatica ενσωματώνεται με διάφορες υπηρεσίες AWS, συμπεριλαμβανομένων των Amazon S3, Amazon Redshift και Amazon RDS. Αυτό καθιστά εύκολη την ενσωμάτωση δεδομένων σε διάφορες υπηρεσίες AWS.
  • Συντελεστής καταλληλότητας

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

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

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

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

    Επίσης, το Informatica μπορεί να μην είναι τόσο αποτελεσματικό για την ενοποίηση δεδομένων από πηγές που δεν είναι AWS. Από αυτή την άποψη, το DMS ή το Matillion θα μπορούσαν να είναι μια καλύτερη επιλογή.

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

    Τελικές Λέξεις

    Όπως συμβαίνει σε πολλές άλλες περιπτώσεις, δεν υπάρχει λύση που να ταιριάζει σε όλους, ακόμη και κάτι όπως το εργαλείο ETL στο AWS.

    Μπορείτε να επιλέξετε την πιο περίπλοκη, πλούσια σε χαρακτηριστικά και ακριβή λύση με την Informatica. Αλλά είναι λογικό να κάνετε τα περισσότερα εάν:

    • Το έργο είναι αρκετά μεγάλο και είστε βέβαιοι ότι ολόκληρη η μελλοντική λύση και οι πηγές δεδομένων συνδέονται επίσης με την Informatica.
    • Μπορείτε να αντέξετε οικονομικά να φέρετε μια ομάδα εξειδικευμένων προγραμματιστών και διαμορφωτών Informatica.
    • Μπορείτε να εκτιμήσετε την ισχυρή ομάδα υποστήριξης πίσω σας και να πληρώνετε καλά για αυτό.

    Εάν κάτι από πάνω είναι απενεργοποιημένο, μπορείτε να το δοκιμάσετε στο Matillion:

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

    Για οτιδήποτε ακόμη λιγότερο περίπλοκο, η προφανής επιλογή είναι το DMS για το AWS ως εγγενή υπηρεσία, που πιθανότατα μπορεί να εξυπηρετήσει καλά τον σκοπό σας.

    Στη συνέχεια, ρίξτε μια ματιά στα εργαλεία μετασχηματισμού δεδομένων για να διαχειριστείτε καλύτερα τα δεδομένα σας.