Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
GPU database engine
Cuda C C++ Yacc Other
branch: master
Failed to load latest commit information.
AlenkaBLU.md bug fixes
Makefile modified the Makefile
Makefile.win A few updates
MurmurHash2_64.cu .
SSB_bitmap_indexes.zip A few updates
SSB_load.zip Modified load scripts
SSB_queries_with_bitmaps.zip Bitmap index support & SSD storage support
alenka.h Exposed data.dict
atof.cu Added Makefiles for Windows and Linux
atof.h Added Makefiles for Windows and Linux
bison.cu Fixed a bug with floating point calculations
bison.tab.c Fixed a bug with floating point calculations
bison.tab.h Fixed a bug with floating point calculations
bison.y Minor updates
callbacks.c License change
callbacks.h License change
change.log Changed the storage model for strings
cm.cu Some code improvements
cm.h Fixed a bug with floating point calculations
compress.cu Some code improvements
filter.cu Code cleanup
filter.h License change
fl.l Minor changes
green.md green.md change
how_to_run_tpch.txt Added how_to_run_tpch file
lex.yy.c Fixed a bug with floating point calculations
load_tpch.zip Replaced "REFERENCES" with run-time checks
main.cu Database load modifications
manual.txt Added better formatting.
merge.cu Better performance for group operator
merge.h License change
monster.md monster.md updated
operators.cu Fixed a bug with floating point calculations
operators.h Moved most ops to operators.cu
readme.md .
select.cu Better GroupBy performance
select.h Changed the license to GPL 3.0
sorts.cu Performance improvements for group operator
star_queries_no_bitmaps.zip Bitmap index support & SSD storage support
stdint.h 4-4-2012-commit
strings.cu Minor changes
strings.h Performance improvements for group operator
strings_join.cu Scalability-related changes
strings_sort_device.cu License change
strings_sort_host.cu License change
strings_type.h Bitmap index support & SSD storage support
tpc-h_queries.zip A few fixes
zone_map.cu Minor updates
zone_map.h License change

readme.md

Welcome to Alenka - GPU database engine

How to build?

Download Alenka

Download ModernGpu library

Unzip ModernGPU into Alenka directory

Run Makefile or Makefile.win

What is this?

This is a GPU based database engine written to use vector based processing and high bandwidth of modern GPUs

Features :

  • Vector-based processing
    CUDA programming model allows a single operation to be applied to an entire set of data at once.

  • Smart compression
    Ultra fast compression and decompression on GPU. Database operations on compressed data.

  • Column-based storage
    Minimizes disk I/O by only accessing the relevant data.

  • Data skipping
    Better performance without indexes.

  • Fast Loading
    Gpu based CSV parser loads the data into database at very high speed.

How to use it ?

Create your data files :

Run scripts load_orders.sql, load_lineitem.sql and load_customer.sql to create your database files.

Run your queries from a command prompt or use Alenka JDBC driver from Technica Corporation

Step 1 - Filter data

OFI := FILTER orders BY o_orderdate < 19950315;

CF := FILTER customers BY c_mktsegment == "BUILDING";

LF := FILTER lineitem BY shipdate > 19950315;

Step 2 - Join data

OLC := SELECT o_orderkey AS o_orderkey, o_orderdate AS o_orderdate, o_shippriority AS o_shippriority, price AS price, discount AS discount FROM LF JOIN OFI ON orderkey = o_orderkey JOIN CF ON o_custkey = c_custkey;

Step 3 - Group data

F := SELECT o_orderkey AS o_orderkey1, o_orderdate AS orderdate1, o_shippriority AS priority, SUM(price*(1-discount)) AS sum_revenue, COUNT(o_orderkey) AS cnt
FROM OLC GROUP BY o_orderkey, o_orderdate, o_shippriority;

Step 4 - Order data

RES := ORDER F BY sum_revenue DESC, orderdate1 ASC;

Step 5 - Save the results

STORE RES INTO 'results.txt' USING ('|') LIMIT 10;

Something went wrong with that request. Please try again.