What is the difference between Database Hoarding and Caching?? They seem the same to me. I know that hoarding has something to do with the use of the database when the device is disconnected from the server. Doesn't caching help for this? What is the difference?
Caching is more suitable for on demand requests, where you cache data that is needed on cache misses. It will usually be stored in memory and cleared after a while to avoid stale data which does not let you operate in disconnected mode. The other alternative is more suitable for disconnection mode by pre-fetch required data into the local cache and also in some implementation will try to keep it in sync with the remote database. This way you can still operate in disconnected mode but you may see stale data.
You can think of the same semantics in IMDG (In memory data grids) where a remote client can cache the data on demand or pre-fetch the data and have it synchronized with the remote IMDG asynchronously behind the scenes. GigaSpaces XAP provides exactly this capabilities with its in memory data grid, the first on demand caching concept is called Local Cache while the second pre-fetching concept is called Local View where you specify upon creation which type of data should be preloaded and behind the scenes it will be kept synchronized with changes done in the data grid.
http://www.gigaspaces.com/datagrid http://www.gigaspaces.com/wiki/display/XAP9/Client+Side+Caching
Eitan
Hoarding is performed when the connectivity with the server is strong. In this stage the client becomes aggressive and prefetches the data based on the user access patterns. Caching on the other side have nothing to do with connectivity its an operation which gets performed locally on the frequently used data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With