Easiest to use NoSQL storage with Haskell?

Hi, What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs). CouchDB and Cassandra seems to be overkill for my needs. What about Riak, MongoDB, Voldemort, etc. ? Thanks! Dmitri.

On Wed, 9 Nov 2011 13:59:46 +0300, dokondr
Hi, What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs). CouchDB and Cassandra seems to be overkill for my needs. What about Riak, MongoDB, Voldemort, etc. ?
persistent (part of yesod, but useable without other yesod libraries) is quite pleasant to use and supports MongoDB: http://hackage.haskell.org/package/persistent-0.6.4 http://hackage.haskell.org/package/persistent-mongoDB-0.6.3 Cheers, Daniel

On Wed, Nov 9, 2011 at 5:46 PM, Daniel Schoepe
On Wed, 9 Nov 2011 13:59:46 +0300, dokondr
wrote: Hi, What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs). CouchDB and Cassandra seems to be overkill for my needs. What about Riak, MongoDB, Voldemort, etc. ?
persistent (part of yesod, but useable without other yesod libraries) is quite pleasant to use and supports MongoDB:
http://hackage.haskell.org/package/persistent-0.6.4 http://hackage.haskell.org/package/persistent-mongoDB-0.6.3
Cheers, Daniel
I am wondering if Database.Persist can work with key/value storage such as Riak or SimpleDB where records are lists of key/value pairs and any two lists can have different keys? Is simple implementation of 'persistent' based on files with key/value records possible? For example 'persistent' based on KyotoCabinet package? (http://hackage.haskell.org/package/KyotoCabinet)http://hackage.haskell.org/package/KyotoCabinet Dmitri

On Wed, 9 Nov 2011 20:34:11 +0300, dokondr
I am wondering if Database.Persist can work with key/value storage such as Riak or SimpleDB where records are lists of key/value pairs and any two lists can have different keys? Is simple implementation of 'persistent' based on files with key/value records possible? For example 'persistent' based on KyotoCabinet package? (http://hackage.haskell.org/package/KyotoCabinet)http://hackage.haskell.org/package/KyotoCabinet
As far as I know, persistent doesn't depend on any particular backend, but as far as NoSQL-stuff goes, I think there's only persistent-mongodb at the moment. I don't know how much work it is to create a new backend (and if it's worth the effort in your case), but this looks like a good place to start: http://hackage.haskell.org/packages/archive/persistent/0.6.4/doc/html/Databa... Cheers, Daniel

On 9 November 2011 11:59, dokondr
What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs).
If your data fits in RAM then acid-state is also an option: http://hackage.haskell.org/package/acid-state It's used as the storage library for the new hackage server. Bas

On Wed, Nov 9, 2011 at 8:41 PM, Bas van Dijk
On 9 November 2011 11:59, dokondr
wrote: What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs).
If your data fits in RAM then acid-state is also an option:
http://hackage.haskell.org/package/acid-state
It's used as the storage library for the new hackage server.
I need to share data across processes running both on the same node or different nodes. Every process has its own memory space. Can acid-state memory be shared between several system processes?

On 9 November 2011 19:50, dokondr
On Wed, Nov 9, 2011 at 8:41 PM, Bas van Dijk
wrote: On 9 November 2011 11:59, dokondr
wrote: What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs).
If your data fits in RAM then acid-state is also an option:
http://hackage.haskell.org/package/acid-state
It's used as the storage library for the new hackage server.
I need to share data across processes running both on the same node or different nodes. Every process has its own memory space. Can acid-state memory be shared between several system processes?
I believe so: http://hackage.haskell.org/packages/archive/acid-state/0.6.0/doc/html/Data-A... but maybe David can tell you more about that. Cheers, Bas

TCache manages persistent data trough STM references called DBRefs
that are very similar to TVars, but with added user-configurable
persistence. Very intuitive to use.
2011/11/9 Bas van Dijk
On 9 November 2011 19:50, dokondr
wrote: On Wed, Nov 9, 2011 at 8:41 PM, Bas van Dijk
wrote: On 9 November 2011 11:59, dokondr
wrote: What Haskell package to work with NoSQL storage is both mature and easiest to use? I need persistent storage for simple key/value lists (not complex JSON docs).
If your data fits in RAM then acid-state is also an option:
http://hackage.haskell.org/package/acid-state
It's used as the storage library for the new hackage server.
I need to share data across processes running both on the same node or different nodes. Every process has its own memory space. Can acid-state memory be shared between several system processes?
I believe so:
http://hackage.haskell.org/packages/archive/acid-state/0.6.0/doc/html/Data-A...
but maybe David can tell you more about that.
Cheers,
Bas
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (4)
-
Alberto G. Corona
-
Bas van Dijk
-
Daniel Schoepe
-
dokondr