Hi,
For scalability which do you think performs better? Assume Oracle 10g,
JBoss AS (x10), 1000 concurrent users (heavy transaction processing -
mostly reads).
a) Let Hibernate/JBoss Tree Cache perform caching of active content -
AS pinging each other, keeping data in sync.
b) Mark your objects with a version number and every time the object is
requested select the version number and if the object has not changed
return from cache.
Perhaps b) is more scalable since it does not require activity across
all servers to keep everything in synch and less restrictive since you
can update the database directly - as long as you increment the version
number.
On the other hand the JBoss servers will not need to hit the database
every time either...
Thoughts?
Tim
Simon Brooke - 02 Oct 2006 09:56 GMT
> Hi,
>
[quoted text clipped - 8 lines]
> requested select the version number and if the object has not changed
> return from cache.
c) don't cache in Java at all, since caching is what Oracle is very good
at. Don't use heavyweight data objects which are expensive to create on
fetch from database. Play to the strengths of the technologies you're
using, not the weaknesses. Really fetch from the database on each
transaction.
Read 'Better, Faster, Lighter Java'
http://www.oreilly.com/catalog/bfljava/

Signature
simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/
;; making jokes about dyslexia isn't big, it isn't clever and
;; it isn't furry.