I am reading the book Spring Recipes. I am not able to comprehend certain things said about terracota.
The following is a paragraph from the book
Terracotta is different than most clustered caches today because it has no visible API, and because it’s far more efficient in conveying the changed state to nodes across the cluster. Most systems use some sort of Java serialization or broadcast mechanism, wherein each other node is given the entire object, or object graph, that’s changed, regardless of whether they even they need to be aware of the new state. Terracotta does it differently: it deltas the memory of the object graphs itself and synchronizes other nodes in the cluster as they need a consistent view of the object state. Succinctly, it can do something tantamount to transmitting just one updated variable in an object, and not the entire object.
I can understand that it does not use anything like serialization to transmit objects across cluster, but what does "it deltas memory" mean ?
As axtavt has commented, a Delta is essentially the difference between two instances of an object.
... it deltas the memory of the object graphs ...
Can be restated in simpler terms like...
It determines the difference between the object instances
What the paragraph is essentially saying is...
Other caching frameworks/technologies synchronize the state of objects across multiple nodes in a cluster by sending messages between nodes that contain every piece of information about each instance, even data that hasn't changed. Terracotta handles this more efficiently by only sending the information which has changed to synchronize the objects.
Think of this like an SVN commit. When you commit a file to an SVN repo, your computer doesn't send the entire file to the server, it only sends a diff (or delta) to synchronize the repository version of the file with your local copy.
Hope this helps!