Programavimas

Ką gali padaryti GPU valdoma duomenų bazė

SQL duomenų bazė datuojama 1970-aisiais ir buvo ANSI standartas nuo 1980-ųjų, tačiau tai nereiškia, kad technologija vis dar stovi. Jis vis dar keičiasi ir yra vienas iš GPU pagreitintų duomenų bazių būdų.

Reliacinių duomenų bazių dydis išaugo iki duomenų rinkinių, kurie matuojami petabaitais ir toliau. Net atsiradus 64 bitų skaičiavimams ir terabaitams atminties, kad būtų galima daugiau apdoroti, vis tiek reikia sukramtyti daug duomenų - o procesoriai gali valdyti tik tiek. Štai kur atsirado GPU.

GPU perėjo nuo savo pradinės žaidimų spartos misijos iki beveik visko. „Nvidia“ meistriškai pasisuko, kad taptų dirbtinio intelekto sinonimu - procesui reikalingas didžiulis lygiagrečiai apdorojamų duomenų kiekis ir kitos užduotys, kurias galima lygiagrečiai suderinti. AMD pradeda žaisti pasivyti, tačiau „Nvidia“ turi ilgą persvarą.

Kalbant apie šerdis, tai nėra net arti. „Xeon“ procesoriuose yra daugiausia 22 branduoliai. „AMD Epyc“ turi 32 branduolius. „Nvidia Volta“ architektūroje yra 5120 branduolių. Dabar įsivaizduokite, kad daugiau nei 5000 branduolių veikia lygiagrečiai naudojant duomenis, ir aišku, kodėl GPU tapo tokie populiarūs atliekant didžiulius skaičiavimo projektus.

Taigi atsirado nauja duomenų bazių klasė, parašyta nuo pat pradžių, kad palaikytų ir apimtų GPU ir jų masines lygiagrečios apdorojimo galimybes. Šios duomenų bazės įgalina naujus duomenų apdorojimo, analizės ir realiojo laiko „Big Data“ lygius, nes jos gali tvarkyti duomenų rinkinius, kurių įprastos procesoriaus valdomos duomenų bazės tiesiog negali.

Apibrėžta GPU duomenų bazė

GPU duomenų bazės koncepcija yra pakankamai paprasta: ji naudoja GPU lygiagretumą, kad atliktų didžiulį duomenų apdorojimo pagreitį. GPU idealiai tinka pagreitinti SQL užklausų apdorojimą, nes SQL atlieka tą pačią operaciją - paprastai paiešką - kiekvienoje rinkinio eilutėje.

Tačiau jūs tiesiog nededate krūvos „Nvidia Tesla“ kortelių į serverį, kuriame yra „Oracle“ duomenų bazė. GPU duomenų bazės buvo sukurtos ir parašytos nuo pat pradžių lygiagrečiam apdorojimui, pradedant SQL PRISIJUNGTI operacijos.

PRISIJUNGTIUžmegzti ryšį tarp stulpelių iš kelių lentelių duomenų bazėje ir yra labai svarbūs atliekant prasmingą analizę. Tradiciniai projektavimo metodai PRISIJUNGTISenos RDBMS sistemos prieš daugelį metų buvo sukurtos vieno branduolio procesoriams ir nėra tinkamos net procesoriui, juo labiau GPU.

Anapus PRISIJUNGTIGPU duomenų bazių palaikymas yra didelis, įskaitant:

  • Jungtys prie populiarių atvirojo kodo sistemų, tokių kaip „Hadoop“, „Kafka“, „HBase“, „Spark“ ir „Storm“.
  • ODBC ir JDBC tvarkyklės integravimui su esamais vizualizavimo ir BI įrankiais, tokiais kaip „Tableau“, „Power BI“ ir „Spotfire“
  • API susiejimams su populiariomis programavimo kalbomis, tokiomis kaip C ++, SQL, Java, Node.js ir Python.

Kur naudoti GPU duomenų bazę

Šiuo atžvilgiu GPU duomenų bazės tikrai nekonkuruoja su „Oracle“, „SQL Server“ ar DB2. GPU duomenų bazės yra orientuotos į duomenų analizės sprendimų priėmimą, kai įmonės bando realiu laiku priimti sprendimą iš didžiulio duomenų kiekio, tačiau mano, kad to padaryti negali, nes duomenų yra per daug arba dėl to, kad vizualinės analizės priemonės yra per lėtos.

GPU duomenų bazių tiekėjai nemano, kad jie yra „Oracle“ ar OLTP duomenų bazės, tokios kaip „Teradata“, pakaitalas. Užuot nukreipę tradicinius RDBMS darbo krūvius, GPU duomenų bazės siekia OLAP / OLTP pasaulio ir didelių duomenų, kur duomenų rinkiniai yra didžiuliai ir poreikis realiuoju laiku. Vietoj paketinių procesų, vykstančių valandomis ar per naktį, GPU duomenų bazėse duomenys gali būti pateikiami realiuoju laiku arba kas valandą.

GPU duomenų bazė turėtų išspręsti daugybę problemų, kurias bando išspręsti „NoSQL“, tačiau leidžia naudoti esamus struktūrinius užklausų įrankius. „NoSQL“ naudojimas reiškia visų SQL įrankių perrašymą, tačiau GPU duomenų bazėse naudojami esami SQL įrankiai.

