Tutorial για τον έλεγχο μεγάλων δεδομένων: Τι είναι, Στρατηγική, Πώς να κάνετε δοκιμές
⚡ Έξυπνη Σύνοψη
Η δοκιμή μεγάλων δεδομένων επαληθεύει ότι μια εφαρμογή μεγάλων δεδομένων επεξεργάζεται terabytes δεδομένων σωστά, γρήγορα και με ασφάλεια, συνδυάζοντας την επικύρωση σταδιοποίησης δεδομένων, την επικύρωση MapReduce και την επικύρωση εξόδου με ελέγχους αρχιτεκτονικής και απόδοσης σε ένα κατανεμημένο σύμπλεγμα Hadoop.
Τι είναι οι δοκιμές μεγάλων δεδομένων;
Η Δοκιμή Μεγάλων Δεδομένων είναι μια διαδικασία δοκιμής μιας εφαρμογής μεγάλων δεδομένων, προκειμένου να διασφαλιστεί ότι όλες οι λειτουργίες μιας εφαρμογής μεγάλων δεδομένων λειτουργούν όπως αναμένεται. Ο στόχος της Δοκιμής Μεγάλων Δεδομένων είναι να διασφαλιστεί ότι το σύστημα μεγάλων δεδομένων λειτουργεί ομαλά και χωρίς σφάλματα, διατηρώντας παράλληλα την απόδοση και την ασφάλεια.
Τα μεγάλα δεδομένα είναι μια συλλογή από μεγάλα σύνολα δεδομένων που δεν μπορούν να υποβληθούν σε επεξεργασία με παραδοσιακές τεχνικές πληροφορικής. Η δοκιμή αυτών των συνόλων δεδομένων περιλαμβάνει διάφορα εργαλεία, τεχνικές και πλαίσια για την επεξεργασία τους. Τα μεγάλα δεδομένα σχετίζονται με τη δημιουργία, την αποθήκευση, την ανάκτηση και την ανάλυση δεδομένων, κάτι που είναι αξιοσημείωτο όσον αφορά τον όγκο, την ποικιλία και την ταχύτητα. Μπορείτε να μάθετε περισσότερα για... Big Data, Hadoop και ΜΕΙΩΣΗ ΧΑΡΤΗ πριν ξεκινήσετε τις δοκιμές.
Τι είναι η στρατηγική δοκιμών μεγάλων δεδομένων;
Η δοκιμή μιας εφαρμογής Big Data είναι περισσότερο επαλήθευση της επεξεργασίας των δεδομένων της παρά δοκιμή των επιμέρους χαρακτηριστικών του προϊόντος λογισμικού. Όσον αφορά τις δοκιμές Big Data, οι δοκιμές απόδοσης και λειτουργίας είναι τα κλειδιά.
Σε μια στρατηγική δοκιμών μεγάλων δεδομένων, οι μηχανικοί διασφάλισης ποιότητας (QA) επαληθεύουν την επιτυχή επεξεργασία terabytes δεδομένων χρησιμοποιώντας ένα σύμπλεγμα εμπορευμάτων και άλλα υποστηρικτικά στοιχεία. Απαιτεί υψηλό επίπεδο δεξιοτήτων δοκιμών, καθώς η επεξεργασία είναι πολύ γρήγορη. Η επεξεργασία μπορεί να είναι τριών τύπων:
- Επεξεργασία παρτίδας: Τα αποθηκευμένα δεδομένα υποβάλλονται σε επεξεργασία βάσει χρονοδιαγράμματος, επομένως οι δοκιμές στοχεύουν στην ολοκλήρωση και την ακρίβεια της εργασίας.
- Επεξεργασία σε πραγματικό χρόνο: Τα αρχεία υποβάλλονται σε επεξεργασία κατά την άφιξή τους, επομένως οι δοκιμές στοχεύουν στην καθυστέρηση και την απώλεια δεδομένων.
- Διαδραστική επεξεργασία: Οι αναλυτές υποβάλλουν άμεσα ερωτήματα, επομένως οι δοκιμές στοχεύουν στον χρόνο απόκρισης ad hoc ερωτημάτων.
Το παρακάτω διάγραμμα συνοψίζει τη στρατηγική.
Παράλληλα με αυτό, η ποιότητα των δεδομένων είναι επίσης ένας σημαντικός παράγοντας στις δοκιμές Hadoop. Πριν από τη δοκιμή της εφαρμογής, είναι απαραίτητο να ελεγχθεί η ποιότητα των δεδομένων, κάτι που θα πρέπει να ληφθεί υπόψη ως μέρος των δοκιμών βάσης δεδομένων. Περιλαμβάνει τον έλεγχο διαφόρων χαρακτηριστικών όπως η συμμόρφωση, η ακρίβεια, η επικάλυψη, η συνέπεια, η εγκυρότητα, η πληρότητα των δεδομένων κ.λπ. Στη συνέχεια, σε αυτό το σεμινάριο δοκιμών Hadoop, θα μάθουμε πώς να δοκιμάζουμε εφαρμογές Hadoop.
Πώς να δοκιμάσετε εφαρμογές Hadoop
Το ακόλουθο σχήμα δίνει μια γενική επισκόπηση των φάσεων δοκιμής εφαρμογών Big Data.
Οι δοκιμές μεγάλων δεδομένων ή οι δοκιμές Hadoop μπορούν να χωριστούν σε τρία βήματα.
Βήμα 1: Επικύρωση Σταδιοποίησης Δεδομένων
Το πρώτο βήμα σε αυτό το σεμινάριο για τη δοκιμή μεγάλων δεδομένων αναφέρεται ως στάδιο πριν από το Hadoop και περιλαμβάνει την επικύρωση της διαδικασίας.
- Δεδομένα από διάφορες πηγές όπως RDBMS, ιστολόγια, μέσα κοινωνικής δικτύωσης κ.λπ. θα πρέπει να επικυρώνονται για να διασφαλίζεται ότι τα σωστά δεδομένα εισέρχονται στο σύστημα.
- Συγκρίνοντας τα δεδομένα πηγής με τα δεδομένα που προωθούνται στο σύστημα Hadoop για να βεβαιωθείτε ότι ταιριάζουν
- Επαληθεύστε ότι τα σωστά δεδομένα είναι extracφορτώθηκε και τοποθετήθηκε στο σωστό ΚΑΕ τοποθεσία
Εργαλεία όπως Τάλεντ και το Datameer μπορεί να χρησιμοποιηθεί για την επικύρωση σταδιοποίησης δεδομένων.
Βήμα 2: Επικύρωση "MapReduce".
Το δεύτερο βήμα είναι η επικύρωση του "MapReduce". Σε αυτό το στάδιο, ο δοκιμαστής Big Data επαληθεύει την επικύρωση της επιχειρηματικής λογικής σε κάθε κόμβο και στη συνέχεια την επικυρώνει αφού την εκτελέσει σε πολλαπλούς κόμβους, διασφαλίζοντας ότι:
- Η διαδικασία MapReduce λειτουργεί σωστά
- Στα δεδομένα εφαρμόζονται κανόνες συγκέντρωσης ή διαχωρισμού δεδομένων
- Δημιουργούνται ζεύγη τιμών κλειδιών
- Επικύρωση των δεδομένων μετά τη διαδικασία MapReduce
Βήμα 3: Φάση επικύρωσης εξόδου
Το τελευταίο ή τρίτο στάδιο της δοκιμής Hadoop είναι η διαδικασία επικύρωσης εξόδου. Τα αρχεία δεδομένων εξόδου δημιουργούνται και είναι έτοιμα να μετακινηθούν σε EDW (Enterprise Data Warehouse) ή σε οποιοδήποτε άλλο σύστημα με βάση την απαίτηση.
Οι δραστηριότητες στο τρίτο στάδιο περιλαμβάνουν:
- Για να ελέγξετε ότι οι κανόνες μετασχηματισμού εφαρμόζονται σωστά
- Για να ελέγξετε την ακεραιότητα των δεδομένων και την επιτυχή φόρτωση δεδομένων στο σύστημα προορισμού
- Για να ελέγξετε ότι δεν υπάρχει καταστροφή δεδομένων συγκρίνοντας τα δεδομένα προορισμού με τα δεδομένα του συστήματος αρχείων HDFS
Archiδοκιμές δομής
Η προσοχή τώρα μετακινείται από τα δεδομένα στο σύμπλεγμα που τα μεταφέρει.
Το Hadoop επεξεργάζεται πολύ μεγάλους όγκους δεδομένων και απαιτεί πολύ περισσότερους πόρους. Ως εκ τούτου, οι αρχιτεκτονικές δοκιμές είναι ζωτικής σημασίας για να διασφαλιστεί η επιτυχία του έργου Big Data σας. Ένα σύστημα με κακό ή ακατάλληλο σχεδιασμό μπορεί να οδηγήσει σε υποβάθμιση της απόδοσης και το σύστημα ενδέχεται να μην ανταποκριθεί στην απαίτηση. Κατ' ελάχιστον, απόδοση και οι υπηρεσίες δοκιμών ανακατεύθυνσης σε περίπτωση αποτυχίας θα πρέπει να εκτελούνται σε περιβάλλον Hadoop.
Οι δοκιμές απόδοσης περιλαμβάνουν δοκιμές του χρόνου ολοκλήρωσης της εργασίας, της αξιοποίησης της μνήμης, της απόδοσης δεδομένων και παρόμοιων μετρήσεων συστήματος. Το κίνητρο της υπηρεσίας δοκιμών failover είναι να επαληθεύσει ότι η επεξεργασία δεδομένων πραγματοποιείται απρόσκοπτα σε περίπτωση βλάβης των κόμβων δεδομένων.
Δοκιμές Απόδοσης
Ο έλεγχος απόδοσης για τα μεγάλα δεδομένα καλύπτει τρεις κύριους τομείς.
- Πρόσληψη και απόδοση δεδομένων: Σε αυτό το στάδιο, ο δοκιμαστής Big Data επαληθεύει πόσο γρήγορα το σύστημα μπορεί να καταναλώσει δεδομένα από διάφορες πηγές δεδομένων. Η δοκιμή περιλαμβάνει τον προσδιορισμό του αριθμού των μηνυμάτων που μπορεί να επεξεργαστεί η ουρά σε ένα δεδομένο χρονικό πλαίσιο. Περιλαμβάνει επίσης την ταχύτητα με την οποία μπορούν να εισαχθούν δεδομένα στην υποκείμενη αποθήκη δεδομένων, για παράδειγμα τον ρυθμό εισαγωγής σε ένα MongoDB και Cassandra βάση δεδομένων.
- Επεξεργασία δεδομένων: Περιλαμβάνει την επαλήθευση της ταχύτητας με την οποία εκτελούνται τα ερωτήματα ή οι εργασίες MapReduce. Περιλαμβάνει επίσης τον έλεγχο της επεξεργασίας δεδομένων μεμονωμένα όταν ο υποκείμενος χώρος αποθήκευσης δεδομένων συμπληρώνεται εντός των συνόλων δεδομένων. Για παράδειγμα, την εκτέλεση εργασιών MapReduce στο υποκείμενο HDFS.
- Απόδοση υποσυστατικών: Αυτά τα συστήματα αποτελούνται από πολλαπλά στοιχεία και είναι απαραίτητο να ελέγχεται κάθε ένα από αυτά τα στοιχεία μεμονωμένα. Για παράδειγμα, πόσο γρήγορα το μήνυμα καταχωρείται και καταναλώνεται, οι εργασίες MapReduce, η απόδοση ερωτημάτων, η αναζήτηση κ.λπ.
Προσέγγιση δοκιμής απόδοσης
Ο έλεγχος απόδοσης για μια εφαρμογή Big Data περιλαμβάνει τον έλεγχο τεράστιων όγκων δομημένων και αδόμητων δεδομένων και απαιτεί μια συγκεκριμένη προσέγγιση ελέγχου για τον έλεγχο τέτοιων τεράστιων δεδομένων.
Η παρακάτω ροή εργασίας δείχνει την ακολουθία που ακολουθεί μια δοκιμή απόδοσης.
Η δοκιμή απόδοσης εκτελείται με αυτήν τη σειρά.
- Η διαδικασία ξεκινά με τη δημιουργία του συμπλέγματος Big Data, το οποίο πρόκειται να ελεγχθεί ως προς την απόδοση.
- Προσδιορίστε και σχεδιάστε τους αντίστοιχους φόρτους εργασίας
- Προετοιμασία μεμονωμένων πελατών (δημιουργούνται προσαρμοσμένα σενάρια)
- Εκτελέστε τη δοκιμή και αναλύστε τα αποτελέσματα (εάν οι στόχοι δεν επιτευχθούν, τότε ρυθμίστε το στοιχείο και εκτελέστε το ξανά)
- Βέλτιστη διαμόρφωση
Παράμετροι για Δοκιμές Απόδοσης
Διάφορες παράμετροι που πρέπει να επαληθευτούν για τον έλεγχο απόδοσης είναι:
- Αποθήκευση δεδομένων: Πώς αποθηκεύονται τα δεδομένα σε διαφορετικούς κόμβους
- Αρχεία καταγραφής υποβολής: Πόσο μεγάλο επιτρέπεται να αυξηθεί το αρχείο καταγραφής υποβολής
- Συγχρονισμός: Πόσα νήματα μπορούν να εκτελέσουν λειτουργίες εγγραφής και ανάγνωσης
- Προσωρινή αποθήκευση: Ρυθμίστε τις ρυθμίσεις προσωρινής μνήμης "γραμμή cache" και "κλειδί cache"
- Τάιμ άουτ: Τιμές για χρονικό όριο σύνδεσης, χρονικό όριο ερωτήματος κ.λπ.
- Παράμετροι JVM: Μέγεθος σωρού, αλγόριθμοι συλλογής GC, κ.λπ.
- Απόδοση MapReduce: Ταξινομεί, συγχωνεύει κ.λπ.
- Ουρά μηνυμάτων: Ρυθμός μηνυμάτων, μέγεθος κ.λπ.
Ανάγκες περιβάλλοντος δοκιμής
Οι ανάγκες σε περιβάλλον δοκιμών εξαρτώνται από τον τύπο της εφαρμογής που δοκιμάζετε. Για τις δοκιμές λογισμικού Big Data, το περιβάλλον δοκιμών θα πρέπει να περιλαμβάνει τα ακόλουθα.
- Θα πρέπει να έχει αρκετό χώρο για την αποθήκευση και επεξεργασία μεγάλου όγκου δεδομένων.
- Θα πρέπει να έχει ένα σύμπλεγμα με κατανεμημένους κόμβους και δεδομένα
- Θα πρέπει να έχει ελάχιστη χρήση CPU και μνήμης για να διατηρεί την απόδοση σε υψηλά επίπεδα για να δοκιμάσει την απόδοση Big Data
Δοκιμές Μεγάλων Δεδομένων έναντι Παραδοσιακών Δοκιμών Βάσεων Δεδομένων
Ο παρακάτω πίνακας αντιπαραβάλλει τα δύο επιστημονικά πεδία ανά ιδιότητα.
| Ιδιοκτησίες | Παραδοσιακή δοκιμή βάσεων δεδομένων | Δοκιμή μεγάλων δεδομένων |
|---|---|---|
| ημερομηνία | Ο ελεγκτής λειτουργεί με δομημένα δεδομένα | Ο ελεγκτής λειτουργεί τόσο με δομημένα όσο και με μη δομημένα δεδομένα |
| Δοκιμαστική Προσέγγιση | Η δοκιμαστική προσέγγιση είναι καλά καθορισμένη και δοκιμασμένη στο χρόνο | Η προσέγγιση δοκιμών απαιτεί εστιασμένες προσπάθειες Ε&Α |
| Στρατηγική Δοκιμών | Ο ελεγκτής έχει την επιλογή της στρατηγικής «Δειγματοληψίας» που γίνεται χειροκίνητα ή της στρατηγικής «Εξαντλητικής Επαλήθευσης» μέσω ενός εργαλείου αυτοματισμού. | Η στρατηγική «δειγματοληψίας» στα Big Data αποτελεί πρόκληση |
| Επίπεδο Υποδομών | Δεν απαιτεί ειδικό περιβάλλον δοκιμής καθώς το μέγεθος του αρχείου είναι περιορισμένο | Απαιτεί ένα ειδικό περιβάλλον δοκιμής λόγω μεγάλου μεγέθους δεδομένων και αρχείων (HDFS) |
| Εργαλεία επικύρωσης | Ο ελεγκτής χρησιμοποιεί μακροεντολές που βασίζονται στο Excel ή εργαλεία αυτοματισμού που βασίζονται στο UI | Δεν υπάρχουν καθορισμένα εργαλεία. Η γκάμα είναι τεράστια, από εργαλεία προγραμματισμού όπως το MapReduce έως το HiveQL. |
| Εργαλεία δοκιμών | Τα εργαλεία δοκιμών μπορούν να χρησιμοποιηθούν με βασικές γνώσεις λειτουργίας και λιγότερη εκπαίδευση | Απαιτείται ένα συγκεκριμένο σύνολο δεξιοτήτων και εκπαίδευσης για τη λειτουργία ενός εργαλείου δοκιμών. Επίσης, τα εργαλεία βρίσκονται στο αρχικό τους στάδιο και με την πάροδο του χρόνου ενδέχεται να εμφανίσουν νέες δυνατότητες. |
Εργαλεία που χρησιμοποιούνται σε σενάρια Big Data
Ο παρακάτω πίνακας ομαδοποιεί τα κοινά εργαλεία ανά επίπεδο συστάδας.
| Big Data Cluster | Big Data Tools |
|---|---|
| NoSQL: | CouchDB, Βάσεις δεδομένων MongoDB, Cassandra, Redis, ZooKeeper, HBase |
| ΜΕΙΩΣΗ ΧΑΡΤΗ: | Hadoop, Κυψέλη, Γουρούνι, Καταρράκτης, Oozie, Κάφκα, S4, MapR, Ροή |
| Αποθήκευση: | S3, HDFS (Κατανεμημένο Σύστημα Αρχείων Hadoop) |
| Διακομιστές: | Ελαστικό, Heroku, Google Μηχανή εφαρμογών, EC2 |
| Μεταποίηση: | R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer |
Προκλήσεις στη δοκιμή μεγάλων δεδομένων
Τρία πρακτικά εμπόδια επανεμφανίζονται σχεδόν σε κάθε έργο Μεγάλων Δεδομένων.
- Αυτοματισμοί: Δοκιμές αυτοματισμού για τα Μεγάλα Δεδομένα απαιτεί κάποιον με τεχνική εμπειρογνωμοσύνη. Επίσης, τα αυτοματοποιημένα εργαλεία δεν είναι εξοπλισμένα για να χειρίζονται απρόβλεπτα προβλήματα που προκύπτουν κατά τη διάρκεια των δοκιμών.
- Εικονικοποίηση: Είναι μία από τις αναπόσπαστες φάσεις των δοκιμών. Η καθυστέρηση της εικονικής μηχανής δημιουργεί προβλήματα χρονισμού στις δοκιμές απόδοσης Big Data σε πραγματικό χρόνο. Επίσης, η διαχείριση εικόνων σε Big Data είναι μια ταλαιπωρία.
- Μεγάλο σύνολο δεδομένων: Τρεις πιέσεις συνοδεύουν τον όγκο.
- Πρέπει να επαληθεύσετε περισσότερα δεδομένα και πρέπει να το κάνετε πιο γρήγορα
- Ανάγκη αυτοματοποίησης της προσπάθειας δοκιμής
- Πρέπει να είναι δυνατή η δοκιμή σε διαφορετικές πλατφόρμες
Προκλήσεις δοκιμών απόδοσης
- Ποικίλο σύνολο τεχνολογιών: Κάθε υποσυστατικό ανήκει σε διαφορετική τεχνολογία και απαιτεί δοκιμή μεμονωμένα.
- Μη διαθεσιμότητα συγκεκριμένων εργαλείων: Κανένα εργαλείο δεν μπορεί να εκτελέσει μεμονωμένα τις δοκιμές από άκρο σε άκρο. Για παράδειγμα, το NoSQL ενδέχεται να μην είναι κατάλληλο για ουρές μηνυμάτων.
- Δοκιμαστική δημιουργία σεναρίων: Απαιτείται υψηλός βαθμός σεναρίου για τον σχεδιασμό σεναρίων δοκιμών και περιπτώσεων δοκιμών.
- Περιβάλλον δοκιμής: Χρειάζεται ένα ειδικό περιβάλλον δοκιμών λόγω του μεγάλου όγκου δεδομένων
- Λύση παρακολούθησης: Υπάρχουν περιορισμένες λύσεις που μπορούν να παρακολουθούν ολόκληρο το περιβάλλον
- Διαγνωστική λύση: Απαιτείται μια προσαρμοσμένη λύση για την εμβάθυνση στις περιοχές συμφόρησης απόδοσης



