Monday, March 14, 2011

Riak Interface for Pharo Smalltalk

I have published the first beta version of a Pharo Smalltalk interface to Basho’s key-value database “Riak”. The interface uses the REST API of Riak.



The current version (0.2) supports:
  • Storing an object (JSON / text / blobs) at a key (PUT operation)
  • Getting object at a key (GET operation)
  • Deleting a key
  • List all buckets
  • List all keys in a bucket

Here are the planned features that will be added:
  • Avoid the need to specify data type on put operation
  • Error handling
  • Class that represents a key
  • Handling of “sibling” objects
  • Get meta-information about database
  • Map-Reduce support
  • Streaming support
In a Pharo 1.1.1 image, use the following script to load the Riak interface:

MCHttpRepository
  location: 'http://www.squeaksource.com/EpigentRiakInterface'
  user: ''
  password: ''.

Gofer new
    squeaksource: 'EpigentRiakInterface';
    package: 'ConfigurationOfEpigentRiakInterface';
    load.

((Smalltalk at: #ConfigurationOfEpigentRiakInterface) project version: '0.2') load.


To run tests, set up a Riak database at a host named riaktest and execute tests in class EpigentRiakRestConnectionTest.

1 comment:

Mariano Martínez Peck said...

Hi Runar. Can you help on how to create a database for the tests? because I checked the website of Riak and I didn't find it (of course, I am totally new and newbie with NoSQL databases).

I read the class comment "Tests working against bucket "epigenttest" on server http://riaktest:8098/riak .
" but I didn't help me.

Thanks in advance