Προγραμματισμός

Επανεξέταση: Η Kinetica αναλύει δισεκατομμύρια σειρές σε πραγματικό χρόνο

Το 2009, οι μελλοντικοί ιδρυτές της Kinetica ήρθαν άδειοι όταν προσπαθούσαν να βρουν μια υπάρχουσα βάση δεδομένων που θα μπορούσε να δώσει στις Ηνωμένες Πολιτείες Στρατιωτική Πληροφορία και Ασφάλεια Διοίκησης (INSCOM) στο Fort Belvoir (Βιρτζίνια) τη δυνατότητα να παρακολουθούν εκατομμύρια διαφορετικά σήματα σε πραγματικό χρόνο για να αξιολόγηση των εθνικών απειλών για την ασφάλεια. Έτσι, δημιούργησαν μια νέα βάση δεδομένων από την αρχή, με επίκεντρο τον τεράστιο παραλληλισμό που συνδυάζει τη δύναμη της GPU και της CPU για εξερεύνηση και οπτικοποίηση δεδομένων στο χώρο και το χρόνο. Μέχρι το 2014 προσελκύουν άλλους πελάτες και το 2016 ενσωματώθηκαν ως Kinetica.

Η τρέχουσα έκδοση αυτής της βάσης δεδομένων είναι το επίκεντρο του Kinetica 7, το οποίο επεκτείνεται πλέον ως το Kinetica Active Analytics Platform. Η πλατφόρμα συνδυάζει ιστορικά δεδομένα και αναλύσεις ροής δεδομένων, ευφυΐα τοποθεσίας και μηχανική μάθηση σε ένα πακέτο υψηλής απόδοσης, έτοιμο για cloud.

Ως πελάτες αναφοράς, η Kinetica έχει, μεταξύ άλλων, τις Ovo, GSK, SoftBank, Telkomsel, Scotiabank και Caesars. Η Ovo χρησιμοποιεί το Kinetica για εξατομίκευση λιανικής. Η Telkomsel, η ασύρματη εταιρεία κινητής τηλεφωνίας Worldn, χρησιμοποιεί το Kinetica για πληροφορίες δικτύου και συνδρομητών. Το Anadarko, το οποίο αποκτήθηκε πρόσφατα από την Chevron, χρησιμοποιεί την Kinetica για να επιταχύνει την ανάλυση της λεκάνης πετρελαίου στο σημείο όπου η εταιρεία δεν χρειάζεται να υποδείξει τα σύνολα δεδομένων ερευνών 90 δισεκατομμυρίων σειρών για απεικόνιση 3D και ανάλυση.

Το Kinetica συγκρίνεται συχνά με άλλες βάσεις δεδομένων GPU, όπως OmniSci, Brytlyt, SQream DB και BlazingDB. Σύμφωνα με την εταιρεία, ωστόσο, συνήθως ανταγωνίζονται ένα πολύ ευρύτερο φάσμα λύσεων, από εξατομικευμένες λύσεις SMACK (Spark, Mesos, Akka, Cassandra και Kafka) έως τις πιο παραδοσιακές πλατφόρμες επεξεργασίας δεδομένων και αποθήκευσης δεδομένων.

Βασικά χαρακτηριστικά και αρχιτεκτονική του Kinetica

Η Kinetica συνδυάζει την κατανεμημένη, στη μνήμη, επιταχυνόμενη GPU βάση δεδομένων με αναλύσεις ροής, ευφυΐα τοποθεσίας και μηχανική εκμάθηση. Η βάση δεδομένων είναι διανυσματική, στήλη, πρώτη μνήμη και έχει σχεδιαστεί για αναλυτικούς (OLAP) φόρτους εργασίας, διανέμοντας αυτόματα οποιοδήποτε φόρτο εργασίας σε CPU και GPU. Το Kinetica χρησιμοποιεί το SQL-92 για μια γλώσσα ερωτήματος, όπως το PostgreSQL και το MySQL, και υποστηρίζει ένα εκτεταμένο φάσμα δυνατοτήτων, όπως αναζήτηση κειμένου, ανάλυση χρονοσειρών, ευφυΐα τοποθεσίας και ανάλυση γραφικών.

Το Kinetica μπορεί να λειτουργήσει σε ολόκληρο το σώμα δεδομένων με έξυπνη διαχείριση δεδομένων σε μνήμη GPU, μνήμη συστήματος, δίσκο ή SSD, HDFS και αποθήκευση cloud όπως το Amazon S3. Σύμφωνα με την εταιρεία, αυτή η ικανότητα διαχείρισης όλων των επιπέδων αποθήκευσης είναι μοναδική για την Kinetica μεταξύ των βάσεων δεδομένων GPU.