„Tai, ką, mūsų manymu, pamatysime, yra žmonės, suprantantys, kad gali atlikti daugiasluoksnes sistemas, imti duomenis iš kelių scenarijų ir juos sujungti“, - sako Steve'as Worthingtonas, IT konsultacijų, naudojančių GPU duomenų bazę „SQream“, IT sprendimų architektas Steve'as Worthingtonas. "Medicinos kompanijos nori paimti [duomenis] iš kelių sistemų ir atlikti analizę duomenų bazėse, nes anksčiau jos negalėjo daryti kryžminių nuorodų ir neturėjo jokio būdo prisijungti prie duomenų bazių.

Jis taip pat cituoja finansų įstaigas, atliekančias sukčiavimą ir rizikos analizę, kurios dabar gali atlikti tik kreditinių kortelių patikrinimus, bet nori patikrinti keliose sąskaitose. Naudodamiesi GPU galia, jie gali vienu metu susieti visas tuos informacijos šaltinius.

Vietos paslaugų teikėjo „Skyhook“ geodalinių duomenų viceprezidentas Richas Suttonas, naudodamasis „OmniSci“ GPU duomenų baze, suteikia daug didesnę geografinių duomenų rinkinių vizualizaciją, nei jis galėtų padaryti su procesoriumi pagrįsta duomenų baze. „Aš galiu įkelti milijardą eilučių į„ OmniSci “ir turėdamas mažai arba visai be vėlavimo, užuot turėjęs žiūrėti į 10 000 eilučių duomenų rinkinį tradicinėje procesoriaus vietoje“, - sako jis. „Tai yra naudinga man keliais dydžiais, nes sumažėja duomenų suvartojimas su labai sumažėjusia vėlavimo trukme“.

Toddas Mostakas, „OmniSci“ generalinis direktorius, sako, kad vienas klientas jam pasakė, jog „OmniSci“ greitis „sumažina smalsumo kainą. Jie užduoda klausimus, kuriuos anksčiau sulaikytų “. Vienas finansinių paslaugų klientas jam pasakė, kad 18 valandų trukmės apdorojimo užklausa tradicinėje duomenų bazėje pasiekė antrą sekundę, o telekomunikacijos pranešė, kad užklausos, kurioms atlikti prireikė valandų, dabar atsako per sekundę.

Kita GPU duomenų bazių vieta yra realiojo laiko didieji duomenys, kur Hadoopas pritrūko. GPU duomenų bazių teikėjo „SQream“ generalinis direktorius Ami Gal sako, kad didžioji dalis didelių duomenų pažado - surasti visas galimybes, esančias dešimtimis petabaitų eilutės duomenų, nebuvo pasiekta „Hadoop“, nes tai buvo per lėta.

„„ Spark “yra gana gera duomenų judėjimui ir transformavimui, tačiau kai reikia sukrauti didžiulius duomenų kiekius ir juos perkelti, pradedama tvarkyti šimtus tūkstančių [skaičiavimo] mazgų ir tai laikoma per daug didelių duomenų rinkinių sukrėtimu. Bet jei galite tai padaryti su dešimčia ar 15 mazgų, tai yra daug efektyviau “, - sako jis.

Worthingtonas sako, kad GPU paremti serveriai vienoje spintelėje gali padaryti tai, ko reikia daugeliui spintelių reikalaujančių procesoriaus kelių lygiagrečių procesorių (MPP) mazgų. „MPP mazgų lentynas galime pakeisti puse dešimčių mazgų, kurių kiekviename yra nuo dviejų iki keturių GPU. Tuo mes galime pakeisti 10 milijonų dolerių investicijas mažiau nei 1 milijono dolerių investicijomis “, - sako jis.

GPU taip pat svarbus „Skyhook“, kuris vizualizuoja didelius geografinius duomenų rinkinius. „Jei kelis kartus per minutę lauke ir pingavimo vietoje gavote milijoną įrenginių, kalbate 2 milijardus duomenų eilučių per dieną. To neįmanoma vartoti tradicinėje duomenų bazėje. Tai tiesiog neįmanoma. Taigi [a] GPU [duomenų bazė] atveda jus ten, kur galite sunaudoti tuos duomenis “, - sako Suttonas.

Prieš priimdamas „OmniSci“, „Skyhook“ turėtų „piramidizuoti“ duomenis, vizualizacijai imdamas tik jų segmentus. Dabar Suttonas sako, kad jis gali peržiūrėti visą duomenų vaizdą. „Niekada nemačiau kito realistiško būdo, kaip pritaikyti duomenis savo naudojimo paskirčiai.“

GPU duomenų bazės: kas yra prieinama

GPU duomenų bazės yra visiškai paleidimo reiškinys, su tokiomis kompanijomis kaip „Brytlyt“, „SQream Technologies“, „OmniSci“, „Kinetica“, „PG-Strom“ ir „Blazegraph“.

Visi šiek tiek skiriasi savo darbu. Pvz., „OmniSci“ atlieka duomenų vizualizavimą, o „SQream“ naudoja jungtis prie vizualizavimo įrankių, tokių kaip „Tableau“, todėl kiekvieną iš jų reikia atskirai įvertinti, kad būtų galima nustatyti geriausiai jūsų poreikius.

Didelių RDBMS vardų dar nėra, išskyrus „IBM“, kuris palaiko kai kuriuos GPU apdorojimus „DB2 Blu“, specialioje „DB2“ versijoje, skirtoje analizės darbo krūviams. „Oracle“ ir „TeraData“ sakė, kad dirba su „Nvidia“, tačiau dar nieko neišėjo. „Microsoft“ nepalaiko GPU spartinimo „SQL Server“. „SQream“ galas sakė girdėjęs, kad visi RDBMS pardavėjai stengiasi prie savo produktų pridėti tam tikrą GPU palaikymą, tačiau neturėjo jokios papildomos informacijos.