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

Τι μπορεί να κάνει μια βάση δεδομένων με υποστήριξη GPU για εσάς

Η βάση δεδομένων SQL χρονολογείται από τη δεκαετία του 1970 και αποτελεί πρότυπο ANSI από τη δεκαετία του 1980, αλλά αυτό δεν σημαίνει ότι η τεχνολογία παραμένει ακίνητη. Εξακολουθεί να αλλάζει και ένας από αυτούς τους τρόπους είναι οι βάσεις δεδομένων με επιτάχυνση GPU.

Οι σχεσιακές βάσεις δεδομένων έχουν αυξηθεί σε σύνολα δεδομένων που μετρούνται στα petabytes και πέραν αυτής. Ακόμη και με την εμφάνιση υπολογιστών 64-bit και terabyte μνήμης για αυξημένη επεξεργασία, αυτά εξακολουθούν να είναι πολλά δεδομένα για μάσημα και οι CPU μπορούν να διαχειριστούν τόσο πολύ. Εκεί έχουν έρθει οι GPU.

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

Όσον αφορά τους πυρήνες, δεν είναι καν κοντά. Οι επεξεργαστές Xeon έχουν έως 22 πυρήνες. Το AMD Epyc έχει 32 πυρήνες. Η αρχιτεκτονική Nvidia Volta έχει 5.120 πυρήνες. Τώρα φανταστείτε περισσότερους από 5.000 πυρήνες να εκτελούνται παράλληλα στα δεδομένα και είναι σαφές γιατί οι GPU έχουν γίνει τόσο δημοφιλείς για μαζικά έργα υπολογιστών.

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

Η βάση δεδομένων GPU καθορίστηκε

Η ιδέα μιας βάσης δεδομένων GPU είναι αρκετά απλή: Χρησιμοποιεί τον παραλληλισμό των GPU για να εκτελέσει μαζική επιτάχυνση επεξεργασίας δεδομένων. Η GPU είναι ιδανική για να επιταχύνει την επεξεργασία ερωτημάτων SQL, επειδή η SQL εκτελεί την ίδια λειτουργία - συνήθως μια αναζήτηση - σε κάθε σειρά του συνόλου.

Ωστόσο, δεν τοποθετείτε απλά μια δέσμη καρτών Nvidia Tesla στον διακομιστή που φιλοξενεί μια βάση δεδομένων της Oracle. Οι βάσεις δεδομένων GPU έχουν σχεδιαστεί και γραφτεί από το μηδέν για να εκτελούν παράλληλη επεξεργασία, ξεκινώντας με SQL ΣΥΜΜΕΤΟΧΗ λειτουργίες.

ΣΥΜΜΕΤΟΧΗδημιουργεί μια σχέση μεταξύ στηλών από πολλούς πίνακες σε μια βάση δεδομένων και είναι ζωτικής σημασίας για την εκτέλεση σημαντικών αναλυτικών στοιχείων. Παραδοσιακές προσεγγίσεις σχεδιασμού για ΣΥΜΜΕΤΟΧΗΤα παλαιότερα συστήματα RDBMS σχεδιάστηκαν πριν από χρόνια για CPU ενός πυρήνα και δεν προσφέρονται καλά ακόμη και σε μια CPU, πολύ λιγότερο μια GPU.

Πέρα ΣΥΜΜΕΤΟΧΗs, οι βάσεις δεδομένων GPU έχουν σημαντικό επίπεδο υποστήριξης, όπως:

  • Συνδέσεις σε δημοφιλή πλαίσια ανοιχτού κώδικα, όπως Hadoop, Kafka, HBase, Spark και Storm.
  • Προγράμματα οδήγησης ODBC και JDBC για ενσωμάτωση με υπάρχοντα εργαλεία οπτικοποίησης και BI όπως Tableau, Power BI και Spotfire
  • API για συνδέσεις με δημοφιλείς γλώσσες προγραμματισμού, όπως C ++, SQL, Java, Node.js και Python.

Πού να χρησιμοποιήσετε μια βάση δεδομένων GPU

