I've just recently been poking around these NoSQLs investigating their
features, so...

Redis has limited data structures - flat un-nested lists and sets, and
plain strings. It doesn't have sets exactly - just keys and values.
Nothing nested at all, unless you serialize to strings. No indexes,
although you can hack up your own.

To be honest, Redis isn't that impressive versus what's in Clojure
already. It's an in-memory DB (so it's not much different from ref
+dosync) and it intermittently spits a snapshot to disk. If you can
live with an in-process DB, you could copy (and exceed) its features
including snapshot saving in a page of pure Clojure code, and beat it
on speed too.

Contrast MongoDB: slower because it bothers to save things, but still
around twice as fast as MySQL and much faster than CouchDB (cite: the
benchmarks page). Arbitrarily nested collections, indexes, atomic
updates (in place operations like inc and append, or atomic compare-
and-set), JSON syntax, typed data, replication (built in) and sharding
(via a broker process).

(MongoDB downsides: it grows files in a very greedy way to try and
minimize data fragmentation, and it needs a 64bit machine to store
more than about 2Gb.)

On Dec 30 2009, 11:52 am, Gabi <bugspy...@gmail.com> wrote:
> On first look, Redis and Clojure seems to be a perfect match. They
> both handle sets and maps efficiently. If one could find an easy way
> to store and retrieve Clojure data structures to Redis (even a small
> subset- just a list or a set), a distributed clojure app could be very
> easy (and effective?) thing to do - The stateless Clojure nodes would
> share and operate on the same central data structure which is stored
> in Redis). What do you thing ? Is it worth investigating further?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to