Ohjelmointi

Mitä GPU-pohjainen tietokanta voi tehdä sinulle

SQL-tietokanta on peräisin 1970-luvulta ja se on ollut ANSI-standardi 1980-luvulta lähtien, mutta se ei tarkoita, että tekniikka istuu paikallaan. Se muuttuu edelleen, ja yksi näistä tavoista GPU-nopeutetuina tietokantoina.

Relaatiotietokantojen koko on kasvanut tietojoukoiksi, jotka mitataan petatavuissa ja sen ulkopuolella. Jopa 64-bittisen tietojenkäsittelyn ja teratavuisen muistin lisääntyneen käsittelyn myötä, on silti paljon pureskeltavaa dataa - ja suorittimet voivat hallita vain niin paljon. Siellä GPU: t ovat tulleet sisään.

GPU: t ovat muuttaneet alkuperäistä tehtäväänsä nopeuttaa pelaamista lähes kaiken kiihdyttämiseen. Nvidia on kääntynyt mestarillisesti synonyymiksi tekoälylle, prosessiin, joka vaatii suuria määriä rinnakkain käsiteltyjä tietoja ja muita tehtäviä, jotka voidaan rinnastaa hyvin. AMD alkaa pelata kiinniottoa, mutta Nvidialla on pitkä etumatka.

Ytimien osalta se ei ole edes lähellä. Xeon-suorittimissa on enintään 22 ydintä. AMD Epycissä on 32 ydintä. Nvidia Volta -arkkitehtuurissa on 5120 ydintä. Kuvittele nyt, että yli 5000 ydintä toimii rinnakkain datalla, ja on selvää, miksi grafiikkasuorittimista on tullut niin suosittuja valtavissa laskentaprojekteissa.

Joten on syntynyt uusi luokka tietokantoja, jotka on kirjoitettu alusta alkaen tukemaan ja omaksumaan GPU: ita ja niiden massiivisia rinnakkaisia ​​käsittelyominaisuuksia. Nämä tietokannat mahdollistavat uuden tason tietojenkäsittelyn, analytiikan ja reaaliaikaisen Big Datan, koska ne pystyvät käsittelemään sellaisia ​​tietojoukkoja, joita tavalliset CPU-pohjaiset tietokannat eivät yksinkertaisesti pysty.

GPU-tietokanta määritelty

GPU-tietokannan käsite on riittävän yksinkertainen: Se käyttää GPU: iden rinnakkaisuutta massiivisen tietojenkäsittelykiihdytyksen suorittamiseen. GPU soveltuu parhaiten SQL-kyselyjen käsittelyn nopeuttamiseen, koska SQL suorittaa saman toiminnon - yleensä haun - sarjan jokaisella rivillä.

Et kuitenkaan yksinkertaisesti laita joukkoa Nvidia Tesla -kortteja Oracle-tietokantaa palvelevaan palvelimeen. GPU-tietokannat on suunniteltu ja kirjoitettu alusta alkaen suorittamaan rinnakkaista käsittelyä, alkaen SQL: stä LIITTYÄ SEURAAN toimintaan.

LIITTYÄ SEURAANNe luovat yhteyden tietokannan useiden taulukoiden sarakkeiden välille ja ovat kriittisiä merkityksellisen analyysin suorittamiselle. Perinteiset suunnittelumallit LIITTYÄ SEURAANVanhat RDBMS-järjestelmät suunniteltiin vuosia sitten yhden ytimen suorittimille, eivätkä ne sovellu edes suorittimelle, etenkään GPU: lle.

Sen jälkeen LIITTYÄ SEURAANGPU-tietokannoilla on huomattava tuki, mukaan lukien:

  • Liittimet suosittuihin avoimen lähdekoodin kehyksiin, kuten Hadoop, Kafka, HBase, Spark ja Storm.
  • ODBC- ja JDBC-ohjaimet integrointiin olemassa olevien visualisointi- ja BI-työkalujen, kuten Tableau, Power BI ja Spotfire kanssa
  • Sovellusliittymät suosituilla ohjelmointikielillä kuten C ++, SQL, Java, Node.js ja Python.

Missä GPU-tietokantaa käytetään

Tältä osin GPU-tietokannat eivät todellakaan kilpaile Oraclen, SQL Serverin tai DB2: n kanssa. GPU-tietokannat ovat suuntautuneita data-analytiikkapäätösten tekemiseen, joissa yritykset yrittävät tehdä päätöksen reaaliajassa suurista tietomääristä, mutta eivät pysty tekemään sitä, koska tietoja on liikaa tai koska visuaaliset analyysityökalut ovat liian hitaita.

GPU-tietokantatoimittajat eivät näe itseään Oraclen tai OLTP-tietokannan kuten Teradatan korvikkeena. Sen sijaan, että kohdistettaisiin perinteisiin RDBMS-kuormituksiin, GPU-tietokannat tähtäävät OLAP / OLTP-maailmaan ja suuriin tietoihin, joissa tietojoukot ovat valtavat ja tarve reaaliaikainen. Tunnin tai yön yli suoritettujen eräajoprosessien sijaan GPU-tietokannat ovat tietoja, jotka voidaan esittää reaaliajassa tai tunneittain.

GPU-tietokannan pitäisi ratkaista monet ongelmat, joita NoSQL yrittää ratkaista, mutta antaa sinun käyttää olemassa olevia jäsenneltyjä kyselytyökalujasi. NoSQL: n käyttö tarkoittaa kaikkien SQL-työkalujen uudelleenkirjoittamista, mutta GPU-tietokannat käyttävät olemassa olevia SQL-työkaluja.