Από αυτήν την άποψη, οι βάσεις δεδομένων GPU δεν ανταγωνίζονται πραγματικά τους Oracle, SQL Server ή DB2. Οι βάσεις δεδομένων GPU προσανατολίζονται στη λήψη αποφάσεων ανάλυσης δεδομένων, όπου οι εταιρείες προσπαθούν να λάβουν μια απόφαση σε πραγματικό χρόνο από τεράστιες ποσότητες δεδομένων, αλλά δεν μπορούν να το κάνουν επειδή υπάρχουν πάρα πολλά δεδομένα ή επειδή τα εργαλεία οπτικής ανάλυσης είναι πολύ αργά.

Οι προμηθευτές βάσεων δεδομένων GPU δεν βλέπουν τον εαυτό τους ως υποκατάστατο του Oracle ή μιας βάσης δεδομένων OLTP όπως το Teradata. Αντί να στοχεύουν παραδοσιακούς φόρτους εργασίας RDBMS, οι βάσεις δεδομένων GPU στοχεύουν στον κόσμο OLAP / OLTP και μεγάλα δεδομένα, όπου τα σύνολα δεδομένων είναι τεράστια και η ανάγκη είναι σε πραγματικό χρόνο. Αντί για διαδικασίες παρτίδας που εκτελούνται με ώρες ή μια νύχτα, οι βάσεις δεδομένων GPU είναι όπου τα δεδομένα μπορούν να παρουσιαστούν σε πραγματικό χρόνο ή σε ωριαία βάση.

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

«Αυτό που πιστεύουμε ότι θα δούμε είναι οι άνθρωποι να συνειδητοποιούν ότι μπορούν να κάνουν συστήματα πολλαπλών διαστάσεων και να λαμβάνουν δεδομένα από πολλαπλά σενάρια και να τα συνδυάζουν», λέει ο Steve Worthington, αναδυόμενος αρχιτέκτονας λύσεων τεχνολογιών για την Datatrend Technologies, μια συμβουλευτική πληροφορικής που χρησιμοποιεί τη βάση δεδομένων GPU SQream. «Οι ιατρικές εταιρείες θέλουν να πάρουν [δεδομένα] από πολλαπλά συστήματα και να κάνουν αναλυτικά στοιχεία σε βάσεις δεδομένων γιατί πριν, δεν μπορούσαν να κάνουν παραπομπές και δεν είχαν κανένα τρόπο να ενταχθούν στις βάσεις δεδομένων».

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

Για τον Rich Sutton, αντιπρόεδρο γεωχωρικών δεδομένων στο Skyhook, έναν πάροχο υπηρεσιών τοποθεσίας, η χρήση της βάσης δεδομένων OmniSci GPU του δίνει μια πολύ μεγαλύτερη οπτικοποίηση γεωγραφικών συνόλων δεδομένων από ό, τι μπορούσε να κάνει με μια βάση δεδομένων που βασίζεται σε CPU. «Μπορώ να φορτώσω ένα δισεκατομμύριο σειρές στο OmniSci και με λίγο έως καθυστέρηση αντί να πρέπει να κοιτάξω ένα σύνολο δεδομένων 10.000 γραμμών σε έναν παραδοσιακό χώρο CPU», λέει. "Είναι πολλαπλές τάξεις μεγέθους που μου ωφελούν τη μείωση της κατανάλωσης δεδομένων με μαζικά μειωμένη καθυστέρηση."

Ο Todd Mostak, Διευθύνων Σύμβουλος της OmniSci, λέει ότι ένας πελάτης του είπε ότι η ταχύτητα του OmniSci «μειώνει το κόστος της περιέργειας. Κάνουν ερωτήσεις που προηγουμένως θα συγκρατούσαν. " Ένας πελάτης χρηματοοικονομικών υπηρεσιών του είπε ότι ένα ερώτημα επεξεργασίας 18 ωρών σε μια παραδοσιακή βάση δεδομένων έπεσε σε δευτερόλεπτο, ενώ μια τηλεπικοινωνία του είπε ότι τα ερωτήματα που χρειάστηκαν ώρες για να τρέξουν ανταποκρίνονται σε λιγότερο από ένα δευτερόλεπτο.

