Λογότυπο Zephyrnet

Ξεκλειδώστε τις πληροφορίες για το Amazon RDS για δεδομένα MySQL με ενσωμάτωση μηδενικού ETL στο Amazon Redshift | Υπηρεσίες Ιστού της Amazon

Ημερομηνία:

Amazon Relational Database Service (Amazon RDS) για MySQL μηδενική ενσωμάτωση ETL με Amazon RedShift ήταν ανακοίνωσε σε προεπισκόπηση στο AWS re:Invent 2023 για Amazon RDS για MySQL έκδοση 8.0.28 ή νεότερη. Σε αυτήν την ανάρτηση, παρέχουμε οδηγίες βήμα προς βήμα για το πώς να ξεκινήσετε με λειτουργικά αναλυτικά στοιχεία σχεδόν σε πραγματικό χρόνο χρησιμοποιώντας αυτήν τη δυνατότητα. Αυτή η ανάρτηση είναι μια συνέχεια της σειράς zero-ETL που ξεκίνησε με Οδηγός έναρξης για λειτουργικές αναλύσεις σχεδόν σε πραγματικό χρόνο χρησιμοποιώντας την ενσωμάτωση Amazon Aurora zero-ETL με το Amazon Redshift.

Προκλήσεις

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

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

Η ενοποίηση μηδενικού ETL επικεντρώνεται στην απλούστευση της τελευταίας προσέγγισης.

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

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

Μηδέν-ΕΤΛ

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

Στην AWS, σημειώνουμε σταθερή πρόοδο προς την κατεύθυνση της δημιουργίας μας όραση μηδενικού ETL στη ζωή. Οι ακόλουθες πηγές υποστηρίζονται επί του παρόντος για ενσωματώσεις μηδενικού ETL:

Όταν δημιουργείτε μια ενοποίηση μηδενικού ETL για το Amazon Redshift, συνεχίζετε να πληρώνετε για την υποκείμενη βάση δεδομένων πηγής και στοχεύετε τη χρήση βάσης δεδομένων Redshift. Αναφέρομαι σε Κόστος ολοκλήρωσης μηδενικού ETL (Προεπισκόπηση) για περισσότερες πληροφορίες.

Με την ενοποίηση μηδενικού ETL με το Amazon Redshift, η ενοποίηση αναπαράγει δεδομένα από τη βάση δεδομένων προέλευσης στην αποθήκη δεδομένων στόχου. Τα δεδομένα γίνονται διαθέσιμα στο Amazon Redshift μέσα σε λίγα δευτερόλεπτα, επιτρέποντάς σας να χρησιμοποιήσετε τις δυνατότητες ανάλυσης του Amazon Redshift και δυνατότητες όπως η κοινή χρήση δεδομένων, η αυτόνομη βελτιστοποίηση φόρτου εργασίας, η κλιμάκωση συγχρονισμού, η μηχανική εκμάθηση και πολλά άλλα. Μπορείτε να συνεχίσετε με την επεξεργασία των συναλλαγών σας στο Amazon RDS ή Amazon-Aurora ενώ χρησιμοποιείτε ταυτόχρονα το Amazon Redshift για φόρτους εργασίας αναλυτικών στοιχείων, όπως αναφορές και πίνακες εργαλείων.

Το παρακάτω διάγραμμα απεικονίζει αυτή την αρχιτεκτονική.

Διάγραμμα αρχιτεκτονικής AWS που παρουσιάζει παράδειγμα αρχιτεκτονικής μηδενικού ETL

Επισκόπηση λύσεων

Ας σκεφτούμε ΕΙΣΙΤΗΡΙΟ, ένας φανταστικός ιστότοπος όπου οι χρήστες αγοράζουν και πωλούν εισιτήρια διαδικτυακά για αθλητικές εκδηλώσεις, παραστάσεις και συναυλίες. Τα δεδομένα συναλλαγών από αυτόν τον ιστότοπο φορτώνονται σε μια βάση δεδομένων Amazon RDS for MySQL 8.0.28 (ή νεότερης έκδοσης). Οι επιχειρηματικοί αναλυτές της εταιρείας θέλουν να δημιουργήσουν μετρήσεις για να προσδιορίσουν την κίνηση των εισιτηρίων με την πάροδο του χρόνου, τα ποσοστά επιτυχίας για τους πωλητές και τις εκδηλώσεις, τους χώρους και τις εποχές με τις καλύτερες πωλήσεις. Θα ήθελαν να λάβουν αυτές τις μετρήσεις σε σχεδόν πραγματικό χρόνο χρησιμοποιώντας μια ενοποίηση μηδενικού ETL.

