Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

KipData/KiteSQL

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

πŸ‘‰check more

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

πŸ‘‰check more

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

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /