ja.som.it Startup DropDBase: In-memory databáza s využitím GPU

DropDBase: In-memory databáza s využitím GPU

Problémom v oblasti Big Data je spracovávanie takého obrovského množstva dát v reálnom čase. Požiadavka na rýchle spracovanie veľkých dát býva častokrát v oblasti bankovníctva alebo v niektorých prípadoch dátovej analytiky.

Náš cieľ?

Celkom jasný – vytvoriť najrýchlejšiu databázu na svete.

Ako to celé funguje…

Klasické relačné databázy majú dáta usporiadané v riadkoch tabuľky a tieto dáta sa spracovávajú na procesore. Rýchlejší, ale zároveň zložitejší prístup je organizovať dáta do stĺpcov, kde tieto stĺpce spolu tvoria tabuľku. Tu nastáva problém s preusporiadavaním dát v rámci tabuľky – treba dávať pozor na to, že sa musia preusporiadať všetky stĺpce. Na toto treba myslieť hlavne pri indexovaní. Spracovávanie jednotlivých dopytov sa dá pri stĺpcových databázach ľahšie vykonávať na grafických kartách, ktoré síce majú menej výkonné jadrá oproti procesoru, ale za to ich majú mnohonásobne viac.

Predstavenie projektu DropDBase. Cieľom projektu je vytvoriť najrýchlejšiu databázu na svete. Táto databáza je špecifická tým, že dáta sa počas behu databázy nachádzajú v operačnej pamäti a sú usporiadané v stĺpcoch, ktoré spolu tvoria tabuľku. Databáza je akcelerovaná prostredníctvom grafických kariet.

Tým pádom vieme lepšie využiť silu paralelizmu. Ďalšími úzkymi hrdlami sú pevné disky a zbernica. Zvolili sme prístup mať všetky dáta v operačnej pamäti a dáta, ktoré sa spracovávajú sa nakopírujú do video pamäte grafických kariet. Kopírovanie dát je stále veľmi časovo náročná operácia, najmä, keď každá milisekunda výpočtu je dôležitá. Preto sa snažíme znížiť potrebu kopírovania – robíme caching (prostredníctvom Least Reccently Used algoritmu) medzivýsledkov vo video pamäti grafických kariet.

Architektúra projektu – databáza spolu s prepojením na webový frontend prostredníctvom aplikačného servera.

Porovnanie rýchlosti s konkurenciou

Pre porovnanie sme zvolili databázu, ktorej dopyty sa spracovávajú na procesore – Microsoft SQL, avšak s nastavením Column Store. A ako druhého protivníka sme zvolili v súčasnosti najznámejšiu databázu akcelerovanú grafickými kartami – MapD (OmniSci). Naša databáza je ešte stále vo vývoji a predpokladáme, že v najbližších týždňoch prekonáme MapD (vyvíjame indexovanie dát a ich kompresiu kvôli priepustnosti zbernice).

Operačný systém Ubuntu 18.04
Procesor AMD Ryzen Threadripper 2950X 16-Core Processor 3.50 GHz
Grafické karty 2x NVIDIA GeForce GTX 1080 Ti
Operačná pamäť (RAM) 128 GB DDR4 3000 MHz

Hardvér a softvér servera, na ktorom boli databázy testované.

  Microsoft SQL MapD DropDBase
Prvý dopyt 12885 ms 50128 ms 545 ms
Druhý dopyt 300 ms 47 ms 61 ms

Porovnanie rýchlostí prvého a druhého dopytu (druhý dopyt využíva cache). Dopyty boli vykonávané nad 1 miliardou riadkov dát.

Použitie databázy na dátovú analytiku

Aby sme mohli jasne demonštrovať výhody nášho riešenia, vytvorili sme aj webový frontend, ktorý umožňuje používateľovi zvoliť si jednotlivé filtre (a tým vyskladať dopyt do databázy) a následne vidieť prepočítavanie údajov v reálnom čase.

Ukážka jednej zo stránok webového klienta.

Technológie

V projekte používame nasledovné technológie a programovacie jazyky:

  • C++
  • C#
  • CUDA
  • CMake
  • Antlr 4
  • Google Protocol Buffers
  • Angular
  • Leaflet
  • Chart.js
  • Bootstrap
  • ASP.NET

Niečo o nás

Sme tím 8 študentov FIIT STU a na tomto projekte pracujeme v rámci školského predmetu v spolupráci s firmou Instarea. Našim pedagogickým vedúcim je Ing. Marek Lóderer.

Členovia tímu (zľava doprava): Bc. Nikolas Hamran, Bc. Andrej Fúsek, Bc. Martin Petráš, Bc. Alexandra Smolová, Bc. Veronika Včelková, Bc. Martin Staňo, Bc. Dávid Kubík, Bc. Jakub Veselý

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

TP Cup
TP Cuphttp://www.fiit.stuba.sk/tp-cup/index.html
Prestížna súťaž TP Cup dáva študentom inžinierskeho štúdia FIIT v Bratislave príležitosť preukázať svoje schopnosti pri tvorbe jedinečných riešení v rámci predmetu, v ktorom sa v tíme dva semestre vytvára riešenie problému spojeného s odborom, ktorý študenti študujú.

Android Developer

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Máme pre teba projekt na kontrakt s odmenou 3500 - 4000+...

iOS Developer

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Máme pre teba projekt na kontrakt s odmenou 3500 - 4000+...

JavaScript Developer

Slovenská firma, ktorá má ambície vybodovať svetovú UX research platformu rozširuje svoj tím a hľadá JavaScript Developera. Pracoval by si...

Linux Admin

Pre spoločnosť, ktorá sa sa zaoberá hostingom webov a aktuálne rýchlo expanduje, hľadáme Linux Admina. Môžeš pracovať na kontrakt alebo...

Lead Developer Architect

Hľadáš istotu a stabilitu v zamestnaní? Medzinárodná spoločnosť, ktorá vyvíja finančný softvér hľadá Lead Developer Architect-a. Ide o prácu na...

.NET Developer

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Máme príležitosť pre .NET Developera. Projekt je na kontrakt s odmenou...

Tester_remote

Pracuj na svetovom SW produkte, ktorý je používaný miliónmi používateľov! Firma rýchlo rastie a vyvíja nové features. Poznáme ich prostredie...

GIRL´S DAY už po ôsmy raz priblíži stredoškoláčkam svet technológií

Už po ôsmy raz sa uskutoční celoslovenské podujatie GIRL´S DAY, ktoré prepája IT firmy a organizácie so stredoškoláčkami po...

Čo chcú ITčkári od firiem: Peniaze, peniaze, peniaze

Hlavný motivátor? Plat, Plat, Plat Najsilnejším motivačným faktorom pre respondentov je po novom platové ohodnotenie. Pri odpovedi na otázku “Čo...

Firmy častokrát nevedia využívať svoje dáta ako relevantný podklad pre rozhodovanie

Kvalitná analýza dát sa stáva v čoraz nevyspytateľnejšom ekonomickom prostredí jedným z najdôležitejších podkladov pre riadenie firiem. Konferencia Power BI Day...

Čítaj ďalej:

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.