Η ενοποίηση έχει ρυθμιστεί μεταξύ του Amazon RDS για MySQL (πηγή) και του Amazon Redshift (προορισμός). Τα δεδομένα συναλλαγών από την πηγή ανανεώνονται σχεδόν σε πραγματικό χρόνο στον προορισμό, ο οποίος επεξεργάζεται αναλυτικά ερωτήματα.

Μπορείτε να χρησιμοποιήσετε είτε την επιλογή χωρίς διακομιστή είτε ένα κρυπτογραφημένο σύμπλεγμα RA3 για το Amazon Redshift. Για αυτήν την ανάρτηση, χρησιμοποιούμε μια προβλεπόμενη βάση δεδομένων RDS και μια προβλεπόμενη αποθήκη δεδομένων Redshift.

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική υψηλού επιπέδου.

Αρχιτεκτονική μηδενικού ETL υψηλού επιπέδου για περίπτωση χρήσης δεδομένων TICKIT

Τα παρακάτω είναι τα βήματα που απαιτούνται για τη ρύθμιση της ενοποίησης μηδενικού ETL. Αυτά τα βήματα μπορούν να γίνουν αυτόματα από τον οδηγό zero-ETL, αλλά θα χρειαστεί επανεκκίνηση εάν ο οδηγός αλλάξει τη ρύθμιση για το Amazon RDS ή το Amazon Redshift. Θα μπορούσατε να κάνετε αυτά τα βήματα με μη αυτόματο τρόπο, εάν δεν έχετε ήδη διαμορφώσει τις παραμέτρους, και να εκτελέσετε τις επανεκκινήσεις με την άνεσή σας. Για τους πλήρεις οδηγούς έναρξης, ανατρέξτε στο Εργασία με ενσωματώσεις Amazon RDS zero-ETL με το Amazon Redshift (προεπισκόπηση) και Εργασία με ενσωματώσεις μηδενικού ETL.

  1. Διαμορφώστε την πηγή RDS για MySQL με μια προσαρμοσμένη ομάδα παραμέτρων DB.
  2. Διαμορφώστε το σύμπλεγμα Redshift για να ενεργοποιήσετε αναγνωριστικά με διάκριση πεζών-κεφαλαίων.
  3. Διαμορφώστε τα απαιτούμενα δικαιώματα.
  4. Δημιουργήστε την ενοποίηση μηδενικού ETL.
  5. Δημιουργήστε μια βάση δεδομένων από την ενσωμάτωση στο Amazon Redshift.

Διαμορφώστε την πηγή RDS για MySQL με μια προσαρμοσμένη ομάδα παραμέτρων DB

Για να δημιουργήσετε μια βάση δεδομένων RDS για MySQL, ολοκληρώστε τα παρακάτω βήματα:

  1. Στην κονσόλα Amazon RDS, δημιουργήστε μια ομάδα παραμέτρων DB που ονομάζεται zero-etl-custom-pg.

Η ενοποίηση Zero-ETL λειτουργεί χρησιμοποιώντας δυαδικά αρχεία καταγραφής (binlogs) που δημιουργούνται από τη βάση δεδομένων MySQL. Για να ενεργοποιήσετε τα binlogs στο Amazon RDS για MySQL, πρέπει να ενεργοποιήσετε ένα συγκεκριμένο σύνολο παραμέτρων.

  1. Ορίστε τις ακόλουθες ρυθμίσεις παραμέτρων συμπλέγματος binlog:
    • binlog_format = ROW
    • binlog_row_image = FULL
    • binlog_checksum = NONE

