Lykia is a document database management system built for educational purposes. The famous book, Crafting Interpreters, was the main source of inspiration for the project. It turned into a database, though.
- 100% safe Rust, #BlazinglyFast
- A weird scripting and query language, combination of JavaScript and SQL. The language is a separate module thus can be used without the database.
- A subset of JSON data types in both scripting language itself and storage
- In-disk and in-memory storage
- ACID compliance
- Replication
- Core scripting language + DML/DDL SQL
- A minimal standard library
- Runtime
- Playground app
- Query binding and planning (in progress)
- LSM storage engine (based on mini-lsm)
- MVCC for transaction management (based on mini-lsm)
- Plan optimization
## More ambitious roadmap:
- Basic replication with Raft
To use Lykia, you can download the latest release from the GitHub releases page.
Run the server:
$ cargo run --release --bin lykiadb-server
Run the shell:
$ cargo run --release --bin lykiadb-shell lykiadb-shell/examples/fib.ly
For playground, please visit lykia-rs/playground
Lykia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.