Με τις κατανεμημένες δυνατότητες παράλληλης απορρόφησης, η Kinetica μπορεί να εκτελεί απορρόφηση υψηλής ταχύτητας σε σύνολα ροής δεδομένων (με Kafka) και σύνθετα αναλυτικά στοιχεία για ροή και ιστορικά δεδομένα ταυτόχρονα. Μπορείτε να εκπαιδεύσετε μοντέλα TensorFlow έναντι δεδομένων απευθείας στο Kinetica ή να εισαγάγετε προ-εκπαιδευμένα μοντέλα TensorFlow ή "black box" για να εκτελέσετε συμπεράσματα μέσω επεξεργασίας παρτίδας, επεξεργασίας ροής ή δημόσιας υπηρεσίας ιστού.

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

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

Κινητική Κινητική

Επιλογές εγκατάστασης και διαμόρφωσης Kinetica

Υπάρχουν τρεις μέθοδοι για την εγκατάσταση του Kinetica. Η προτιμώμενη μέθοδος είναι τώρα η KAgent, η οποία αυτοματοποιεί την εγκατάσταση και τη διαμόρφωση των Kinetica, Active Analytics Workbench (AAW) και Kubernetes, ring (υψηλή διαθεσιμότητα) και πολλά άλλα. Οι δύο εναλλακτικές μέθοδοι είναι η χρήση του Docker (για φορητές εγκαταστάσεις του Kinetica) και η μη αυτόματη εγκατάσταση μέσω γραμμής εντολών με χρήση κοινών διαχειριστών πακέτων που βασίζονται σε Linux όπως ναι και κατάλληλος.

Διαχείριση πόρων. Το Kinetica υποστηρίζει πέντε επίπεδα αποθήκευσης: VRAM, RAM, προσωρινή μνήμη δίσκου, διαρκής και ψυχρή αποθήκευση. Τυχόν λειτουργίες που κάνουν χρήση της GPU απαιτούν τα δεδομένα στα οποία λειτουργούν να βρίσκονται στο επίπεδο VRAM. Η διαχείριση δεδομένων σε αυτά τα πέντε επίπεδα είναι ένα ασήμαντο πρόβλημα.

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

Μεγάλη διαθεσιμότητα. Το Kinetica HA εξαλείφει το μοναδικό σημείο αστοχίας σε ένα τυπικό σύμπλεγμα Kinetica και παρέχει ανάκτηση από αστοχία. Εφαρμόζεται εκτός της Kinetica για τη χρήση πολλαπλών αντιγράφων δεδομένων και παρέχει μια τελικά συνεπή αποθήκευση δεδομένων. Η λύση Kinetica HA αποτελείται από τέσσερα στοιχεία: έναν εξισορροπητή φορτίου front-end, διαχειριστές διαδικασιών υψηλής διαθεσιμότητας, ένα ή περισσότερα σύμπλεγμα Kinetica και μια ουρά κατανεμημένων μηνυμάτων.

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

Επιδείξεις Kinetica

Εκτός από το GAdmin και το KAgent, η Kinetica προσφέρει ένα εργαλείο οπτικοποίησης μέσω διαδικτύου, το Reveal και το Active Analytics Workbench (AAW), το οποίο προορίζεται για την ενσωμάτωση μοντέλων και αλγορίθμων μηχανικής μάθησης.

Το σύμπλεγμα των έξι κόμβων που εμφανίζεται στο παραπάνω στιγμιότυπο οθόνης είναι αυτό που χρησιμοποίησα για να εξερευνήσω διάφορα demo του Kinetica. Το σύμπλεγμα αποτελείται από g3.8xlarge περιπτώσεις που το καθένα περιέχει δύο GPU Nvidia Tesla M60 και 32 CPU Intel Xeon E5 2686 v4. Κάθε παρουσία έχει 244 GiB RAM και 16 GiB VRAM ανά GPU. Αυτή η εγκατάσταση θα μπορούσε να μειωθεί προς τα κάτω, προς τα πάνω και προς τα έξω για να εξυπηρετήσει οποιαδήποτε περίπτωση χρήσης. Αφού τελείωσα τις δοκιμές μου, η βάση δεδομένων περιείχε 413 πίνακες και 2,2 δισεκατομμύρια εγγραφές.

