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 για φόρτους εργασίας αναλυτικών στοιχείων, όπως αναφορές και πίνακες εργαλείων.
Το παρακάτω διάγραμμα απεικονίζει αυτή την αρχιτεκτονική.
Επισκόπηση λύσεων
Ας σκεφτούμε ΕΙΣΙΤΗΡΙΟ, ένας φανταστικός ιστότοπος όπου οι χρήστες αγοράζουν και πωλούν εισιτήρια διαδικτυακά για αθλητικές εκδηλώσεις, παραστάσεις και συναυλίες. Τα δεδομένα συναλλαγών από αυτόν τον ιστότοπο φορτώνονται σε μια βάση δεδομένων Amazon RDS for MySQL 8.0.28 (ή νεότερης έκδοσης). Οι επιχειρηματικοί αναλυτές της εταιρείας θέλουν να δημιουργήσουν μετρήσεις για να προσδιορίσουν την κίνηση των εισιτηρίων με την πάροδο του χρόνου, τα ποσοστά επιτυχίας για τους πωλητές και τις εκδηλώσεις, τους χώρους και τις εποχές με τις καλύτερες πωλήσεις. Θα ήθελαν να λάβουν αυτές τις μετρήσεις σε σχεδόν πραγματικό χρόνο χρησιμοποιώντας μια ενοποίηση μηδενικού ETL.
Η ενοποίηση έχει ρυθμιστεί μεταξύ του Amazon RDS για MySQL (πηγή) και του Amazon Redshift (προορισμός). Τα δεδομένα συναλλαγών από την πηγή ανανεώνονται σχεδόν σε πραγματικό χρόνο στον προορισμό, ο οποίος επεξεργάζεται αναλυτικά ερωτήματα.
Μπορείτε να χρησιμοποιήσετε είτε την επιλογή χωρίς διακομιστή είτε ένα κρυπτογραφημένο σύμπλεγμα RA3 για το Amazon Redshift. Για αυτήν την ανάρτηση, χρησιμοποιούμε μια προβλεπόμενη βάση δεδομένων RDS και μια προβλεπόμενη αποθήκη δεδομένων Redshift.
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική υψηλού επιπέδου.
Τα παρακάτω είναι τα βήματα που απαιτούνται για τη ρύθμιση της ενοποίησης μηδενικού ETL. Αυτά τα βήματα μπορούν να γίνουν αυτόματα από τον οδηγό zero-ETL, αλλά θα χρειαστεί επανεκκίνηση εάν ο οδηγός αλλάξει τη ρύθμιση για το Amazon RDS ή το Amazon Redshift. Θα μπορούσατε να κάνετε αυτά τα βήματα με μη αυτόματο τρόπο, εάν δεν έχετε ήδη διαμορφώσει τις παραμέτρους, και να εκτελέσετε τις επανεκκινήσεις με την άνεσή σας. Για τους πλήρεις οδηγούς έναρξης, ανατρέξτε στο Εργασία με ενσωματώσεις Amazon RDS zero-ETL με το Amazon Redshift (προεπισκόπηση) και Εργασία με ενσωματώσεις μηδενικού ETL.
- Διαμορφώστε την πηγή RDS για MySQL με μια προσαρμοσμένη ομάδα παραμέτρων DB.
- Διαμορφώστε το σύμπλεγμα Redshift για να ενεργοποιήσετε αναγνωριστικά με διάκριση πεζών-κεφαλαίων.
- Διαμορφώστε τα απαιτούμενα δικαιώματα.
- Δημιουργήστε την ενοποίηση μηδενικού ETL.
- Δημιουργήστε μια βάση δεδομένων από την ενσωμάτωση στο Amazon Redshift.
Διαμορφώστε την πηγή RDS για MySQL με μια προσαρμοσμένη ομάδα παραμέτρων DB
Για να δημιουργήσετε μια βάση δεδομένων RDS για MySQL, ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα Amazon RDS, δημιουργήστε μια ομάδα παραμέτρων DB που ονομάζεται
zero-etl-custom-pg
.
Η ενοποίηση Zero-ETL λειτουργεί χρησιμοποιώντας δυαδικά αρχεία καταγραφής (binlogs) που δημιουργούνται από τη βάση δεδομένων MySQL. Για να ενεργοποιήσετε τα binlogs στο Amazon RDS για MySQL, πρέπει να ενεργοποιήσετε ένα συγκεκριμένο σύνολο παραμέτρων.
- Ορίστε τις ακόλουθες ρυθμίσεις παραμέτρων συμπλέγματος binlog:
binlog_format = ROW
binlog_row_image = FULL
binlog_checksum = NONE
Επιπλέον, βεβαιωθείτε ότι το binlog_row_value_options
η παράμετρος δεν έχει οριστεί σε PARTIAL_JSON
. Από προεπιλογή, αυτή η παράμετρος δεν έχει οριστεί.
- Επιλέξτε Βάσεις Δεδομένων στο παράθυρο πλοήγησης και, στη συνέχεια, επιλέξτε Δημιουργία βάσης δεδομένων.
- Για Έκδοση κινητήρα, επιλέξτε MySQL 8.0.28 (ή υψηλότερο).
- Για πρότυπα, Επιλέξτε παραγωγή.
- Για Διαθεσιμότητα και αντοχή, επιλέξτε είτε Παράδειγμα Multi-AZ DB or Ενιαία παρουσία DB (Τα συμπλέγματα Multi-AZ DB δεν υποστηρίζονται, από τη στιγμή που γράφονται αυτές οι γραμμές).
- Για Αναγνωριστικό παρουσίας DB, εισαγω
zero-etl-source-rms
.
- Κάτω από Διαμόρφωση στιγμιότυπου, Επιλέξτε Βελτιστοποιημένες τάξεις μνήμης και επιλέξτε την περίπτωση
db.r6g.large
, το οποίο θα πρέπει να επαρκεί για περίπτωση χρήσης TICKIT.
- Κάτω από Επιπλέον διαμόρφωση, Για Ομάδα παραμέτρων συμπλέγματος DB, επιλέξτε την ομάδα παραμέτρων που δημιουργήσατε νωρίτερα (
zero-etl-custom-pg
).
- Επιλέξτε Δημιουργία βάσης δεδομένων.
Σε λίγα λεπτά, θα πρέπει να γυρίσει μια βάση δεδομένων RDS για MySQL ως πηγή για την ενσωμάτωση μηδενικού ETL.
Διαμορφώστε τον προορισμό Redshift
Αφού δημιουργήσετε το σύμπλεγμα DB προέλευσης, πρέπει να δημιουργήσετε και να διαμορφώσετε μια αποθήκη δεδομένων στόχου στο Amazon Redshift. Η αποθήκη δεδομένων πρέπει να πληροί τις ακόλουθες απαιτήσεις:
- Χρησιμοποιώντας έναν τύπο κόμβου RA3 (
ra3.16xlarge
,ra3.4xlarge
, ήra3.xlplus
) ή Χωρίς διακομιστή Amazon Redshift - Κρυπτογραφημένο (εάν χρησιμοποιείται προβλεπόμενο σύμπλεγμα)
Για την περίπτωση χρήσης μας, δημιουργήστε ένα σύμπλεγμα Redshift ολοκληρώνοντας τα παρακάτω βήματα:
- Στην κονσόλα Amazon Redshift, επιλέξτε διαμορφώσεις και στη συνέχεια επιλέξτε Διαχείριση φόρτου εργασίας.
- Στην ενότητα της ομάδας παραμέτρων, επιλέξτε Δημιουργία.
- Δημιουργήστε μια νέα ομάδα παραμέτρων με όνομα
zero-etl-rms
. - Επιλέξτε Επεξεργασία παραμέτρων και αλλάξτε την τιμή του
enable_case_sensitive_identifier
προς τηνTrue
. - Επιλέξτε Αποθήκευση.
Μπορείτε επίσης να χρησιμοποιήσετε το Διεπαφή γραμμής εντολών AWS εντολή (AWS CLI). ενημέρωση-ομάδα εργασίας για Redshift Serverless:
- Επιλέξτε Προβλεπόμενος πίνακας εργαλείων συμπλέγματος.
Στο επάνω μέρος του παραθύρου της κονσόλας σας, θα δείτε ένα Δοκιμάστε τις νέες δυνατότητες του Amazon Redshift σε προεπισκόπηση πανό.
- Επιλέξτε Δημιουργία συμπλέγματος προεπισκόπησης.
- Για Προεπισκόπηση κομματιού, επέλεξε
preview_2023
. - Για Τύπος κόμβου, επιλέξτε έναν από τους υποστηριζόμενους τύπους κόμβων (για αυτήν την ανάρτηση, χρησιμοποιούμε
ra3.xlplus
).
- Κάτω από Πρόσθετες διαμορφώσεις, επεκτείνουν Διαμορφώσεις βάσης δεδομένων.
- Για Ομάδες παραμέτρων, επιλέξτε
zero-etl-rms
. - Για κρυπτογράφηση, Επιλέξτε Χρησιμοποιήστε την υπηρεσία διαχείρισης κλειδιών AWS.
- Επιλέξτε Δημιουργία συμπλέγματος.
Το σύμπλεγμα πρέπει να γίνει Διαθέσιμος σε λίγα λεπτά.
- Πλοηγηθείτε στον χώρο ονομάτων
zero-etl-target-rs-ns
Και επιλέξτε το Πολιτική πόρων Tab. - Επιλέξτε Προσθέστε εξουσιοδοτημένους εντολείς.
- Εισαγάγετε είτε το όνομα πόρου Amazon (ARN) του χρήστη ή του ρόλου του AWS ή το αναγνωριστικό λογαριασμού AWS (βασικές αρχές IAM) που επιτρέπεται να δημιουργούν ενσωματώσεις.
Ένα αναγνωριστικό λογαριασμού αποθηκεύεται ως ARN με χρήστη root.
- Στο Εξουσιοδοτημένες πηγές ενσωμάτωσης τμήμα, επιλέξτε Προσθήκη εξουσιοδοτημένης πηγής ενοποίησης για να προσθέσετε το ARN του RDS για την παρουσία MySQL DB που είναι η πηγή δεδομένων για την ενοποίηση μηδενικού ETL.
Μπορείτε να βρείτε αυτήν την τιμή μεταβαίνοντας στην κονσόλα Amazon RDS και μεταβαίνοντας στο διαμόρφωση καρτέλα του 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
- Προβλέπεται -
Ολοκληρώστε τα παρακάτω βήματα για να διαμορφώσετε τα δικαιώματα:
- Στην κονσόλα IAM, επιλέξτε Πολιτικές στο παράθυρο πλοήγησης.
- Επιλέξτε Δημιουργήστε πολιτική.
- Δημιουργήστε μια νέα πολιτική που ονομάζεται
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"
]
}]
}
- Επισυνάψτε την πολιτική που δημιουργήσατε στα δικαιώματα χρήστη ή ρόλου IAM.
Δημιουργήστε την ενοποίηση μηδενικού ETL
Για να δημιουργήσετε την ενσωμάτωση μηδενικού ETL, ολοκληρώστε τα ακόλουθα βήματα:
- Στην κονσόλα Amazon RDS, επιλέξτε Ενσωματώσεις Zero-ETL στο παράθυρο πλοήγησης.
- Επιλέξτε Δημιουργία ολοκλήρωσης μηδενικού ETL.
- Για Αναγνωριστικό ενσωμάτωσης, πληκτρολογήστε ένα όνομα, για παράδειγμα
zero-etl-demo
.
- Για Πηγή βάσης δεδομένων, επιλέξτε Περιηγηθείτε στις βάσεις δεδομένων RDS και επιλέξτε το σύμπλεγμα προέλευσης
zero-etl-source-rms
. - Επιλέξτε Επόμενο.
- Κάτω από στόχος, Για Αποθήκη δεδομένων Amazon Redshift, επιλέξτε Περιηγηθείτε στις αποθήκες δεδομένων του Redshift και επιλέξτε την αποθήκη δεδομένων Redshift (
zero-etl-target-rs
). - Επιλέξτε Επόμενο.
- Προσθέστε ετικέτες και κρυπτογράφηση, εάν υπάρχει.
- Επιλέξτε Επόμενο.
- Επαληθεύστε το όνομα, την πηγή, τον στόχο και άλλες ρυθμίσεις ενοποίησης.
- Επιλέξτε Δημιουργία ολοκλήρωσης μηδενικού ETL.
Μπορείτε να επιλέξετε την ενσωμάτωση για να δείτε τις λεπτομέρειες και να παρακολουθήσετε την πρόοδό της. Χρειάστηκαν περίπου 30 λεπτά για να αλλάξει η κατάσταση δημιουργία προς την Ενεργή.
Ο χρόνος θα ποικίλλει ανάλογα με το μέγεθος του συνόλου δεδομένων σας στην πηγή.
Δημιουργήστε μια βάση δεδομένων από την ενσωμάτωση στο Amazon Redshift
Για να δημιουργήσετε τη βάση δεδομένων σας από την ενσωμάτωση zero-ETL, ολοκληρώστε τα ακόλουθα βήματα:
- Στην κονσόλα Amazon Redshift, επιλέξτε Συστοιχίες στο παράθυρο πλοήγησης.
- Ανοίξτε το
zero-etl-target-rs
σύμπλεγμα. - Επιλέξτε Ερώτημα δεδομένων για να ανοίξετε το πρόγραμμα επεξεργασίας ερωτημάτων v2.
- Συνδεθείτε στην αποθήκη δεδομένων Redshift επιλέγοντας Αποθήκευση.
- Εξασφαλίστε τα
integration_id
από τοsvv_integration
πίνακας συστήματος:
select integration_id from svv_integration; -- copy this result, use in the next sql
- Χρησιμοποιήστε το
integration_id
από το προηγούμενο βήμα για να δημιουργήσετε μια νέα βάση δεδομένων από την ενοποίηση:
CREATE DATABASE zetl_source FROM INTEGRATION '<result from above>';
Η ενσωμάτωση έχει πλέον ολοκληρωθεί και ένα ολόκληρο στιγμιότυπο της πηγής θα αντικατοπτρίζεται όπως είναι στον προορισμό. Οι τρέχουσες αλλαγές θα συγχρονίζονται σε σχεδόν πραγματικό χρόνο.
Αναλύστε τα δεδομένα συναλλαγών σχεδόν σε πραγματικό χρόνο
Τώρα μπορούμε να εκτελέσουμε αναλυτικά στοιχεία για τα λειτουργικά δεδομένα του TICKIT.
Συμπληρώστε τα δεδομένα πηγής TICKIT
Για να συμπληρώσετε τα δεδομένα προέλευσης, ολοκληρώστε τα ακόλουθα βήματα:
- Αντιγράψτε τα αρχεία δεδομένων εισόδου CSV σε έναν τοπικό κατάλογο. Το παρακάτω είναι ένα παράδειγμα εντολής:
aws s3 cp 's3://redshift-blogs/zero-etl-integration/data/tickit' . --recursive
- Συνδεθείτε στο σύμπλεγμα RDS για MySQL και δημιουργήστε μια βάση δεδομένων ή σχήμα για το μοντέλο δεδομένων TICKIT, επαληθεύστε ότι οι πίνακες σε αυτό το σχήμα έχουν πρωτεύον κλειδί και ξεκινήστε τη διαδικασία φόρτωσης:
mysql -h <rds_db_instance_endpoint> -u admin -p password --local-infile=1
- Χρησιμοποιήστε τα παρακάτω Εντολές CREATE TABLE.
- Φορτώστε τα δεδομένα από τοπικά αρχεία χρησιμοποιώντας την εντολή LOAD DATA.
Το παρακάτω είναι ένα παράδειγμα. Σημειώστε ότι το αρχείο CSV εισόδου είναι σπασμένο σε πολλά αρχεία. Αυτή η εντολή πρέπει να εκτελείται για κάθε αρχείο εάν θέλετε να φορτώσετε όλα τα δεδομένα. Για σκοπούς επίδειξης, θα πρέπει να λειτουργεί και μια μερική φόρτωση δεδομένων.
Αναλύστε τα δεδομένα προέλευσης TICKIT στον προορισμό
Στην κονσόλα Amazon Redshift, ανοίξτε το πρόγραμμα επεξεργασίας ερωτημάτων v2 χρησιμοποιώντας τη βάση δεδομένων που δημιουργήσατε ως μέρος της ρύθμισης ενοποίησης. Χρησιμοποιήστε τον ακόλουθο κώδικα για να επικυρώσετε τη δραστηριότητα σποράς ή CDC:
Τώρα μπορείτε να εφαρμόσετε τη λογική της επιχείρησής σας για μετασχηματισμούς απευθείας στα δεδομένα που έχουν αντιγραφεί στην αποθήκη δεδομένων. Μπορείτε επίσης να χρησιμοποιήσετε τεχνικές βελτιστοποίησης απόδοσης, όπως τη δημιουργία μιας υλοποιημένης προβολής Redshift που ενώνει τους αναπαραγόμενους πίνακες και άλλους τοπικούς πίνακες για να βελτιώσετε την απόδοση ερωτημάτων για τα αναλυτικά σας ερωτήματα.
παρακολούθηση
Μπορείτε να ρωτήσετε τις ακόλουθες προβολές συστήματος και πίνακες στο Amazon Redshift για να λάβετε πληροφορίες σχετικά με τις ενσωματώσεις μηδενικού ETL με το Amazon Redshift:
Για να προβάλετε τις μετρήσεις που σχετίζονται με την ενσωμάτωση που δημοσιεύονται στο amazoncloudwatch, ανοίξτε την κονσόλα Amazon Redshift. Επιλέγω Ενσωματώσεις Zero-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, ολοκληρώστε τα ακόλουθα βήματα:
- Στην κονσόλα Amazon RDS, επιλέξτε Ενσωματώσεις Zero-ETL στο παράθυρο πλοήγησης.
- Επιλέξτε την ενοποίηση μηδενικού 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.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/big-data/unlock-insights-on-amazon-rds-for-mysql-data-with-zero-etl-integration-to-amazon-redshift/