Επιπλέον, βεβαιωθείτε ότι το binlog_row_value_options η παράμετρος δεν έχει οριστεί σε PARTIAL_JSON. Από προεπιλογή, αυτή η παράμετρος δεν έχει οριστεί.

  1. Επιλέξτε Βάσεις Δεδομένων στο παράθυρο πλοήγησης και, στη συνέχεια, επιλέξτε Δημιουργία βάσης δεδομένων.
  2. Για Έκδοση κινητήρα, επιλέξτε MySQL 8.0.28 (ή υψηλότερο).

Επιλεγμένη MySQL Community edition Engine έκδοση 8.0.36

  1. Για πρότυπα, Επιλέξτε παραγωγή.
  2. Για Διαθεσιμότητα και αντοχή, επιλέξτε είτε Παράδειγμα Multi-AZ DB or Ενιαία παρουσία DB (Τα συμπλέγματα Multi-AZ DB δεν υποστηρίζονται, από τη στιγμή που γράφονται αυτές οι γραμμές).
  3. Για Αναγνωριστικό παρουσίας DB, εισαγω zero-etl-source-rms.

Επιλεγμένο πρότυπο παραγωγής, παρουσία DB Multi-AZ και αναγνωριστικό παρουσίας DB zero-etl-source-rms

  1. Κάτω από Διαμόρφωση στιγμιότυπου, Επιλέξτε Βελτιστοποιημένες τάξεις μνήμης και επιλέξτε την περίπτωση db.r6g.large, το οποίο θα πρέπει να επαρκεί για περίπτωση χρήσης TICKIT.

Επιλέχθηκε db.r6g.large για κλάση παρουσίας DB στη ρύθμιση παραμέτρων παρουσίας

  1. Κάτω από Επιπλέον διαμόρφωση, Για Ομάδα παραμέτρων συμπλέγματος DB, επιλέξτε την ομάδα παραμέτρων που δημιουργήσατε νωρίτερα (zero-etl-custom-pg).

Επιλεγμένη ομάδα παραμέτρων DB zero-etl-custom-pg στην περιοχή Πρόσθετη διαμόρφωση

  1. Επιλέξτε Δημιουργία βάσης δεδομένων.

Σε λίγα λεπτά, θα πρέπει να γυρίσει μια βάση δεδομένων RDS για MySQL ως πηγή για την ενσωμάτωση μηδενικού ETL.

Η κατάσταση παρουσίας RDS εμφανίζεται ως Διαθέσιμο

Διαμορφώστε τον προορισμό Redshift

Αφού δημιουργήσετε το σύμπλεγμα DB προέλευσης, πρέπει να δημιουργήσετε και να διαμορφώσετε μια αποθήκη δεδομένων στόχου στο Amazon Redshift. Η αποθήκη δεδομένων πρέπει να πληροί τις ακόλουθες απαιτήσεις:

  • Χρησιμοποιώντας έναν τύπο κόμβου RA3 (ra3.16xlarge, ra3.4xlarge, ή ra3.xlplus) ή Χωρίς διακομιστή Amazon Redshift
  • Κρυπτογραφημένο (εάν χρησιμοποιείται προβλεπόμενο σύμπλεγμα)

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

  1. Στην κονσόλα Amazon Redshift, επιλέξτε διαμορφώσεις και στη συνέχεια επιλέξτε Διαχείριση φόρτου εργασίας.
  2. Στην ενότητα της ομάδας παραμέτρων, επιλέξτε Δημιουργία.
  3. Δημιουργήστε μια νέα ομάδα παραμέτρων με όνομα zero-etl-rms.
  4. Επιλέξτε Επεξεργασία παραμέτρων και αλλάξτε την τιμή του enable_case_sensitive_identifier προς την True.
  5. Επιλέξτε Αποθήκευση.

Μπορείτε επίσης να χρησιμοποιήσετε το Διεπαφή γραμμής εντολών AWS εντολή (AWS CLI). ενημέρωση-ομάδα εργασίας για Redshift Serverless:

aws redshift-serverless update-workgroup --workgroup-name <your-workgroup-name> --config-parameters parameterKey=enable_case_sensitive_identifier,parameterValue=true

Ρύθμιση ομάδας παραμέτρων συμπλέγματος

  1. Επιλέξτε Προβλεπόμενος πίνακας εργαλείων συμπλέγματος.

