Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
GPU database engine
Cuda C C++ Bison
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 Minor changes
bison.tab.c Minor changes
bison.tab.h Minor changes
bison.y Minor updates
callbacks.c License change
callbacks.h License change
change.log Changed the storage model for strings
cm.cu Better GroupBy performance
cm.h Better GroupBy performance
compress.cu Better GroupBy performance
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 Minor changes
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 Minor changes
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.