Programovanie

Čo pre vás môže urobiť databáza napájaná GPU

Databáza SQL sa datuje do 70. rokov a od 80. rokov je štandardom ANSI, ale to neznamená, že táto technológia stále stojí. Stále sa mení a jedným z týchto spôsobov sú aj databázy zrýchlené pomocou GPU.

Veľkosť relačných databáz vzrástla na súbory údajov, ktoré merajú v petabajtoch a viac. Aj napriek príchodu 64-bitových výpočtov a terabajtov pamäte na zvýšenie spracovania je to ešte stále veľa údajov, ktoré treba prežiť - a CPU ich zvládne iba toľko. To je miesto, kde prišli GPU.

GPU sa zmenili zo svojej pôvodnej úlohy zrýchľovania hier na zrýchlenie takmer všetkého. Nvidia sa majstrovsky zamerala na to, aby sa stala synonymom umelej inteligencie, čo je proces, ktorý vyžaduje obrovské množstvo paralelne spracovaných údajov a ďalšie úlohy, ktoré je možné dobre paralelizovať. AMD začína hrať catchup, ale Nvidia má dlhé vedenie.

Pokiaľ ide o jadrá, nie je to ani zďaleka. CPU Xeon majú maximálne 22 jadier. AMD Epyc má 32 jadier. Architektúra Nvidia Volta má 5 120 jadier. Teraz si predstavte viac ako 5 000 jadier bežiacich paralelne na dátach a je jasné, prečo sa GPU stali tak populárnymi pre veľké výpočtové projekty.

Takže sa objavila nová trieda databáz, napísaná od základu na podporu a prijatie GPU a ich masívnych schopností paralelného spracovania. Tieto databázy umožňujú nové úrovne spracovania údajov, analýzy a veľkých dát v reálnom čase, pretože dokážu spracovať súbory údajov, ktoré bežné databázy s procesorom CPU jednoducho nemôžu.

Bola definovaná databáza GPU

Koncept databázy GPU je dosť jednoduchý: využíva paralelizmus GPU na vykonávanie masívnej akcelerácie spracovania údajov. GPU je ideálne vhodný na urýchlenie spracovania dotazov SQL, pretože SQL vykonáva rovnakú operáciu - zvyčajne vyhľadávanie - na každom riadku v množine.

Na server hostiaci databázu Oracle však jednoducho nevložíte veľa kariet Nvidia Tesla. Databázy GPU boli navrhnuté a zapísané od základu tak, aby vykonávali paralelné spracovanie počnúc SQL PRIPOJTE SA operácie.

PRIPOJTE SAs vytvárajú vzťah medzi stĺpcami z viacerých tabuliek v databáze a sú rozhodujúce pre vykonávanie zmysluplnej analýzy. Tradičné prístupy k dizajnu pre PRIPOJTE SANa starších systémoch RDBMS boli pred rokmi navrhnuté pre jednojadrové procesory a nedokážu sa dobre vyrovnať ani s procesorom, tým menej s grafickým procesorom.

Ďalej PRIPOJTE SAs, databázy GPU majú značnú úroveň podpory vrátane:

  • Konektory populárnych rámcov otvoreného zdroja, ako sú Hadoop, Kafka, HBase, Spark a Storm.
  • Ovládače ODBC a JDBC pre integráciu s existujúcimi vizualizáciami a nástrojmi BI, ako sú Tableau, Power BI a Spotfire
  • API pre väzby s populárnymi programovacími jazykmi ako C ++, SQL, Java, Node.js a Python.

Kde použiť databázu GPU

Z tohto hľadiska databázy GPU v skutočnosti nekonkurujú produktom Oracle, SQL Server alebo DB2. Databázy GPU sú orientované na rozhodovanie o analýze údajov, kde sa spoločnosti snažia robiť rozhodnutia v reálnom čase z veľkého množstva údajov, ale nedokážu to urobiť, pretože je ich príliš veľa alebo pretože nástroje na vizuálnu analýzu sú príliš pomalé.

Predajcovia databáz GPU sa nevidia ako náhrada za Oracle alebo databázu OLTP ako Teradata. Namiesto zamerania na tradičné pracovné zaťaženie RDBMS sa databázy GPU zameriavajú na svet OLAP / OLTP a veľké dáta, kde sú množiny údajov obrovské a ich potreba je v reálnom čase. Namiesto dávkových procesov prebiehajúcich cez hodiny alebo cez noc sú v databázach GPU dáta, ktoré je možné prezentovať v reálnom čase alebo na hodinovej báze.

Databáza GPU by mala vyriešiť veľa problémov, ktoré sa NoSQL snaží vyriešiť, ale umožní vám použiť vaše existujúce nástroje na štruktúrované dotazy. Používanie NoSQL znamená prepisovanie všetkých vašich nástrojov SQL, ale databázy GPU používajú existujúce nástroje SQL.

