View on GitHub

DRUMS

DRUMS: Disk Repository with Update Management and Select Option

Download this project as a .zip file Download this project as a tar.gz file Download release 0.4.2 as a .jar library

DRUMS is a memory efficient key-value store, which is optimized for:

  1. fast inserts,
  2. fast state dependent updates
  3. range selects
DRUMS was first developed to store sequence related data, but it can be easily adapted for other problems, e.g. product informations, clickthrough data. To see example usages with biological data please have a look at BioDRUMS.

Preconditions

To use DRUMS you must be able to define your records to be all of equal size. It is not possible to store e.g. text records of different length. Further, it must be possible to define a consistent hash function for your records, e.g. a RangeHashFunction (an implementation is already included in this project).

This project provides no out of the box API. You have to integrate this project into your java-project. Then you can use the provided java-API to create or open a DRUMS-table and to insert, update or select records. Please find all methods described in the JavaDocs.

Integration into your project

There are two ways to use DRUMS with your Java Project.

1) Add Maven Dependency
All releases of DRUMS will be published to Sonatype. If you have installed Maven and configured Sonatype as one of your maven repositories, you just have to add the following depedency to your .pom-file.
<dependency>
  <groupId>com.unister.semweb</groupId>
  <artifactId>DRUMS</artifactId>
  <version>0.4.2</version>
</dependency>
							
2) Add .jar library

You can download the latest release of DRUMS with all dependencies from the release section on github. Or use the direct link to the current release at the top of this page. Add the downloaded .jar to your libararies. Here you can find several suggestions doing this with Eclipse.