Οι βάσεις δεδομένων ροής είναι κοντινές βάσεις δεδομένων χρονοσειρών (σκεφτείτε TimescaleDB) ή βάσεις δεδομένων καταγραφής (σκέψου Splunk). Όλα έχουν σχεδιαστεί για να παρακολουθούν μια σειρά συμβάντων και να ενεργοποιούν ερωτήματα που μπορούν να αναζητήσουν και να παράγουν στατιστικά προφίλ μπλοκ χρόνου σε σχεδόν πραγματικό χρόνο. Οι βάσεις δεδομένων ροής μπορούν να απορροφούν ροές δεδομένων και να επιτρέπουν την αναζήτηση δεδομένων σε μεγαλύτερα παράθυρα και με μεγαλύτερο πλαίσιο σε σύγκριση με την ανάλυση ροών δεδομένων σε κίνηση, όλα μέσα σε ένα συμπιεσμένο προφίλ λανθάνουσας κατάστασης.
Πώς διαφέρουν οι βάσεις δεδομένων ροής από τις συμβατικές βάσεις δεδομένων ανάλυσης όπως το Snowflake, το Redshift, το BigQuery και το Oracle;
Οι συμβατικές βάσεις δεδομένων ανάλυσης είναι προσανατολισμένες κατά παρτίδες, που σημαίνει ότι η φόρτωση δεδομένων πραγματοποιείται περιοδικά σε καθορισμένα παράθυρα. Πολλές συμβατικές βάσεις δεδομένων υποστηρίζουν συχνές περιόδους φόρτωσης, γνωστές ως micro-batch. Αυτό έρχεται σε αντίθεση με τις βάσεις δεδομένων ροής που λαμβάνουν πάντα νέα δεδομένα καθώς δημιουργούνται χωρίς ουρά πριν από τη φόρτωση.
Επιπλέον, οι συμβατικές αναλυτικές βάσεις δεδομένων κλειδώνουν τους πίνακες που φορτώνονται. Όταν οι πίνακες κλειδώνονται κατά τη διαδικασία φόρτωσης, παραμένουν διαθέσιμοι για ερωτήματα από τον τελικό χρήστη ή την εφαρμογή, αλλά δεν αντικατοπτρίζουν τα δεδομένα που φορτώθηκαν πρόσφατα έως ότου ολοκληρωθεί η φόρτωση παρτίδας και ο πίνακας ξεκλειδωθεί. Αυτό έχει ορισμένα πλεονεκτήματα σε σχέση με τη συμμόρφωση με ACID, αλλά έχει μειονεκτήματα όταν πρόκειται για πρόσθετο λανθάνοντα χρόνο.
Μια άλλη αντίθεση είναι ο τρόπος με τον οποίο τα ερωτήματα βελτιστοποιούνται για απόδοση. Οι συμβατικές αναλυτικές βάσεις δεδομένων βασίζονται σε εκτεταμένους μετασχηματισμούς, μηχανική δεδομένων ή αγωγούς για τη δομή των δεδομένων με τρόπο αποδοτικό. Χρησιμοποιούν επίσης ευρετήρια και υλοποιημένες περιλήψεις για να επιτύχουν απόδοση ερωτημάτων. Ωστόσο, όλες αυτές οι τεχνικές απαιτούν χρόνο για την προετοιμασία των δεδομένων για την απόδοση του ερωτήματος, γεγονός που καθιστά τα δεδομένα μπαγιάτικα. Οι βάσεις δεδομένων ροής επιλύουν την ανανέωση των δεδομένων και χρησιμοποιούν εναλλακτικές τεχνικές για να επιτύχουν απόδοση και να διατηρήσουν τα δεδομένα φρέσκα. Αυτές οι τεχνικές διαφέρουν μεταξύ των βάσεων δεδομένων ροής, που κυμαίνονται από τον λιγότερο επιθυμητό περιορισμό του εύρους της ερώτησης που μπορεί να τεθεί υποστηρίζοντας μόνο απλές δομές δεδομένων, έως τις αρχιτεκτονικές υπολογιστών επόμενης γενιάς που παράγουν ριζικά μεγαλύτερες ταχύτητες ερωτημάτων χωρίς την ανάγκη εκτεταμένης μηχανικής δεδομένων.
Πώς διαφέρουν οι βάσεις δεδομένων ροής από τις πλατφόρμες επεξεργασίας ροής όπως το Kafka, το Amazon Kinesis, το Google Dataflow και το Azure Stream Analytics;
Οι βάσεις δεδομένων ροής αναλύουν τα διαρκή δεδομένα, ενώ οι πλατφόρμες επεξεργασίας ροής αναλύουν δεδομένα σε κίνηση. Η ανάλυση δεδομένων σε κίνηση έχει το πλεονέκτημα της σχεδόν μηδενικής καθυστέρησης. Σκεφτείτε: „Ειδοποιήστε με κάθε φορά που υπάρχει μια συναλλαγή άνω των 100 $ που προέρχεται από τη Λιβερία.“ Εάν οι συναλλαγές στην ουρά ροής περιέχουν το ποσό και την τοποθεσία προέλευσης, τότε ένας απλός κανόνας μπορεί να επισημάνει τις συναλλαγές που ενδιαφέρουν.
Ωστόσο, καθώς το ερώτημα γίνεται πιο περίπλοκο, χρειάζεται συχνά να συμπεριληφθεί μεγαλύτερο ιστορικό και πλαίσιο, γεγονός που καθιστά αδύνατη την εκτέλεση της ανάλυσης εντός της πλατφόρμας επεξεργασίας ροής και καθιστά αναγκαία τη διατήρηση των δεδομένων. Σκεφτείτε: „Ειδοποιήστε με κάθε φορά που υπάρχει μια συναλλαγή που είναι πάνω από 5 φορές μεγαλύτερη από την προηγούμενη συναλλαγή.“ Εάν η προηγούμενη συναλλαγή πραγματοποιήθηκε πριν από μια εβδομάδα, αυτά τα δεδομένα δεν είναι πλέον στη ροή. Σκεφτείτε: «Ειδοποιήστε με κάθε φορά που υπάρχει drone που βρίσκεται σε απόσταση 2 χιλιομέτρων από περιορισμένο εναέριο χώρο». Οι αναγνώσεις ψωμιού από το ραντάρ μιας πτήσης drone μπορεί να βρίσκονται στην ουρά ροής, αλλά οι περιορισμένοι εναέριοι χώροι με γεωφράγματα εξακολουθούν να υπάρχουν αλλού.
Είναι πολύ συνηθισμένο τα δεδομένα από πλατφόρμες ροής να διατηρούνται σε μια συμβατική αναλυτική βάση δεδομένων, αλλά αν θέλετε να λαμβάνετε αποφάσεις σε πραγματικό χρόνο για να αποτρέψετε την απάτη ή να διατηρήσετε ασφαλείς εναέριους χώρους, θα πρέπει να εκτελέσετε αυτόν τον φόρτο εργασίας σε μια βάση δεδομένων ροής.
Περιπτώσεις επιχειρηματικής χρήσης για βάση δεδομένων ροής
Υπάρχουν πολλά παραδείγματα σημαντικών περιπτώσεων χρήσης για βάσεις δεδομένων ροής, όπως:
- Ενεργοποιήστε την ειδοποίηση σε πραγματικό χρόνο για αλλαγές στην αγορά
- Υποστήριξη προληπτικής συντήρησης και βελτιστοποίησης δικτύου
- Ανάπτυξη συμπερασμάτων μηχανικής εκμάθησης σε πραγματικό χρόνο
- Χρονικά κρίσιμες υπηρεσίες όπως η Uber ή η Lyft
- Παρακολούθηση βίντεο ή άλλων αισθητήρων κατά την αναζήτηση ανωμαλιών
- Επιστημονικά πειράματα που πρέπει να αναλύονται συνεχώς
- Διαφάνεια εφοδιαστικής αλυσίδας
- Βελτιστοποίηση στόλου
- Κοινή εικόνα λειτουργίας
Πώς συγκρίνεται το Kinetica με άλλες βάσεις δεδομένων ροής όπως το Materialize, το Imply.io, το Clickhouse, το Pinot και το Rockset;
Οι βάσεις δεδομένων ροής συνήθως αξιολογούνται στις λανθάνουσα κατάσταση δεδομένων και καθυστέρηση ερωτήματος και χρησιμεύει ως ένα εξαιρετικό πλαίσιο για την αξιολόγηση των επιλογών. Η καθυστέρηση δεδομένων αναφέρεται στο πόσο χρόνο χρειάζονται τα δεδομένα για να φορτωθούν και να είναι διαθέσιμα για ερώτημα. Η καθυστέρηση ερωτήματος αναφέρεται στο πόσο χρόνο χρειάζεται για να εκτελεστεί το ερώτημα.
Καθυστέρηση δεδομένων
Η Kinetica είναι μια από τις λίγες αναλυτικές βάσεις δεδομένων που διαθέτει εγγενής ενσωμάτωση με τον Κάφκα, το οποίο οδηγεί σε ταχύτερη φόρτωση από τις συνδέσεις JDBC/ODBC που βρίσκονται στις περισσότερες βάσεις δεδομένων ροής. Το Kinetica έχει σχεδιαστεί για ακέφαλος, κατανεμημένος κατάποση, με αποτέλεσμα εκθετικά ταχύτερη φόρτωση τεράστιων συνόλων δεδομένων. Όπως συμβαίνει με τις περισσότερες βάσεις δεδομένων ροής, η Kinetica χρησιμοποιεί μια αρχιτεκτονική χωρίς κλειδαριά που διασφαλίζει ότι τα δεδομένα καθίστανται διαθέσιμα για ερωτήματα όσο πιο γρήγορα μπορούν να μεταδοθούν.
Καθυστέρηση ερωτήματος
Μόλις φορτωθούν τα δεδομένα, η πλήρως διανυσματική μηχανή αναζήτησης της Kinetica συνθλίβει άλλες βάσεις δεδομένων σε ανεξάρτητα σημεία αναφοράς TPC-DS. Πιο πρόσφατα, οι Radiant Advisors συνέκριναν Clickhouse με Kinetica χρησιμοποιώντας TPC-DS. Όχι μόνο το Clickhouse απέτυχε να εκτελέσει τη συντριπτική πλειονότητα των ερωτημάτων TPC-DS, αλλά αυτά που ήταν σε θέση να εκτελέσει αποκάλυψαν ότι το Kinetica είναι 50 φορές ταχύτερο. Η διανυσματοποίηση επιταχύνει τα ερωτήματα, αλλά επίσης δεν απαιτεί ανακατασκευές ευρετηρίων και περιλήψεων που προσθέτουν στη συνολική καθυστέρηση.
Όλες οι βάσεις δεδομένων ροής μπορούν αξιόπιστα να κάνουν ισχυρισμούς σχετικά με τα αναλυτικά στοιχεία σε πραγματικό χρόνο. Αρχίζουν να διαχωρίζονται και να διαφοροποιούνται όταν εξετάζετε την περίπτωση αναλυτικής χρήσης σε πραγματικό χρόνο. Οι Clickhouse, Pinot, Rockset, Materialize και άλλοι μπορούν να επιτύχουν εντυπωσιακή χαμηλή καθυστέρηση, εφόσον το ερώτημα είναι απλό ή μέτρια περίπλοκο. Δεν τους αρέσουν οι ενώσεις, και αν υπάρχει ένωση είναι συνήθως αρκετά απλή. Η Kinetica είναι σε θέση να κάνει τις ενώσεις χρονοσειρών, χωρικών και n-way που είναι ολοένα και πιο κοινές με ροές αισθητήρων και όπου άλλες βάσεις δεδομένων ροής απλά δεν μπορούν να χειριστούν αυτές σε ένα αποδεκτό προφίλ λανθάνουσας κατάστασης. Αυτό πηγαίνει πάλι πίσω στη μηχανική διαφοροποίηση που προέρχεται από μια πλήρως διανυσματική βάση δεδομένων.
Δοκιμάστε μόνοι σας το Kinetica. Το Kinetica Cloud είναι δωρεάν για χρήση σε σύνολα δεδομένων έως 10 GB. Δημιουργήστε τη δική σας βάση δεδομένων Kinetica σήμερα.