https://github.com/soundvibe/lasher

Lasher is an embeddable key-value store written in Java.

https://github.com/soundvibe/lasher

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary

Keywords

embedded java key-value map persistent store time-series
Last synced: 6 months ago · JSON representation

Repository

Lasher is an embeddable key-value store written in Java.

Basic Info
  • Host: GitHub
  • Owner: soundvibe
  • License: apache-2.0
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 127 KB
Statistics
  • Stars: 4
  • Watchers: 0
  • Forks: 0
  • Open Issues: 1
  • Releases: 2
Topics
embedded java key-value map persistent store time-series
Created over 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Lasher

Maven Central Build Status codecov

Lasher is an embeddable key-value store written in Java.

What is Lasher?

Lasher is very lightweight embeddable persistent key-value store with very fast performance.

It is possible to store millions of elements in Lasher and use very little memory because all the data is persisted into memory mapped files.

Lasher could be used instead of any regular in-memory hashmap without sacrificing performance. It is even faster than ConcurrentHasMap<K,V> in our benchmarks and uses much less memory.

Lasher stores consist of 2 binary files - index and data.

LasherDB

General purpose key value store, partitioned by local shards.

LasherMap

LasherMap implements ConcurrentMap<K,V> for easier interoperability with java maps.

TimeLash

TimeLash is a time-series map backed by Lasher where data is partitioned by time intervals. It supports very efficient data retention strategies. To put or get values from the map, timestamp should be additionally provided, e.g.:

java try (var timeLash = new TimeLash<>( dir, //db directory Duration.ofHours(6), //data retention duration Serdes.STRING, //key serde Serdes.STRING)) // value serde { timeLash.put("foo", "bar", Instant.now()); var bar = timeLash.get("foo", Instant.now()); }

Artifacts

Lasher is available on Maven Central, hence just add the following dependency: xml <dependency> <groupId>net.soundvibe</groupId> <artifactId>lasher</artifactId> <version>0.0.3</version> </dependency>

Scala SBT scala libraryDependencies += "net.soundvibe" % "lasher" % "0.0.3"

Contributions

Any helpful feedback is more than welcome. This includes feature requests, bug reports, pull requests, constructive feedback, etc.

Copyright & License

Lasher © 2020 Linas Naginionis. Licensed under the terms of the Apache License, Version 2.0.

Owner

  • Name: Linas N.
  • Login: soundvibe
  • Kind: user
  • Location: Vilnius
  • Company: Chronosphere

GitHub Events

Total
  • Create event: 1
Last Year
  • Create event: 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 12 months
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • arjunsk (1)
Pull Request Authors
  • soundvibe (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
repo1.maven.org: net.soundvibe:lasher

Embeddable persistent key-value store

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Stargazers count: 35.0%
Average: 38.9%
Forks count: 39.8%
Dependent packages count: 48.9%
Last synced: 6 months ago

Dependencies

pom.xml maven
  • org.junit.jupiter:junit-jupiter 5.6.2 test
.github/workflows/maven.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • codecov/codecov-action v1.2.1 composite