Στο επάνω μέρος του παραθύρου της κονσόλας σας, θα δείτε ένα Δοκιμάστε τις νέες δυνατότητες του Amazon Redshift σε προεπισκόπηση πανό.

  1. Επιλέξτε Δημιουργία συμπλέγματος προεπισκόπησης.

Δημιουργία συμπλέγματος προεπισκόπησης

  1. Για Προεπισκόπηση κομματιού, επέλεξε preview_2023.
  2. Για Τύπος κόμβου, επιλέξτε έναν από τους υποστηριζόμενους τύπους κόμβων (για αυτήν την ανάρτηση, χρησιμοποιούμε ra3.xlplus).

Επιλεγμένος τύπος κόμβου ra3.xlplus για σύμπλεγμα προεπισκόπησης

  1. Κάτω από Πρόσθετες διαμορφώσεις, επεκτείνουν Διαμορφώσεις βάσης δεδομένων.
  2. Για Ομάδες παραμέτρων, επιλέξτε zero-etl-rms.
  3. Για κρυπτογράφηση, Επιλέξτε Χρησιμοποιήστε την υπηρεσία διαχείρισης κλειδιών AWS.

Διαμόρφωση βάσης δεδομένων που εμφανίζει ομάδες παραμέτρων και κρυπτογράφηση

  1. Επιλέξτε Δημιουργία συμπλέγματος.

Το σύμπλεγμα πρέπει να γίνει Διαθέσιμος σε λίγα λεπτά.

Η κατάσταση συμπλέγματος εμφανίζεται ως Διαθέσιμο

  1. Πλοηγηθείτε στον χώρο ονομάτων zero-etl-target-rs-ns Και επιλέξτε το Πολιτική πόρων Tab.
  2. Επιλέξτε Προσθέστε εξουσιοδοτημένους εντολείς.
  3. Εισαγάγετε είτε το όνομα πόρου Amazon (ARN) του χρήστη ή του ρόλου του AWS ή το αναγνωριστικό λογαριασμού AWS (βασικές αρχές IAM) που επιτρέπεται να δημιουργούν ενσωματώσεις.

Ένα αναγνωριστικό λογαριασμού αποθηκεύεται ως ARN με χρήστη root.

Προσθέστε εξουσιοδοτημένες αρχές στην καρτέλα Πολιτική πόρων Clusters

  1. Στο Εξουσιοδοτημένες πηγές ενσωμάτωσης τμήμα, επιλέξτε Προσθήκη εξουσιοδοτημένης πηγής ενοποίησης για να προσθέσετε το ARN του RDS για την παρουσία MySQL DB που είναι η πηγή δεδομένων για την ενοποίηση μηδενικού ETL.

Μπορείτε να βρείτε αυτήν την τιμή μεταβαίνοντας στην κονσόλα Amazon RDS και μεταβαίνοντας στο διαμόρφωση καρτέλα του zero-etl-source-rms Παράδειγμα DB.

Προσθήκη εξουσιοδοτημένης πηγής ενσωμάτωσης στην καρτέλα Διαμόρφωση της παρουσίας zero-etl-source-rms DB

Η πολιτική πόρων σας θα πρέπει να μοιάζει με το παρακάτω στιγμιότυπο οθόνης.

Ολοκληρώθηκε η ρύθμιση της πολιτικής πόρων

Διαμορφώστε τα απαιτούμενα δικαιώματα

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

  • Δημιουργήστε μηδενικές ενσωματώσεις ETL για την πηγή RDS για την παρουσία MySQL DB.
  • Προβολή και διαγραφή όλων των ενσωματώσεων zero-ETL.
  • Δημιουργήστε εισερχόμενες ενσωματώσεις στην αποθήκη δεδομένων προορισμού. Αυτή η άδεια δεν απαιτείται εάν ο ίδιος λογαριασμός κατέχει την αποθήκη δεδομένων Redshift και αυτός ο λογαριασμός είναι εξουσιοδοτημένος εντολέας για αυτήν την αποθήκη δεδομένων. Σημειώστε επίσης ότι το Amazon Redshift έχει διαφορετική μορφή ARN για συστάδες προμηθευμένων και χωρίς διακομιστή:
    • Προβλέπεται - arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid
    • Χωρίς διακομιστή - arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

