An append-only, key-multivalue store
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper
src
.gitignore
.travis.yml
LICENSE
README.md
build.gradle
gradlew
jitpack.yml
settings.gradle

README.md

Uppend: an append-only, key-multivalue store

Build Status Release Artifact Test Coverage

Uppend is an append-only, key-multivalue store which is suitable for streaming event aggregation. It assumes a single writer process, and appended values are immutable.

Use

Maven:

<dependency>
    <groupId>com.upserve</groupId>
    <artifactId>uppend</artifactId>
    <version>0.0.1</version>
</dependency>

Gradle:

compile 'com.upserve:uppend:0.0.1'

Hello world:

AppendOnlyStore db = Uppend.store("build/tmp-db").build();

db.append("my-appendStorePartition", "my-key", "value-1".getBytes());
db.append("my-appendStorePartition", "my-key", "value-2".getBytes());

String values = db.readSequential("my-appendStorePartition", "my-key")
        .map(String::new)
        .collect(Collectors.joining(", "));
// value-1, value-2

Development

To build Uppend, run:

./gradlew build

To benchmark Uppend:

./gradlew clean fatJar
java -jar build/libs/uppend-all-*.jar benchmark --help