"Mielestämme näemme ihmisten ymmärtävän, että he voivat tehdä moniulotteisia järjestelmiä, ottaa tietoja useista tilanteista ja yhdistää ne", sanoo Steve Worthington, kehittyvien teknologioiden ratkaisuarkkitehti Datatrend Technologiesille, IT-konsulttiyritykselle, joka käyttää GPU-tietokantaa SQream. "Lääketieteen yritykset haluavat ottaa [tietoja] useista järjestelmistä ja tehdä analyysejä tietokantojen yli, koska aiemmin he eivät voineet tehdä ristiviittauksia eikä heillä ollut mitään tapaa liittyä tietokantoihin."

Hän mainitsee myös rahoituslaitokset, jotka tekevät petoksia ja riskianalyysejä, jotka saattavat vain tehdä vain luottokorttitarkastuksia nyt, mutta haluavat tehdä tarkastuksia useilla tileillä. GPU: n voimalla he voivat viitata kaikkiin näihin tietolähteisiin kerralla.

Rich Suttonille, sijaintipalvelujen tarjoajan Skyhookin paikkatietojen varatoimitusjohtajalle, OmniSci GPU -tietokannan käyttö antaa hänelle paljon suuremman visualisoinnin maantieteellisistä aineistoista kuin hän voisi tehdä prosessoripohjaisen tietokannan kanssa. "Voin ladata miljardi riviä OmniSci-järjestelmään ja vähän tai ei lainkaan viiveellä sen sijaan, että tarvitsisin tarkastella 10000 rivin tietojoukkoa perinteisessä CPU-tilassa", hän sanoo. "Se on useita suuruusluokkia, mikä on minulle hyödyllistä, koska datan kulutus vähenee huomattavasti pienemmällä viiveellä."

OmniSci: n toimitusjohtaja Todd Mostak sanoo, että eräs asiakas kertoi hänelle, että OmniSci: n nopeus "alentaa uteliaisuuden kustannuksia. He esittävät kysymyksiä, joita he olisivat aiemmin pidättäneet. " Yksi rahoituspalvelujen asiakas kertoi hänelle, että 18 tunnin käsittelykysely perinteisessä tietokannassa meni alasekunnissa, kun taas telco kertoi hänelle, että kyselyihin, joiden suorittamiseen kului tunteja, vastataan nyt alle sekunnissa.

Toinen GPU-tietokantojen paikka on reaaliaikainen big data, jossa Hadoop on jäänyt alle. GPU-tietokantapalvelujen tarjoajan SQreamin toimitusjohtaja Ami Gal sanoo, että suurta osaa lupauksista suurista tiedoista - kaikkien kymmenien petatavujen rividatan tarjoamien mahdollisuuksien löytäminen - ei saavutettu Hadoopilla, koska se oli liian hidas.

"Spark on melko hyvä tiedonsiirtoon ja muuntamiseen, mutta kun joudut murskaamaan valtavia määriä dataa ja siirtämään ne, alat käsitellä satoja tuhansia [laskenta] solmuja, ja sen katsotaan olevan liikaa murskata suurissa tietojoukoissa. Mutta jos pystyt siihen kymmenellä tai 15 solmulla, se on paljon tehokkaampaa ”, hän sanoo.

Worthington sanoo, että GPU-pohjaiset palvelimet voivat tehdä yhdessä kabinetissa sen, mikä vaatii monien kaappien verran CPU-powered multi-parallel-processing (MPP) -solmuja. "Voimme korvata MPP-solmujen telineet puolella tusinalla solmua, joista jokaisessa on kaksi tai neljä GPU: ta. Tällä tavoin voimme korvata 10 miljoonan dollarin investoinnin alle miljoonan dollarin investoinnilla ", hän sanoo.

GPU on tärkeä myös Skyhookille, joka visualisoi suuria maantieteellisiä aineistoja. "Jos sinulla on miljoona laitetta kentällä ja ping-paikannus pari kertaa minuutissa, puhut 2 miljardia tietoriviä päivässä. Sitä on mahdotonta kuluttaa perinteisessä tietokannassa. Se ei vain ole mahdollista. Joten [a] GPU [tietokanta] vie sinut sinne, missä voit käyttää kyseisiä tietoja ", Sutton sanoo.

Ennen OmniSci-järjestelmän käyttöönottoa Skyhookin olisi "pyramidisoitava" tiedot, ottaen huomioon vain segmentit siitä visualisointia varten. Nyt Sutton sanoo, että se voi tarkastella koko datakuvaa. "En ole koskaan nähnyt toista realistista tapaa saada tietoja muotoon omaa käyttöäni varten."

GPU-tietokannat: mitä on saatavilla

GPU-tietokannat ovat kokonaan startup-ilmiö, johon kuuluvat yritykset kuten Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom ja Blazegraph.

Kaikki vaihtelevat hieman toimintatavassa. Esimerkiksi OmniSci visualisoi tietoja, kun taas SQream käyttää liittimiä visualisointityökaluihin, kuten Tableau, joten kukin on arvioitava erikseen, jotta voidaan määrittää parhaiten sopiva tarpeisiisi.

RDBMS: n suuria nimiä ei ole vielä päästetty alukseen, lukuun ottamatta IBM: tä, joka tukee joitain GPU-käsittelyjä DB2 Blu: ssa, joka on erityinen DB2-versio analyysin kuormituksille. Oracle ja TeraData ovat molemmat sanoneet työskentelevänsä Nvidian kanssa, mutta siitä ei ole vielä tullut mitään. Microsoft ei tue GPU-kiihdytystä SQL Serverissä. SQream's Gal kertoi kuulleensa, että kaikki RDBMS-toimittajat pyrkivät lisäämään tuotteilleen jonkinlaista GPU-tukea, mutta heillä ei ollut lisätietoja.