Typical Use Cases¶

Database acceleration can be achieved in different granularity and flexibility, and this library supports the following use cases:

Acceleration Scope Developer’s Usage of Database Library
One hot SQL query Write a query-specific kernel with modules from the library.
Specific query step Write a dedicated kernel for some specific execution step [1], like hashing.
General SQL query acceleration Use or derive predefined kernels from library to offload matching execution step(s) to FPGA.

Developers targeting the first or second use case may reference the L1 Module User Guide section, while those aim to accelerate database on general cases could find the most related info in L2 GQE Kernel User Guide section.

Developers looking for fast FPGA adoption in database without going into hardware details should look into the L3 GQE Overlay User Guide, in which we will present our overlay with pure software APIs.

Note

L3 Overlay is still under active development now. Stay tuned!

[1]Execution plan is an ordered list of primitive steps to execute an SQL query in a relational database.