VitaDB is an experimental, distributed, fault-tolerant database designed for both learning and potential production use.
The focus of VitaDB is to explore and implement core concepts of distributed systems, such as durability, consistency, and fault tolerance, starting with basic features and progressively building toward a robust, scalable solution.
VitaDB is in the early stages of development. The initial focus is on implementing a Write-Ahead Log (WAL) for durability and ensuring data integrity during operations.
As development progresses, additional features like transactional support, concurrency control, and performance optimizations will be introduced.
Since VitaDB is still under active development, it is not yet ready for production use. However, you are welcome to explore the code, contribute, or use it as a learning resource.
To run VitaDB on your local machine, follow these steps:
-
Prerequisites
- Go 1.21 or later
- Make (optional, but recommended)
-
Clone the Repository
git clone https://github.com/yourusername/vitadb.git
cd vitadb
- Build the Project If you have Make installed:
make build
Otherwise, use Go directly:
go build ./...
- Run VitaDB To start the VitaDB server:
go run cmd/server/main.go
Use vitadb-cli
to connect to server:
go run cmd/client/main.go
If you have Make installed:
make run
make cli
- Using the CLI Once VitaDB is running, you can interact with it using the built-in CLI. Here are some basic commands:
- Set a key-value pair:
set <key> <value>
- Get a value:
get <key>
- Delete a key:
delete <key>
- Exit the CLI:
exit
- Running Tests
To run the test suite:
make test
Or without Make:go test ./...
VitaDB is released under the MIT License.