Skip to content

Releases: godcrampy/fireflydb

v0.1.1

04 Feb 21:27
Compare
Choose a tag to compare

FireflyDB

FireflyDB is a fast, thread-safe, JVM-based key-value storage engine with microsecond latency. FireflyDB is 20x faster
for reads and 10x faster for writes than Bitcask, which has a similar architecture.

Installation

Maven

<dependency>
    <groupId>com.sahilbondre</groupId>
    <artifactId>fireflydb</artifactId>
    <version>0.1.1</version>
</dependency>

Gradle

implementation 'com.sahilbondre:fireflydb:0.1.1'

API

FireflyDB fireflyDB=FireflyDB.getInstance("path/to/db");
    fireflyDB.start();

// Write
    byte[]key="testKey".getBytes();
    byte[]value="testValue".getBytes();

    fireflyDB.put(key,value);

// Read
    byte[]result=fireflyDB.get(key);

// Compaction 
// FireflyDB will compact automatically but can be triggered on demand.
    fireflyDB.compact();

    fireflyDB.stop();

Potential Improvements

  • Add an explicit delete operation.
  • Expose compaction size as a configuration option.
  • Expose compaction interval as a configuration option.
  • Allow larger key size as a configuration option.
  • Expose read only mode.

What's Changed

Full Changelog: v0.1.0...v0.1.1

Pre-Release - v0.1.0

04 Feb 18:06
9549013
Compare
Choose a tag to compare
Pre-Release - v0.1.0 Pre-release
Pre-release
  • Core API supported with compaction.
  • Hosted on central repository.

Installation

  1. Maven
<dependency>
    <groupId>com.sahilbondre</groupId>
    <artifactId>fireflydb</artifactId>
    <version>0.1.0</version>
</dependency>
  1. Gradle
implementation group: 'com.sahilbondre', name: 'fireflydb', version: '0.1.0'