Ένα άλλο μέρος για βάσεις δεδομένων GPU είναι σε μεγάλα δεδομένα σε πραγματικό χρόνο, όπου το Hadoop έχει πέσει. Ο Ami Gal, Διευθύνων Σύμβουλος του παροχέα βάσεων δεδομένων GPU SQream, λέει ότι η υπόσχεση για μεγάλα δεδομένα - η εύρεση όλων των ευκαιριών που υπάρχουν σε δεκάδες petabytes σειρών δεδομένων - δεν επιτεύχθηκε στο Hadoop επειδή ήταν πολύ αργό.

«Το Spark είναι αρκετά καλό για την κίνηση και τον μετασχηματισμό δεδομένων, αλλά μόλις χρειαστεί να σπάσεις τεράστιες ποσότητες δεδομένων και να τα μετακινήσεις, αρχίζεις να αντιμετωπίζεις εκατοντάδες χιλιάδες κόμβους [υπολογισμού] και αυτό θεωρείται πάρα πολύ για να σβήσεις σε μεγάλα σύνολα δεδομένων. Αλλά αν μπορείτε να το κάνετε με δέκα ή 15 κόμβους, αυτό είναι πολύ πιο αποτελεσματικό », λέει.

Ο Worthington λέει ότι οι διακομιστές που βασίζονται σε GPU μπορούν να κάνουν σε ένα ντουλάπι αυτό που απαιτεί πολλούς κόμβους πολλαπλών παραλλήλων επεξεργασίας (MPP) που τροφοδοτούνται από CPU. «Μπορούμε να αντικαταστήσουμε τα ράφια των κόμβων MPP με μισές δωδεκάδες κόμβους, ο καθένας με δύο έως τέσσερις GPU σε αυτές. Με αυτό μπορούμε να αντικαταστήσουμε μια επένδυση 10 εκατομμυρίων δολαρίων με μια επένδυση κάτω από 1 εκατομμύριο δολάρια », λέει.

Η GPU είναι επίσης σημαντική για το Skyhook, το οποίο κάνει οπτικοποίηση μεγάλων γεωγραφικών συνόλων δεδομένων. "Εάν έχετε ένα εκατομμύριο συσκευές στο πεδίο και την τοποθεσία ping μερικές φορές το λεπτό, μιλάτε 2 δισεκατομμύρια σειρές δεδομένων την ημέρα. Αυτό είναι αδύνατο να καταναλωθεί σε μια παραδοσιακή βάση δεδομένων. Δεν είναι απλώς δυνατό. Έτσι [η] βάση δεδομένων [GPU] σας φέρνει στο σημείο όπου μπορείτε να καταναλώσετε αυτά τα δεδομένα », λέει ο Sutton.

Πριν υιοθετήσει το OmniSci, το Skyhook θα έπρεπε να «πυραμίδει» τα δεδομένα, λαμβάνοντας μόνο τμήματα από αυτά για οπτικοποίηση. Τώρα, λέει ο Sutton, μπορεί να δει ολόκληρη την εικόνα δεδομένων. "Δεν έχω δει ποτέ άλλο ρεαλιστικό τρόπο για να διαμορφώσω δεδομένα για το είδος της χρήσης μου."

Βάσεις δεδομένων GPU: Τι είναι διαθέσιμο

Οι βάσεις δεδομένων GPU είναι εξ ολοκλήρου ένα φαινόμενο εκκίνησης, με εταιρείες όπως οι Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom και Blazegraph.

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

Τα μεγάλα ονόματα στο RDBMS δεν έχουν ακόμη ενσωματωθεί, εκτός από το IBM, το οποίο υποστηρίζει κάποια επεξεργασία GPU στο DB2 Blu, μια ειδική έκδοση του DB2 για φόρτους εργασίας αναλυτικών στοιχείων. Η Oracle και η TeraData δήλωσαν και οι δύο ότι συνεργάζονται με τη Nvidia, αλλά τίποτα δεν έχει προκύψει ακόμα. Η Microsoft δεν υποστηρίζει επιτάχυνση GPU στον SQL Server. Ο Gal της SQream είπε ότι έχει ακούσει ότι όλοι οι προμηθευτές RDBMS εργάζονται για να προσθέσουν κάποιο είδος υποστήριξης GPU στα προϊόντα τους, αλλά δεν είχαν περαιτέρω πληροφορίες.