SDSAI DSDS S3

Simple datastructures and algorithms data store data structures.

License

License

MIT
GroupId

GroupId

com.github.basking2
ArtifactId

ArtifactId

sdsai-dsds-s3
Last Version

Last Version

0.0.17
Release Date

Release Date

Type

Type

jar
Description

Description

SDSAI DSDS S3
Simple datastructures and algorithms data store data structures.
Project URL

Project URL

https://github.com/basking2/sdsai-dsds
Source Code Management

Source Code Management

https://github.com/basking2/sdsai-dsds.git

Download sdsai-dsds-s3

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.basking2/sdsai-dsds-s3/ -->
<dependency>
    <groupId>com.github.basking2</groupId>
    <artifactId>sdsai-dsds-s3</artifactId>
    <version>0.0.17</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.basking2/sdsai-dsds-s3/
implementation 'com.github.basking2:sdsai-dsds-s3:0.0.17'
// https://jarcasting.com/artifacts/com.github.basking2/sdsai-dsds-s3/
implementation ("com.github.basking2:sdsai-dsds-s3:0.0.17")
'com.github.basking2:sdsai-dsds-s3:jar:0.0.17'
<dependency org="com.github.basking2" name="sdsai-dsds-s3" rev="0.0.17">
  <artifact name="sdsai-dsds-s3" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.basking2', module='sdsai-dsds-s3', version='0.0.17')
)
libraryDependencies += "com.github.basking2" % "sdsai-dsds-s3" % "0.0.17"
[com.github.basking2/sdsai-dsds-s3 "0.0.17"]

Dependencies

runtime (3)

Group / Artifact Type Version
com.github.basking2 : sdsai-dsds-core jar 0.0.17
software.amazon.awssdk : bom jar 2.16.1
software.amazon.awssdk : s3 jar 2.16.1

test (1)

Group / Artifact Type Version
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

SDSAI-DSDS

ABOUT

Sdsai-dsds is a Document Store Data Structure Library distributed under the MIT license.

A strong emphasis is placed on minimizing reads and writes to the data store and implementing the Java Collections API where reasonable. Iterators are also an important component of reducing the amount of code required to interact with this data structure when the user wants their data.

MOTIVATION

When working with document store databases such as Cassandra, picking an evenly distributed key has very desirable properties in that it distributes data evenly across the cluster nodes. This, however, means that iterating over the data or searching the data is much more difficult.

This project implements common data structures using a basic storage API. This allows those data structures to perform their operations on a document storage system while allowing the user to store their data using evenly distributed key values.

EXTENDABILITY

NodeStore

The interface com.github.basking2.sdsai.dsds.node.NodeStore is all that must be implemented for the data structures to be used with a new storage system.

Data Structures

The NodeStore interface stores a Node class which is a somewhat abstract representation of a directed graph node. This allows for future implementation of new data structures or algorithms (hopefully) without changes or deep consideration being given to the persistence layer.

IMPLEMENTED DATA STRUCTURES

o B-Tree o Paged Linked List

IMPLEMENTED DATABASES

  • DirectoryNodeStore - Stores data structures in a file system. One file per Node and one file per user data object.
  • MongoDB - Implemented using the raw MongoDB driver.
  • Riak - Implemented using Jackson 2 to serialize Node and user data.

Versions

Version
0.0.17
0.0.16
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2