TheIllusionistMirage / sukuna

Sukuna is an experimental log based (SSTable), disk backed, key-value storage engine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sukuna

Sukuna is an experimental log based (SSTable), disk backed, key-value storage engine.

Dependencies

  • JDK 16 or higher
  • Maven 3.8.1 or higher

Build

$ git clone https://github.com/TheIllusionistMirage/sukuna.git
$ cd sukuna
$ ./build.sh

This will build three JAR files corresponding to the modules sukuna-engine, sukuna-service and sukuna-cli-client.

The JAR for sukuna-engine can be embedded into any Java application that wants to control how the engine is hosted.

Trying It Out

Starting the Service

sukuna-service is the default TCP based DB service program.

$ cd sukuna-service
$ java -jar ./target/sukuna-service-<version>-shaded.jar  # Where version is the application version in sukuna-service/pom.xml

Using the Client

sukuna-cli-client is the default TCP based DB client program.

$ cd sukuna-cli-client
$ java -jar ./target/sukuna-cli-client-<version>-shaded.jar  # Where version is the application version in sukuna-cli-client/pom.xml

Currently only two operations are supported:

  • get <key>
  • set <key> <value>

Documentation

You can find the documentation related to this project in the design directory.

License

Sukuna is licensed under GNU AGPLv3, see LICENSE for more details.

About

Sukuna is an experimental log based (SSTable), disk backed, key-value storage engine.

License:GNU Affero General Public License v3.0


Languages

Language:Java 100.0%Language:Shell 0.0%Language:PowerShell 0.0%