Ολοκληρώστε τα παρακάτω βήματα για να διαμορφώσετε τα δικαιώματα:

  1. Στην κονσόλα IAM, επιλέξτε Πολιτικές στο παράθυρο πλοήγησης.
  2. Επιλέξτε Δημιουργήστε πολιτική.
  3. Δημιουργήστε μια νέα πολιτική που ονομάζεται rds-integrations χρησιμοποιώντας το ακόλουθο JSON (αντικαταστήστε region και account-id με τις πραγματικές σας τιμές):
{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "rds:CreateIntegration"
        ],
        "Resource": [
            "arn:aws:rds:{region}:{account-id}:db:source-instancename",
            "arn:aws:rds:{region}:{account-id}:integration:*"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "rds:DescribeIntegration"
        ],
        "Resource": ["*"]
    },
    {
        "Effect": "Allow",
        "Action": [
            "rds:DeleteIntegration"
        ],
        "Resource": [
            "arn:aws:rds:{region}:{account-id}:integration:*"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "redshift:CreateInboundIntegration"
        ],
        "Resource": [
            "arn:aws:redshift:{region}:{account-id}:cluster:namespace-uuid"
        ]
    }]
}
  1. Επισυνάψτε την πολιτική που δημιουργήσατε στα δικαιώματα χρήστη ή ρόλου IAM.

Δημιουργήστε την ενοποίηση μηδενικού ETL

Για να δημιουργήσετε την ενσωμάτωση μηδενικού ETL, ολοκληρώστε τα ακόλουθα βήματα:

  1. Στην κονσόλα Amazon RDS, επιλέξτε Ενσωματώσεις Zero-ETL στο παράθυρο πλοήγησης.
  2. Επιλέξτε Δημιουργία ολοκλήρωσης μηδενικού ETL.

Δημιουργήστε ενσωμάτωση zero-ETL στην κονσόλα Amazon RDS

  1. Για Αναγνωριστικό ενσωμάτωσης, πληκτρολογήστε ένα όνομα, για παράδειγμα zero-etl-demo.

Εισαγάγετε το αναγνωριστικό ενσωμάτωσης

  1. Για Πηγή βάσης δεδομένων, επιλέξτε Περιηγηθείτε στις βάσεις δεδομένων RDS και επιλέξτε το σύμπλεγμα προέλευσης zero-etl-source-rms.
  2. Επιλέξτε Επόμενο.

Περιηγηθείτε στις βάσεις δεδομένων RDS για πηγή μηδενικού ETL

  1. Κάτω από στόχος, Για Αποθήκη δεδομένων Amazon Redshift, επιλέξτε Περιηγηθείτε στις αποθήκες δεδομένων του Redshift και επιλέξτε την αποθήκη δεδομένων Redshift (zero-etl-target-rs).
  2. Επιλέξτε Επόμενο.

Περιηγηθείτε στις αποθήκες δεδομένων του Redshift για ενσωμάτωση zero-ETL

  1. Προσθέστε ετικέτες και κρυπτογράφηση, εάν υπάρχει.
  2. Επιλέξτε Επόμενο.
  3. Επαληθεύστε το όνομα, την πηγή, τον στόχο και άλλες ρυθμίσεις ενοποίησης.
  4. Επιλέξτε Δημιουργία ολοκλήρωσης μηδενικού ETL.

Δημιουργήστε το βήμα 4 ενοποίησης μηδενικού ETL

Μπορείτε να επιλέξετε την ενσωμάτωση για να δείτε τις λεπτομέρειες και να παρακολουθήσετε την πρόοδό της. Χρειάστηκαν περίπου 30 λεπτά για να αλλάξει η κατάσταση δημιουργία προς την Ενεργή.

Λεπτομέρειες ολοκλήρωσης Zero-ETL

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

Δημιουργήστε μια βάση δεδομένων από την ενσωμάτωση στο Amazon Redshift

