Skip to content

loloxwg/KipSQL

 
 

Repository files navigation

KiteSQL Logo

SQL as a Function for Rust

 

CI github star github fork

Introduction

KiteSQL is a lightweight embedded database inspired by MyRocks and SQLite and completely coded in Rust. It aims to provide a more user-friendly, lightweight, and low-loss RDBMS for Rust programming so that the APP does not rely on other complex components. It can perform complex relational data operations.

Key Features

  • A lightweight embedded SQL database fully rewritten in Rust
  • Higher write speed, more user-friendly API
  • All metadata and actual data in KV Storage, and there is no state component (e.g. system table) in the middle
  • Supports extending storage for customized workloads
  • Supports most of the SQL 2016 syntax

Examples

let kite_sql = DataBaseBuilder::path("./data").build()?;

kite_sql
    .run("create table if not exists t1 (c1 int primary key, c2 int)")?
    .done()?;
kite_sql
    .run("insert into t1 values(0, 0), (1, 1)")?
    .done()?;

for tuple in kite_sql.run("select * from t1")? {
    println!("{:?}", tuple?);
}

👉more examples

TPC-C

run cargo run -p tpcc --release to run tpcc

  • i9-13900HX
  • 32.0 GB
  • KIOXIA-EXCERIA PLUS G3 SSD
  • Tips: TPC-C currently only supports single thread
<90th Percentile RT (MaxRT)>
   New-Order : 0.002  (0.025)
     Payment : 0.001  (0.013)
Order-Status : 0.054  (0.159)
    Delivery : 0.020  (0.034)
 Stock-Level : 0.003  (0.004)
<TpmC>
7892 Tpmc

Roadmap

License

KiteSQL uses the Apache 2.0 license to strike a balance between open contributions and allowing you to use the software however you want.

Contributors

About

build the SQL layer of KipDB database

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.9%
  • Dockerfile 0.1%