Alenka

GPU 数据库引擎。「GPU database engine」

Github星跟踪图

Welcome to Alenka - GPU database engine

What is this?

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

Requirements

  • CUDA (nvcc) + Nvidia GPU
  • bison
  • flex
  • Modern GPU Library (included as submodule)

How to build?

git clone --recursive https://github.com/antonmks/Alenka.git
cd Alenka
make

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;

####Alenka is licensed under Apache 2.0 license.

主要指标

概览
名称与所有者antonmks/Alenka
主编程语言Cuda
编程语言Makefile (语言数: 6)
平台
许可证Other
所有者活动
创建于2012-04-04 19:01:00
推送于2017-01-31 02:30:28
最后一次提交2017-01-31 02:30:16
发布数0
用户参与
星数1.2k
关注者数91
派生数120
提交数493
已启用问题?
问题数85
打开的问题数12
拉请求数18
打开的拉请求数0
关闭的拉请求数11
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?