[Freeswitch-users] Nibblebill for NoSQL
rupa at rupa.com
Wed Mar 3 10:25:37 PST 2010
On Wed, Mar 3, 2010 at 12:04 PM, Yossi Neiman <
freeswitch at cartissolutions.com> wrote:
> Maybe it would be even more useful to provide general functionality that
> can be shared amongst multiple components of freeswitch. That would
> make it all the more useful. However, seeing that I'm not a big fan of
> the NoSQL data engines, I don't know if this is possible. In my
> opinion, most NoSQL is just key=>value pairs, and is basically a
> reinvention of the wheel that RDBMS's had taken care of years ago...
> Not meaning to open up a discussion about the virtues of NoSQL (and
> certainly not a flamewar)...
I created a mod_memcache already and I intend to do a mod_redis at some
point. I'm not a huge fan of NoSQL but there are definite uses for it.
General functionality: I could be convinced to come up with a general api
for distributed key/value store with mod_memcache and mod_redis providing
implementation. The problem is that the NoSQL stuff isn't very consistent
so even though both support key/value their behavior can significantly
differ. eg: updating a value in memcached doesn't bump the expire time but
does in redis. Also, redis has support for a much more robust set of value
types and operators.
Anyway, a generic distributed key/value api might look like:
dhash <backend> set key value [expire]
dhash <backend> setnx key value [expire] # only set if it doesn't already
dhash <backend> get key [...] # support multiple keys
dhash <backend> <increment|decrement> key [step]
dhash <backend> del key
where backend would be memcache or redis or some other implementation.
Notice I didn't even touch things like hashing to support sharding,
> Yossi Neiman
> Cartis Solutions, Inc. - http://www.cartissolutions.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the FreeSWITCH-users