Οι επιδείξεις που εξερεύνησα ήταν για πρόβλεψη οικονομικού κινδύνου χρησιμοποιώντας επιλογές, ασφαλιστικό κίνδυνο για πλημμύρες στο Τέξας, αξιολόγηση ασφάλειας δικτύου βάσει επιθεώρησης κυκλοφορίας και βόλτες με ταξί στη Νέα Υόρκη. Στη διαδικασία παρατήρησα ότι, σε αντίθεση με τις επιδείξεις του OmniSci (δείτε την κριτική μου), που όλοι χρησιμοποιούσαν μονόπετρες πίνακες (για ταχύτητα), οι επιδείξεις του Kinetica χρησιμοποιούσαν συχνά πολλαπλούς πίνακες, προβολές και αναλυτικούς πίνακες ελέγχου.

Πρόβλεψη χρηματοοικονομικού κινδύνου με επιλογές

Αυτή η εφαρμογή είναι ουσιαστικά μια απόδειξη της έννοιας της διαχείρισης χρηματοοικονομικού κινδύνου σε πραγματικό χρόνο με την Kinetica. Μια εφαρμογή React για κινητά και δύο πίνακες ελέγχου ιστού επιτρέπουν στον διαχειριστή κινδύνου να βλέπει όλα τα «ελληνικά» (παράγοντες μέτρησης του κινδύνου) για το χαρτοφυλάκιό του και να προσθέτει αντιστάθμιση. Πίσω από τα παρασκήνια, οι συναλλαγές ρέουν στη βάση δεδομένων και ένα μοντέλο κινδύνου μηχανικής εκμάθησης Black Scholes ενημερώνεται συνεχώς στα ζωντανά δεδομένα. Αντίθετα, η παραδοσιακή διαχείριση κινδύνου περιλαμβάνει την αντιγραφή των δεδομένων συναλλαγών σε ένα ξεχωριστό σύμπλεγμα που εκτελεί μοντέλα κινδύνου κάθε βράδυ.

Ασφαλιστικός κίνδυνος για καταστροφικές πλημμύρες στο Τέξας

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

Αξιολόγηση ασφάλειας δικτύου

Αυτή η εφαρμογή έχει σχεδιαστεί για να βοηθά έναν υπεύθυνο ασφαλείας δικτύου να προστατεύει ένα δίκτυο από εισβολές. Ο υποκείμενος πίνακας Kinetica συνδυάζει περίπου 1,8 δισεκατομμύρια ιστορικά αιτήματα δικτύου με ροή σε πραγματικό χρόνο.

Βόλτες με ταξί στη Νέα Υόρκη

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

Φέτες και πίνακες εργαλείων Kinetica

Τα μεμονωμένα γραφικά στο Kinetica Reveal ονομάζονται φέτες. Οι φέτες οργανώνονται σε ταμπλό.

Ο σχεδιαστής φετών είναι αρκετά παρόμοιος με τους σχεδιαστές που θα βρείτε στο OmniSci και μια σειρά προϊόντων BI, όπως το Tableau.

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

Βλέποντας πώς η Kinetica ενσωματώνει τη μηχανική μάθηση με τη βάση δεδομένων GPU, την ανάλυση σε πραγματικό χρόνο και τις γεωγραφικές πληροφορίες με κάνει να καταλαβαίνω πού θέλει να πάει το OmniSci - αλλά η Kinetica είναι ήδη εκεί. Επίσης, βλέποντας πώς διαχειρίζεται η Kinetica τα επίπεδα αποθήκευσης, με κάνει να καταλαβαίνω γιατί η Kinetica ανταγωνίζεται συνήθως τα μεγάλα συστήματα αποθήκευσης δεδομένων και δεδομένων.

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

Κόστος: Η Kinetica χρεώνει μια ετήσια συνδρομή με βάση τον αριθμό των terabyte στη μνήμη. δεν χρεώνεται για αποθήκευση δεδομένων σε άλλες βαθμίδες. Η άδεια συνδρομής σάς δίνει τη δυνατότητα να εκτελείτε το Kinetica οπουδήποτε - εντός του χώρου ή στο cloud. Το κόστος συνδρομής είναι απολύτως προβλέψιμο. Διατίθεται δωρεάν δοκιμή 30 ημερών.

Πλατφόρμα: Διακομιστής RHEL, CentOS, Ubuntu, Suse ή Debian Linux με τουλάχιστον οκτώ πυρήνες CPU και 8 GB μνήμης RAM. Nvidia K40 ή παραπάνω GPUs εσωτερικές εγκαταστάσεις, στο σύννεφο ή στην άκρη μιας ενσωματωμένης συσκευής Jetson TX2. Το Kinetica τρέχει επίσης στο Docker, με ή χωρίς GPU.

$config[zx-auto] not found$config[zx-overlay] not found