Replication without Persistence
Hi there,
I've noticed that you can't get master-master replication without disk persistence. I wonder if this is a design choice that can't be changed or if we might get in the future these two "decoupled". :D
Cheers,
Hi alex , i have some troubles on Replication and Persistence .
I am so warried about data losing with Membase.So i would like to konw:
1.What is the mechanism of the Persistence ? A timer to save the data into the Disk ? How long the data will be saved after the operation set's delete's(the time interval ?). A trigger by something condition ?
2.To replicate data to the others nodes of the cluster after data set/delete ? How long the data will be raplicated after the operations ?
3.Suppose i have a cluster with 4G RAM compose of 4 nodes , each node has 1G RAM , and the Raplication factor is 1 .It mease that i have only 2R RAM to save data into the cluster because the another 2G RAM is saved the Raplication data .Is it correct ?
Any tips will be appreciated.
The configuration you're thinking of is a memcached bucket with replicas - however even with replicas it wouldn't quite be a master-master.
In Membase - every node is a master for something and with replication - every node is also a slave for something.
We do not have a master master configuration in the traditional sense.
Key/datas are distributed over 1024 vbuckets and those vbuckets are spread out over all the nodes in the cluster. If you enable replica copies, lets say 1 copy. You will have 1024 active vbuckets and 1024 replica vbuckets. A vbucket is only active in one place on one node. In this way it functions more like a traditional master slave configuration. If a node fails, the active vbuckets(example: vbucket ID's 55,72,124,448,677,899) that lived on that node are obviously no longer available. A rebalance operation can be done on the cluster which promotes the replica vbuckets(55,72,124,448,677,899) to active on the nodes that they are sitting on.
With this design - you get many of the benefits of master-master replication without having to spend as much time worrying about conflict resolution/detection.
What is your use case for in memory master/master replication?