Što baza podataka na GPU-u može učiniti za vas

Baza podataka SQL datira iz 1970-ih i ANSI je standard od 1980-ih, ali to ne znači da tehnologija ostaje mirna. Još uvijek se mijenja, a jedan od onih načina kao GPU-ubrzane baze podataka.

Relacijske baze podataka narasle su do skupova podataka koji se mjere u petabajtima i šire. Čak i s pojavom 64-bitnog računanja i terabajta memorije za povećanu obradu, to je još uvijek puno podataka za prožvakati - a CPU mogu upravljati samo toliko. Tu su ušli GPU-ovi.

GPU-ovi su se od svoje prvotne misije ubrzavanja igara preobrazili u gotovo sve. Nvidia se maestralno okrenula kako bi postala sinonim za umjetnu inteligenciju, proces koji zahtijeva velike količine paralelno obrađenih podataka i druge zadatke koji se mogu dobro paralelizirati. AMD počinje igrati nadoknadu, ali Nvidia ima dugo vodstvo.

Što se jezgri tiče, nije ni blizu. Xeon CPU imaju maksimalno 22 jezgre. AMD Epyc ima 32 jezgre. Arhitektura Nvidia Volta ima 5.120 jezgri. Sada zamislite više od 5000 jezgri koje paralelno rade na podacima i jasno je zašto su GPU-ovi postali toliko popularni za masovne računalne projekte.

Tako se pojavila nova klasa baza podataka, napisana od temelja kako bi podržala i prihvatila GPU-ove i njihove velike mogućnosti paralelne obrade. Te baze podataka omogućuju novu razinu obrade podataka, analitike i velikih podataka u stvarnom vremenu jer mogu obrađivati ​​skupove podataka koje uobičajene baze podataka na CPU jednostavno ne mogu.

Definirana GPU baza podataka

Koncept GPU baze podataka je dovoljno jednostavan: koristi paralelizam GPU-a za obavljanje masivnog ubrzanja obrade podataka. GPU je idealno pogodan za ubrzavanje obrade SQL upita jer SQL izvodi istu operaciju - obično pretragu - na svakom retku u skupu.

Međutim, ne stavljate gomilu Nvidia Tesla kartica na poslužitelj koji ugošćuje Oracle bazu podataka. GPU baze podataka dizajnirane su i napisane od temelja za paralelnu obradu, počevši od SQL JOINoperacija.

JOINs uspostavljaju odnos između stupaca iz više tablica u bazi podataka i presudni su za obavljanje smislene analitike. Tradicionalni pristupi dizajna za JOINnaslijeđene RDBMS sustave dizajnirani su prije nekoliko godina za jednojezgrene CPU-ove i ne podnose se dobro ni CPU-u, a još manje GPU-u.

Osim JOINs, GPU baze podataka imaju značajnu razinu podrške, uključujući:

  • Konektori popularnih okvira otvorenog koda, kao što su Hadoop, Kafka, HBase, Spark i Storm.
  • ODBC i JDBC pokretački programi za integraciju s postojećim alatima za vizualizaciju i BI kao što su Tableau, Power BI i Spotfire
  • API-ji za povezivanje s popularnim programskim jezicima kao što su C ++, SQL, Java, Node.js i Python.

Gdje koristiti GPU bazu podataka

U tom pogledu, GPU baze podataka zapravo se ne natječu s Oracleom, SQL Serverom ili DB2. GPU baze podataka orijentirane su na donošenje odluka o analitici podataka, gdje tvrtke pokušavaju donijeti odluku u stvarnom vremenu iz ogromnih količina podataka, ali se nađu u nemogućnosti jer ima previše podataka ili zato što su alati za vizualnu analizu prespori.

Dobavljači GPU baze podataka ne vide sebe kao zamjenu za Oracle ili OLTP bazu podataka poput Teradata. Umjesto da ciljaju tradicionalna radna opterećenja RDBMS-a, GPU baze podataka ciljaju na OLAP / OLTP svijet i velike podatke, gdje su skupovi podataka ogromni i potreba je u stvarnom vremenu. Umjesto da se skupni procesi odvijaju satima ili preko noći, GPU baze podataka su mjesto gdje se podaci mogu prezentirati u stvarnom vremenu ili po satu.

GPU baza podataka trebala bi riješiti puno problema koje NoSQL pokušava riješiti, ali omogućuje vam upotrebu postojećih alata za strukturirane upite. Korištenje NoSQL znači prepisivanje svih vaših SQL alata, ali GPU baze podataka koriste postojeće SQL alate.

