SwayDB

Persistent and in-memory key-value storage engine for JVM that scales on a single machine.

APACHE-2.0 License

Stars
293

Bot releases are hidden (Show)

SwayDB - v0.12.2

Published by simerplaha over 4 years ago

Closed Java issues

  • #188 Support for partial ordering/comparableKey in Java
  • #191 Use primitives in Java Map and Set instead of java.lang.Integer and java.lang.Boolean
SwayDB - v0.12.1

Published by simerplaha over 4 years ago

Fix for

  • #189 - Stream.foreach should not return a ListBuffer[Unit]
SwayDB - v0.12

Published by simerplaha over 4 years ago

Performance release.

SwayDB - v0.12-RC3

Published by simerplaha over 4 years ago

Supported partial key fetches and implemented functions needed to run performance benchmarks.

SwayDB - v0.12-RC2

Published by simerplaha over 4 years ago

Performance improvements

SwayDB - v0.12-RC1

Published by simerplaha over 4 years ago

Contains performance improvements. Full release note will be available with v0.12 release

This release is NOT binary compatible with previous releases.

SwayDB - v0.11

Published by simerplaha almost 5 years ago

Major release with performance improvements for Segment.

This release is NOT backward binary compatible.

Random read performance is nearly 2x times now vs previous release for persistent databases.

New v0.11 - 270,000 random reads per second.

Old v0.10.9 - 144,000 random reads per second.

image

Issues resolved

  • While using library log file is created Improvement #89 (Contributor - @andrewts129)
  • Update to ZIO 1.0.0-RC17 #168 (Contributor - @lvitaly)
  • Move common functions with Slice 2.13 and 2.12 to a common object #159
  • Move common functions within ScalaMap and ScalaSet for 2.13 and 2.12 to a common implementation #160
  • Support Cats-effect #161
  • Implement asJava function for Map and Set Improvement java #163
  • skipBlockCacheSeekSize configuration core #165
  • Update binary-search and hashIndex's entry formats to enable quick lookups #169
  • Remove partialRead config #170
  • HashIndex should not write normalised bytes Performance #113
SwayDB - v0.10.9

Published by simerplaha almost 5 years ago

#158 - Improve IO handling for Java

SwayDB - v0.10.8

Published by simerplaha almost 5 years ago

#157 - JVM does not exit for memory database on end

SwayDB - v0.10.7

Published by simerplaha almost 5 years ago

Fixes: #156 - program won't end

SwayDB - v0.10.6

Published by simerplaha almost 5 years ago

#155 - Use scala.jdk.CollectionConverters instead of scala.collection.JavaConverters
#82 - Implement Stream.collectFirst - Contributor @sh0hei
#153 - Implement Stream.count for Java's StreamIO and StreamFuture good first issue stream - Contributor @zackattackz
#142 - Implement Stream.count feature good first issue stream - Contributor @zackattackz
#151 - Cross build for scala 2.13

SwayDB - v0.10.5

Published by simerplaha about 5 years ago

Closed issue:

  • move KeyVal and Pair Java API classes to swaydb.java package #150
SwayDB - v0.10.4

Published by simerplaha about 5 years ago

This release was mainly focused on Java support. The following are the issues resolved.

  • #129 - Implement Java interop classes
  • #135 - Allow PureFunction to be used as function type.
  • #136 - Prepare should accept function type param
  • #137 - FunctionStores should be unique to database instances bug
  • #143 - PureFunction require a bounded return type R Improvement
  • #144 - Strict types for Apply.scala in Java - Return.java
  • #145 - Use java.lang.Void instead of Functions.Disabled
  • #147 - Prepare range commit does not apply value to toKey bug
  • #148 - Add range functions to Stream
  • #149 - Implement Stream helper functions range & tabulate stream
  • #81 - Implement Stream.collect. Contribution from @sh0hei
SwayDB - v0.10.3

Published by simerplaha about 5 years ago

Resolves:

#128 - ZIO support - See examples

SwayDB - v0.10.2

Published by simerplaha about 5 years ago

Resolved:

#127 - Monix support - See examples
#126 - Tag should be optionally supplied on DB creation.

SwayDB - v0.10.1

Published by simerplaha about 5 years ago

Closed issues

  • #125 - getOrFetchValue should recovery from CloseChannel failures
  • #123 - Functions's serialisation should not be tied to keys
  • #111 - registerFunction and applyFunction need to be more type-safe
SwayDB - v0.10

Published by simerplaha about 5 years ago

Resolves:

  • #122 - Deprecated Grouping
  • #121 - Removed IO from lower level effectful functions
  • #120 - Add terminateAndRecoverError to Actor
  • #118 - Replace synchronised block in Map with Sequencer
  • #116 - Re-order storage IDs so that the most used key-values get assigned ids with lowest byte size.
  • #115 - functions should be optionally enabled so that cost of storing time is optional
  • #114 - varInts should store as little endian for prefix compression
  • #112 - Benchmark performance of Slice ++
  • #109 - Segment file sizes are not consistent when grouping is specified in 0.9
  • Other performance improvements.
SwayDB - v0.9-ALPHA.2

Published by simerplaha about 5 years ago

Fixes issues

  • #106 - Remove locks from PersistentMap and MemoryMap
  • #105 - Improve compaction state change detection in levels when performing read seeks
  • #107 - Compaction tests
  • #110 - enabled extensions package
  • Temporarily disables grouping in default configurations due to #109
  • Simplifies Level seeks
  • Removes getUnsafeState from WiredActor
  • Implements ask for Actors
SwayDB - v0.9-ALPHA.1

Published by simerplaha about 5 years ago

First ALPHA release for 0.9 (undergoing tests) focused on improving performance.

It implements :

  • configurable BinarySearch, HashIndex & BloomFilter.
  • compression at key-value, block & file/segment level.
  • configurable IO strategies for controlling IO concurrency.
  • Reduced IOps with blockCacheSize.
  • caching can be completely disabled, partially enabled or fully enabled.
  • support for custom containers with Tag[_].
  • Implementation of new types - Actor, WiredActor, Scheduler, IO & IO.Defer.
  • Uses Actor directly for caching.
  • Improved Grouping strategies.
  • write are also now asynchronous with Tag[_].
  • Important: extensions package is temporarily disabled and will be enabled in the next release.
  • There are few other changes that will be documented in 0.9-BETA.1's release notes.
SwayDB - v0.8-beta.8

Published by simerplaha over 5 years ago

#74 - Add alias for default method in KeyOrder.

Package Rankings
Top 18.9% on Repo1.maven.org
Badges
Extracted from project README
Gitter Chat Build status Maven central
Related Projects