Skip to content

v0.1.1

Latest
Compare
Choose a tag to compare
@godcrampy godcrampy released this 04 Feb 21:27

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