Για να δημιουργήσετε τη βάση δεδομένων σας από την ενσωμάτωση zero-ETL, ολοκληρώστε τα ακόλουθα βήματα:

  1. Στην κονσόλα Amazon Redshift, επιλέξτε Συστοιχίες στο παράθυρο πλοήγησης.
  2. Ανοίξτε το zero-etl-target-rs σύμπλεγμα.
  3. Επιλέξτε Ερώτημα δεδομένων για να ανοίξετε το πρόγραμμα επεξεργασίας ερωτημάτων v2.

Δεδομένα ερωτημάτων μέσω του Επεξεργαστή ερωτημάτων v2

  1. Συνδεθείτε στην αποθήκη δεδομένων Redshift επιλέγοντας Αποθήκευση.

Συνδεθείτε στην αποθήκη δεδομένων του Redshift

  1. Εξασφαλίστε τα integration_id από το svv_integration πίνακας συστήματος:

select integration_id from svv_integration; -- copy this result, use in the next sql

Ερώτημα για το αναγνωριστικό ενσωμάτωσης

  1. Χρησιμοποιήστε το integration_id από το προηγούμενο βήμα για να δημιουργήσετε μια νέα βάση δεδομένων από την ενοποίηση:

CREATE DATABASE zetl_source FROM INTEGRATION '<result from above>';

Δημιουργία βάσης δεδομένων από την ενοποίηση

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

Αναλύστε τα δεδομένα συναλλαγών σχεδόν σε πραγματικό χρόνο

Τώρα μπορούμε να εκτελέσουμε αναλυτικά στοιχεία για τα λειτουργικά δεδομένα του TICKIT.

Συμπληρώστε τα δεδομένα πηγής TICKIT

Για να συμπληρώσετε τα δεδομένα προέλευσης, ολοκληρώστε τα ακόλουθα βήματα:

  1. Αντιγράψτε τα αρχεία δεδομένων εισόδου CSV σε έναν τοπικό κατάλογο. Το παρακάτω είναι ένα παράδειγμα εντολής:

aws s3 cp 's3://redshift-blogs/zero-etl-integration/data/tickit' . --recursive

  1. Συνδεθείτε στο σύμπλεγμα RDS για MySQL και δημιουργήστε μια βάση δεδομένων ή σχήμα για το μοντέλο δεδομένων TICKIT, επαληθεύστε ότι οι πίνακες σε αυτό το σχήμα έχουν πρωτεύον κλειδί και ξεκινήστε τη διαδικασία φόρτωσης:

mysql -h <rds_db_instance_endpoint> -u admin -p password --local-infile=1

Συνδεθείτε στο σύμπλεγμα RDS για MySQL και δημιουργήστε μια βάση δεδομένων ή σχήμα για το μοντέλο δεδομένων TICKIT

  1. Χρησιμοποιήστε τα παρακάτω Εντολές CREATE TABLE.
  2. Φορτώστε τα δεδομένα από τοπικά αρχεία χρησιμοποιώντας την εντολή LOAD DATA.

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

Δημιουργία πίνακα χρηστών για επίδειξη

Αναλύστε τα δεδομένα προέλευσης TICKIT στον προορισμό

Στην κονσόλα Amazon Redshift, ανοίξτε το πρόγραμμα επεξεργασίας ερωτημάτων v2 χρησιμοποιώντας τη βάση δεδομένων που δημιουργήσατε ως μέρος της ρύθμισης ενοποίησης. Χρησιμοποιήστε τον ακόλουθο κώδικα για να επικυρώσετε τη δραστηριότητα σποράς ή CDC:

SELECT * FROM SYS_INTEGRATION_ACTIVITY ORDER BY last_commit_timestamp DESC;

Ερώτημα για την επικύρωση της δραστηριότητας σπόρων ή CDC

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

παρακολούθηση

Μπορείτε να ρωτήσετε τις ακόλουθες προβολές συστήματος και πίνακες στο Amazon Redshift για να λάβετε πληροφορίες σχετικά με τις ενσωματώσεις μηδενικού ETL με το Amazon Redshift:

