Skip to content

Rocknrenewlab/specialk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpecialK

Build Status Gitter

SpecialK is...

  • a decentralized, distributed storage mechanism
  • a pattern language for building decentralized, distributed applications

See SpecialK/KVDB – A Pattern Language for the Web for further explanation.

Installation

To work with SpecialK you will need:

After installing these dependencies, you can clone the SpecialK repo and run tests:

$ git clone https://github.com/synereo/specialk.git
  ...
$ cd specialk
$ sbt test

NOTE: In order to run these tests, MongoDB and RabbitMQ must be running.

Why can't I use newer versions?

Short answer: it may be possible!

In the case of MongoDB, SpecialK currently uses version 2.6.4 of Casbah. According to the MongoDB compatibility chart, this version of Casbah is only supported for use with MongoDB 2.4.x, though we are successfully using it with version 2.6.x.

In the case of Erlang & RabbitMQ, we encourage all those motivated to try newer versions, and welcome reports of successes or failures!

In the case of the JDK, we have experienced issues with version 8 related to our use of prolog4j. See SOC-101 for more information.

Usage

Currently, SpecialK is intended to be used in conjunction with the Agent Service and GLoSEval.

However, it can also be used as a standalone key-value store.

The following files provide an example of setting up a single node to store String values in MongoDB.

This set of tests may provide additional insight into how such a node may be used, including retrieving values using the Prolog-based query system:

A more complex usage example involving multiple nodes can be found here.

Issues

We welcome reports of any issues on the issue tracker.

We are also using JIRA to track issues for this project and the rest of the Synereo Platform: https://synereo.atlassian.net/projects/SOC/issues

More Information

Releases

No releases published

Packages

No packages published

Languages

  • Java 50.5%
  • Scala 45.7%
  • Haskell 1.7%
  • HTML 1.3%
  • JavaScript 0.8%