Skip to content

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

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.004)
     Payment : 0.001  (0.025)
Order-Status : 0.053  (0.175)
    Delivery : 0.022  (0.027)
 Stock-Level : 0.003  (0.019)
<TpmC>
7815 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy