Hi Jim, I'm not an expert on any of the caching stuff but I think I can answer 
from general principles and Geert can tell you why I'm wrong... :)  

Terracotta ultimately stores the distributed heap on disk, so it can manage a 
fairly large heap, certainly much much larger than your typical JVM in-memory 
heap.  Each client will have some portion of the distributed heap in JVM heap, 
based on their usage pattern.  Objects are faulted in and out of each VM as 
necessary, so no client (or server) must hold all of the cache values in 
memory.  

I believe that most of the Terracotta-enabled caches (TC Cache, ehcache, etc) 
do require that cache *keys* are all in memory, so there are some constraints 
there, although keys are generally a smallish portion of the cache.  

Additionally, I do not believe there is a way to intentionally 
stripe/partition/shard the data in any of the Terracotta-enabled caches.  
Rather, the in-memory portion is based on usage and you can somewhat drive that 
by applying partitioning above the cache level.  For instance by using some 
kind of load balancing or partitioning scheme to force requests A-L to Server 1 
and requests M-Z to Server 2.  In this setup, the servers would naturally 
partition the data based on usage.  The nice thing would be that both servers 
could serve all of the cache for failover - it's just that the data isn't in 
client memory in both.  

Alex


----- Original Message -----
From: "Jim Bethancourt" <[EMAIL PROTECTED]>
To: [email protected]
Sent: Friday, September 7, 2007 2:21:32 PM (GMT-0600) America/Chicago
Subject: Re: [tc-dev] Please elaborate on distributed architecture of TC Cache

I apologize for not mentioning that I meant RAID 5 configuration, where each VM 
has a piece of the cache, and another VM has a backup of the data.

Thanks,
Jim

On 9/7/07, Jim Bethancourt <[EMAIL PROTECTED]> wrote:

    Hi Geert,
    Could you possibly elaborate on the distributed architecture of the TC 
Cache?  I've come across a number of distributed caches before, but they only 
attempt to maintain replicas of the same data in each of the distributed caches 
and do not scale in the amount of data you can have in the entire cache.  Does 
the TC Cache work in this way, or does it work like more of a RAID style 
software cache, where the more VMs you have, the more data you can hold in the 
cache federation?

    Thanks,
    Jim

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to