Here's some info regarding this from Mete Atamel, engineer on the LiveCycle Data Services team:
When shared-backend=true, a single consistent view of data is guaranteed but this is not due to the shared-backend property itself but rather the fact that when shared-backend=true, there's a single DB used by multiple instances of LCDS.
Imagine the scenario where you have two LCDS nodes in a cluster with two data management destinations, one on node1, and one on node2, and they are clustered (via JGroups). You can have those destinations maintain their own DB, and when a change happens in one node¹s destination, the other node's destination gets a JGroups message and updates its own DB. This works but it's not ideal because at a given time, you¹re trying to maintain the same cluster state on two different DBs and there are times when the connected clients do not get consistent view of the data.
Instead, you can use a single DB and have the two destinations talk to the same DB, so you have a single consistent view of the data. When this is possible, you enable shared-backend property in LCDS destinations, that way when one destination updates the DB, and sends a JGroups message to the other destination, the other destination does not try to update the DB again, instead it simply passes the update message back to the connected clients without sending it to the adapter.
very clear, I got it now, thanks a lot.