# rapto
**Repository Path**: zxf945/rapto
## Basic Information
- **Project Name**: rapto
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: unstable
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-15
- **Last Updated**: 2025-06-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
For engineers seeking a fast, memory-efficient database/data engine,
Rapto provides transposition-heuristic storage, low memory footprint and high-performance querying.
## Table of contents
- [Table of contents](#table-of-contents)
- [๐๏ธโ๐จ๏ธ Overview](#๏ธ๏ธ-overview)
- [๐ The development and use cases](#-the-development-and-use-cases)
- [๐ Benchmarks](#-benchmarks)
- [๐ Getting started](#-getting-started)
- [๐ Dependencies and compatibility](#-dependencies-and-compatibility)
- [๐ ๏ธ How to build](#๏ธ-how-to-build)
- [๐งช Usage](#-usage)
- [๐ Documentation](#-documentation)
## ๐๏ธโ๐จ๏ธ Overview
This repository is about Rapto server. Clients are put in specific repositories and are divided by language.
## ๐ The development and use cases
**Rapto** is built on several pillars that set it apart from other data engines.
Its core principles are footprinting, speed, minimalism, and security:
- Footprinted
- Memory control is a key component. Memory usage is monitored during each operation to ensure efficient and predictable behavior.
- Fast
- Rapto offers competitive latency compared to other in-memory key-value databases, making it suitable for high-performance scenarios.
- Minimal
- The code base is small, well-documented, and efficient, prioritizing clarity without compromising capabilities.
- Secure
- Written entirely in Zig, Rapto leverages the language's security and reliability features, making it a great candidate for use in distributed systems.
These features make Rapto a choice for high-reliability professional contexts, now and in the future.
## ๐ Benchmarks
Valid benchmarks are available through Rapto clients.
Internal tests focusing exclusively on query resolution within the engine have shown latencies in the range of **~3** to **~6** **microseconds**.
However, these results are not publicly verified and should be considered indicative only.
## ๐ Getting started
This section is about the server building and usage.
### ๐ Dependencies and compatibility
The only dependencies are `libc` and `lz4`.
Rapto is only compatible with Linux/Unix-like systems.
### ๐ ๏ธ How to build
The code is compiled using the Zig build system. Version 0.14.0+ is required.
> [!NOTE]
> Release modes are not included in the build file. In different contexts you can choose the appropriate one.
> For high performance contexts it is recommended to use the `-OReleaseFast` parameter.
Example: `zig build -OReleaseFast`
The result will be a executable `rapto` in zig-out folder.
### ๐งช Usage
To use the executable with the various options it is better to consult [/docs/usage](https://github.com/raptodb/rapto/blob/unstable/docs/usage) and [/docs/README.md](https://github.com/raptodb/rapto/blob/unstable/docs/README.md)
Example: `./rapto server --name mydb --db-size 150000 --save 300 100 --addr 127.0.0.1:30000`
### ๐ Documentation
The documentation are provided in [/docs/README.md](https://github.com/raptodb/rapto/blob/unstable/docs/README.md) file.