"Ono što mislimo da ćemo vidjeti su ljudi koji shvaćaju da mogu raditi višedimenzionalne sustave i uzimati podatke iz više scenarija i kombinirati ih", kaže Steve Worthington, novonastali arhitekt tehnoloških rješenja za Datatrend Technologies, IT savjetnik koji koristi GPU bazu podataka SQream. "Medicinske tvrtke žele uzimati [podatke] iz više sustava i vršiti analitiku u različitim bazama podataka jer prije nisu mogle raditi unakrsne reference i nisu imale nikakvog načina da se pridruže bazama podataka."

Također navodi financijske institucije koje rade prijevaru i analizu rizika koje možda sada rade samo provjere kreditnih kartica, ali žele provjeriti više računa. Snagom GPU-a mogu se istovremeno usmjeriti na sve te izvore informacija.

Richu Suttonu, potpredsjedniku geoprostornih podataka u Skyhooku, pružatelju usluga lokacije, koji koristi OmniSci GPU bazu omogućuje puno veću vizualizaciju geografskih skupova podataka nego što bi to mogao učiniti s bazom podataka baziranom na CPU-u. "U OmniSci mogu učitati milijardu redaka i s malo ili nimalo kašnjenja, umjesto da moram gledati skup podataka od 10.000 redaka u tradicionalnom CPU prostoru", kaže. "Višestruki redoslijed veličine koristan mi je što smanjujem potrošnju podataka uz znatno smanjenu latenciju."

Todd Mostak, izvršni direktor tvrtke OmniSci, kaže da mu je jedan kupac rekao da brzina OmniScija „snižava cijenu znatiželje. Postavljaju pitanja koja bi prethodno zadržali. " Jedan kupac financijskih usluga rekao mu je da se 18-satni upit za obradu tradicionalne baze podataka smanjio na sekundu, dok mu je telekomunikacija rekla da upiti kojima je trebalo nekoliko sati sada reagiraju ispod sekunde.

Još jedno mjesto za GPU baze podataka je u velikim podacima u stvarnom vremenu, gdje Hadoop nije uspio. Ami Gal, izvršni direktor dobavljača GPU baza podataka SQream, kaže da velik dio obećanja velikih podataka - pronalaženja svih mogućnosti u desecima petabajta podataka redaka - nije postignut na Hadoopu jer je bio prespor.

“Spark je prilično dobar za kretanje i transformaciju podataka, ali kad jednom trebate drobiti ogromne količine podataka i premještati ih, počinjete se baviti stotinama tisuća [računskih] čvorova, a to se smatra previše za drobljenje u velikim skupovima podataka. Ali ako to možete učiniti s deset ili 15 čvorova, to je puno učinkovitije ”, kaže.

Worthington kaže da poslužitelji temeljeni na GPU-u mogu u jednom ormariću zahtijevati čvorove s višestrukom paralelnom obradom (MPP) koji imaju CPU. “Stalke MPP čvorova možemo zamijeniti s pola tuceta čvorova, svaki s po dva do četiri GPU-a. Uz to možemo uložiti 10 milijuna dolara s manje od milijun ulaganja “, kaže.

GPU je važan i za Skyhook, koji vrši vizualizaciju velikih geografskih skupova podataka. “Ako imate nekoliko milijuna uređaja na terenu i pingirate lokaciju nekoliko puta u minuti, govorite o 2 milijarde redaka podataka dnevno. To je nemoguće konzumirati u tradicionalnoj bazi podataka. To jednostavno nije moguće. Dakle, [a] GPU [baza podataka] dovodi vas do mjesta gdje možete potrošiti te podatke “, kaže Sutton.

Prije usvajanja OmniSci-a, Skyhook bi morao "piramidizirati" podatke uzimajući samo njihove segmente za vizualizaciju. Sad, kaže Sutton, može pogledati cijelu sliku podataka. "Nikad nisam vidio još jedan realan način da podatke uobličim za svoju vrstu upotrebe."

GPU baze podataka: što je dostupno

GPU baze podataka potpuno su startup fenomen, a tvrtke poput Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom i Blazegraph.

Svi se malo razlikuju u načinu rada. Na primjer, OmniSci vrši vizualizaciju podataka, dok SQream koristi konektore za alate za vizualizaciju kao što je Tableau, pa svaki treba pojedinačno procijeniti kako bi se utvrdilo da najbolje odgovara vašim potrebama.

Velika imena u RDBMS-u još se nisu ukrcala, osim IBM-a koji podržava određenu obradu GPU-a u DB2 Blu, posebnoj verziji DB2 za radna opterećenja analitike. Oracle i TeraData rekli su da rade s Nvidijom, ali još ništa nije proizašlo. Microsoft ne podržava GPU ubrzanje na SQL Serveru. Gal iz SQreama rekao je da je čuo da svi dobavljači RDBMS-a rade na dodavanju neke vrste GPU podrške svojim proizvodima, ali da nije imao dodatnih informacija.