Hello

very interesting issue actually...the mtree module fits perfectly well in a key-value model becaue basically is what the mtree table structure defines; that's why redis was the first thing that came to my mind when I saw the redis module. Two problems with redis:
-no "native" mt_match function, up to the user to find the best option
-replication. Until the cluster feature is ready, we need to change by hand the server ip address, which implies a kamailio restart. There is no mi command for changing the server in the fly, right..(not in the module documentation at least)?

Daniel, I agree that your suggestion about the mi/rpc method would be nice. I will also take a look at Mongo as Douglas suggests, and especially CouchDB, because you can talk to Couch DB via http...

Regards

Javi

On Mon, Nov 14, 2011 at 1:32 PM, Douglas Hubler <douglas@hubler.us> wrote:
On Mon, Nov 14, 2011 at 5:10 AM, Daniel-Constantin Mierla
<miconda@gmail.com> wrote:
> are there any other no-sql database systems that have such mechanism? Might
> not be hard to make a connector when the time will allow -- just to know the
> best options here.

mongodb will auto promote.  Caveat, (like redis if i understand
correctly), is that all writes are directed to a single master (be it
chosen dynamically), but reads can happen anywhere to spread the load.
 Also, you need to accept the distaster scenario of a "network
partition"  where a minority set of servers find themselves w/o a
master.  Example: 5 servers in datacenter #1 and 4 servers in
datacenter #2.  If the link between datacenters is broken, then all
servers in datacenter #2 will not have a master and will be read-only
until link is restored.  Good part about single master is there's no
chance of inconsistent data.

Turns out local fail-over v.s. consistent data is a well explored area.

 http://blog.nahurst.com/visual-guide-to-nosql-systems

I've worked w/the C++ driver to mongodb is anyone has questions.