Για να προβάλετε τις μετρήσεις που σχετίζονται με την ενσωμάτωση που δημοσιεύονται στο amazoncloudwatch, ανοίξτε την κονσόλα Amazon Redshift. Επιλέγω Ενσωματώσεις Zero-ETL στο παράθυρο πλοήγησης και επιλέξτε την ενοποίηση για την εμφάνιση μετρήσεων δραστηριότητας.

Μετρήσεις δραστηριότητας ολοκλήρωσης μηδενικού ETL

Οι διαθέσιμες μετρήσεις στην κονσόλα Amazon Redshift είναι μετρήσεις ενοποίησης και στατιστικά πίνακα, με στατιστικά στοιχεία πίνακα που παρέχουν λεπτομέρειες για κάθε πίνακα που αναπαράγονται από το Amazon RDS για MySQL στο Amazon Redshift.

Μετρήσεις ενσωμάτωσης και στατιστικά πίνακα

Οι μετρήσεις ενσωμάτωσης περιέχουν μετρήσεις επιτυχίας και αποτυχίας αναπαραγωγής πινάκων και λεπτομέρειες καθυστερήσεων.

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

Χειροκίνητοι επανασυγχρονισμοί

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

ALTER DATABASE zetl_source INTEGRATION REFRESH TABLES tbl1, tbl2;

Ένας πίνακας μπορεί να εισέλθει σε αποτυχημένη κατάσταση για πολλούς λόγους:

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

εκκαθάριση

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

Για να διαγράψετε μια ενοποίηση μηδενικού ETL, ολοκληρώστε τα ακόλουθα βήματα:

  1. Στην κονσόλα Amazon RDS, επιλέξτε Ενσωματώσεις Zero-ETL στο παράθυρο πλοήγησης.
  2. Επιλέξτε την ενοποίηση μηδενικού ETL που θέλετε να διαγράψετε και επιλέξτε Διαγραφή.
  3. Για να επιβεβαιώσετε τη διαγραφή, επιλέξτε Διαγραφή.

διαγράψτε μια ενοποίηση μηδενικού ETL

Συμπέρασμα

Σε αυτήν την ανάρτηση, σας δείξαμε πώς να ρυθμίσετε μια ενοποίηση μηδενικού ETL από το Amazon RDS για MySQL στο Amazon Redshift. Αυτό ελαχιστοποιεί την ανάγκη διατήρησης πολύπλοκων σωληνώσεων δεδομένων και επιτρέπει την ανάλυση σχεδόν σε πραγματικό χρόνο σε δεδομένα συναλλαγών και λειτουργιών.

Για να μάθετε περισσότερα σχετικά με την ενσωμάτωση Amazon RDS zero-ETL με το Amazon Redshift, ανατρέξτε στο Εργασία με ενσωματώσεις Amazon RDS zero-ETL με το Amazon Redshift (προεπισκόπηση).


 Σχετικά με τους Συγγραφείς

Milind Oke είναι ανώτερος αρχιτέκτονας λύσεων, ειδικός στο Redshift, ο οποίος έχει εργαστεί στην Amazon Web Services για τρία χρόνια. Είναι κάτοχος πιστοποίησης SA Associate, Security Specialty και Analytics Specialty με πιστοποίηση AWS, με έδρα το Queens της Νέας Υόρκης.

Aditya Samant είναι ένας βετεράνος του κλάδου των σχεσιακών βάσεων δεδομένων με εμπειρία πάνω από 2 δεκαετίες σε συνεργασία με εμπορικές βάσεις δεδομένων και βάσεις δεδομένων ανοιχτού κώδικα. Επί του παρόντος εργάζεται στην Amazon Web Services ως Κύριος Αρχιτέκτονας Ειδικών Λύσεων Βάσεων Δεδομένων. Στο ρόλο του, αφιερώνει χρόνο δουλεύοντας με πελάτες σχεδιάζοντας επεκτάσιμες, ασφαλείς και στιβαρές εγγενείς αρχιτεκτονικές cloud. Η Aditya συνεργάζεται στενά με τις ομάδες υπηρεσιών και συνεργάζεται για το σχεδιασμό και την παράδοση των νέων λειτουργιών για τις διαχειριζόμενες βάσεις δεδομένων της Amazon.

spot_img

Τελευταία Νοημοσύνη

spot_img