„Myslíme si, že uvidíme, že si ľudia uvedomia, že môžu robiť multidimenzionálne systémy, brať údaje z viacerých scenárov a kombinovať ich,“ hovorí Steve Worthington, architekt riešenia technologických riešení pre Datatrend Technologies, IT konzultanta, ktorý využíva databázu GPU SQream. „Lekárske spoločnosti chcú brať [údaje] z viacerých systémov a robiť analýzy naprieč databázami, pretože predtým nemohli robiť krížové odkazy a nemali žiadny spôsob, ako sa k databázam pripojiť.“

Cituje tiež finančné inštitúcie, ktoré vykonávajú podvody a analýzy rizík, ktoré by teraz mohli robiť iba kontroly kreditných kariet, ale chcú robiť kontroly na viacerých účtoch. Vďaka sile GPU môžu porovnávať všetky tieto zdroje informácií naraz.

Pre Richa Suttona, viceprezidenta geopriestorových údajov spoločnosti Skyhook, poskytovateľa lokalizačných služieb, mu použitie databázy OmniSci GPU poskytuje oveľa väčšiu vizualizáciu geografických súborov údajov, ako by mohol robiť s databázou založenou na CPU. „Dokážem načítať miliardu riadkov do OmniSci a s malou alebo žiadnou latenciou, namiesto toho, aby som sa musel pozerať na dátovú sadu 10 000 riadkov v tradičnom priestore CPU,“ hovorí. "Je to pre mňa prospešné viacnásobné rádové zníženie spotreby dát s výrazne zníženou latenciou."

Todd Mostak, generálny riaditeľ spoločnosti OmniSci, tvrdí, že jeden zákazník mu povedal, že rýchlosť technológie OmniSci „znižuje náklady na zvedavosť. Kladú otázky, ktoré by predtým držali späť. “ Jeden zákazník poskytujúci finančné služby mu povedal, že 18-hodinový dopyt na spracovanie v tradičnej databáze klesol na jednu sekundu, zatiaľ čo telekomunikačný úrad mu povedal, že dotazy, ktorých spustenie trvalo hodiny, teraz odpovedajú za sekundu.

Ďalším miestom pre databázy GPU sú veľké dáta v reálnom čase, kde Hadoop zaostal. Ami Gal, generálna riaditeľka poskytovateľa databáz GPU SQream, hovorí, že veľká časť prísľubu veľkých dát - nájdenie všetkých príležitostí, ktoré sa nachádzajú v desiatkach petabajtov riadkových dát - sa na serveri Hadoop nedosiahla, pretože bola príliš pomalá.

"Spark je celkom dobrý pre pohyb a transformáciu dát, ale akonáhle potrebujete prelomiť obrovské množstvo dát a presunúť ich, začnete narábať so stotisícmi [výpočtových] uzlov, čo sa vo veľkých množinách dát považuje za priveľa." Ale ak to zvládnete s desiatimi alebo 15 uzlami, je to oveľa efektívnejšie, “hovorí.

Worthington hovorí, že servery založené na GPU môžu robiť v jednej skrini to, čo si vyžaduje veľa skriniek v uzloch MPP (multi-parallel-processing) s procesorom. „Môžeme nahradiť stojany uzlov MPP za pol tucta uzlov, z ktorých každý má dva až štyri GPU. Vďaka tomu môžeme nahradiť investíciu v hodnote 10 miliónov dolárov investíciou do 1 milióna dolárov, “hovorí.

GPU je tiež dôležité pre Skyhook, ktorý robí vizualizáciu veľkých geografických súborov dát. "Ak máte v teréne milión zariadení a pingujete polohu párkrát za minútu, hovoríte o 2 miliardách dátových riadkov denne." To je nemožné spotrebovať v tradičnej databáze. To jednoducho nie je možné. Takže [a] GPU [databáza] vás dostane tam, kde môžete tieto údaje spotrebovať, “hovorí Sutton.

Pred prijatím OmniSci by Skyhook musel „pyramidizovať“ údaje, pričom na vizualizáciu by bral iba ich segmenty. Teraz, Sutton hovorí, že sa môže pozrieť na celý údajový obrázok. "Nikdy som nevidel iný realistický spôsob, ako dostať dáta do formy pre svoj druh použitia."

Databázy GPU: Čo je k dispozícii

Databázy GPU sú úplne fenoménom startupu so spoločnosťami ako Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom a Blazegraph.

Všetky sa mierne líšia v tom, ako fungujú. Napríklad OmniSci robí vizualizáciu dát, zatiaľ čo SQream používa konektory na vizualizačné nástroje ako Tableau, takže každý z nich musí byť individuálne vyhodnotený, aby sa určilo, čo najlepšie vyhovuje vašim potrebám.

Veľké mená v RDBMS sa ešte musia dostať, s výnimkou IBM, ktorá podporuje niektoré spracovanie GPU v DB2 Blu, špeciálnej verzii DB2 pre analytické úlohy. Spoločnosti Oracle a TeraData sa vyjadrili, že spolupracujú so spoločnosťou Nvidia, ale zatiaľ z toho nič nebolo. Spoločnosť Microsoft nepodporuje akceleráciu GPU na serveri SQL Server. Gal spoločnosti SQream povedal, že počul, že všetci predajcovia RDBMS pracujú na pridaní podpory svojich produktov do svojich radov, ale nemal k dispozícii žiadne ďalšie informácie.

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