Ambra Cache Concepts
See http://www.topazproject.org/trac/wiki/AmbraCache?version=7 for 0.9.2 and prior versions
See r7599 for the changes from 0.9.2
The goal of Ambra cache management abstraction is to ensure that updates to the cache from within write txns are only committed to the backing cache (eg. EhCache?) only at transaction commit. Till then these changes are held in a transaction local {key, value} map.
Note that this goal is slightly different from the 0.9 ambra - there was an additional goal there to reduce queries to mulgara at whatever cost and therefore there was the popuate() concept that was different from a put(). Changes in 0.9.3 makes use of ambra's extensive use of read-only transactions and relaxes the need for a cache populate(). So it is possible when Mulgara allows multiple concurrent write transactions, multiple threads all doing the same mulgara query to populate the cahce. However that is not a concern for now and therefore eliminating populate() vastly simplifies the cache-management and avoids us having to serialize transaction commits.
Ambra Cache UML Diagrams
get() Sequence Diagram
put() Sequence Diagram
Attachments
- CacheGetSD.png (26.9 kB) -
Cache get() sequence diagram
, added by dragisak on 09/22/08 13:00:58. - CacheGetSD.dia (1.8 kB) -
Cache get() sequence diagram (dia)
, added by dragisak on 09/22/08 13:02:27. - Cache.dia (5.6 kB) -
Ambra Cache UML (dia)
, added by dragisak on 03/06/09 10:57:20. - Cache.png (150.3 kB) -
Ambra Cache UML
, added by dragisak on 03/06/09 10:57:33. - CachePutSD.dia (2.2 kB) -
Cache put() sequence diagram (dia)
, added by dragisak on 03/06/09 14:27:45. - CachePutSD.png (21.2 kB) -
Cache put() sequence diagram
, added by dragisak on 03/06/09 14:31:35.



