delta-search is a simple database engine created for learning purposes and built in Rust 🦀
To see delta-search in action and understand how to use it, check out the different examples.
delta-search can be run in Docker by building the image:
docker build -t delta-search .And then starting a container:
docker run -dp 127.0.0.1:3000:3000 --rm --name delta-search delta-searchOr using docker compose:
docker compose upYou can execute different operations via REST API to create and update entities, as well as running queries. The API is available after running delta-search via:
cargo run --releasePOST /entities/{entity_name}: define a new entity with a given name.PUT /data/{entity_name}: store or update data in bulk in an entity entry.POST /deltas/{entity_name}: store deltas with a given branch in an entity entry.PUT /indices/{entity_name}: create a new index for a given property in an entity entry.POST /options: list filter options given a search query.POST /search: send a search query.
delta-search aims to provide simple filtering and sorting capabilities, while allowing to apply temporary deltas in memory, on top of the existing data stored on disk using LMDB. This is especially interesting when visualizing potential changes in your data without persisting them yet.
This repository makes use of just to simplify useful command lines. Check the available recipes with:
just -l