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.