[erlang-questions] Scalaris Questions

Thorsten Schuett schuett@REDACTED
Mon Jul 28 18:04:02 CEST 2008


On Monday 28 July 2008, jason pellerin wrote:
> First off, thank you, thank you, thank you for releasing scalaris.
> It's such an interesting application.
>
> >> 3. Would it be sufficient to abstract out cs_db_otp and replace it
> >> with say cs_db_mnesia or cs_db_dets? Or would you suggest using a log-
> >> based scheme?
> >
> >I was thinking of adding a "db" behaviour similar to the routingtable
> > scheme. We currently have two routingtable implementations (rt_simple and
> > rt_chord) and you can switch between them by changing ?RT in
> > chordsharp.hrl. We can do something similar for the db.
>
> I'm very interested in this, too. The ability to plug in an arbitrary
> storage module would be very useful. For instance, I'd really like to
> try out tcerl (tokyocabinet) as the storage backend, since it provides
> ordered storage on disk, and is very fast and compact.
>
> Another question I have about scalaris is how best to use it for
> transient data, such as web application session state. Ideally, each
> key would have a lifetime, and automatically expire. It looks like
> that would require either a specialized storage backend and convention
> for including the lifetime in the value, or fairly large changes to
> the api. How would you suggest doing something like this?
The easiest way is probably having your own backend (see above) and implement 
your own timeout mechanism.

> Lastly, a memcached api seems like a natural fit for scalaris. It's
I was also thinking about adding a memcached interface.
> likely that I'll be working on one for my employer -- if they agree to
> allow me to contribute it back (which they probably will) would you be
> interested in including something like that in the main distribution
> of scalaris?
Of course. Kai already has a memcached implementation in Erlang.
http://kai.svn.sourceforge.net/viewvc/kai/trunk/src/kai_memcache.erl?revision=55&view=markup
It should be fairly easy to adapt this code.

Thorsten



More information about the erlang-questions mailing list