[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Prevayler  XML
Forum Index -> Terracotta Platform
Author Message
stefan

neo

Joined: 12/11/2006 01:28:19
Messages: 1
Offline

I'm a total Terracotta newbie so I hope my question is not too RTFM.

We're currently using Prevayler for a rather large in memory database. This works very well for us.

But we are soon going to look at two tasks: scaling beyond the heap size of one JVM and clustering data for failover.

Is Terracotta something that could work together with Prevayler to do this? Or would Terracotta DSO basically replace Prevayler?

S.
kbhasin

consul

Joined: 12/04/2006 13:08:21
Messages: 340
Offline

Hello Stefan,

I don't see any reason why Terracotta couldn't work together with Prevayler.

Having said that, my suggestion would be to replace the Prevayler layer with Terracotta DSO. As an example, you can make org.prevayler.demos.demo2.business.Bank.accountsByNumber the Terracotta root in the Terracotta config file. For detailed information on the config settings, you can consult our online documentation at http://www.terracotta.org or read the sample config file provided in the download in the config-sample directory. Terracotta will cluster everything held within this map for you. You no longer need to rely on org.prevayler.TransactionWithQuery to make mutations to your business objects.

I do not have a deep understanding of the Prevayler implementation. As per my understanding, following are some of the issues that Terracotta DSO can solve for you:

1. With Prevayler, *all* business objects need to be resident in memory. This is a major limitation as the heap size allocated to a JVM ranges from 1.5 gigs to 2 gigs on a 32 bit system and you cannot prepare for exponential growth or usage spikes in your system.

2. Prevayler relies on serialization to *save* object state. With Terracotta DSO, there is no serialization involved.

3. I am not sure how Prevayler provides failover capabilities. I know they have a concept of "snapshots" and "replicas". Each replica doubles your memory footprint on the heap, and the frequency of taking snapshots is limited as it affects the system throughput.

I would love to discuss your use case with you. You can send me an email at kbhasin@terracottatech.com to schedule a phone conversation.

Regards
Kunal Bhasin.



Regards,

Kunal Bhasin,
Terracotta, Inc.

Be a part of the Terracotta community: Join now!
 
Forum Index -> Terracotta Platform
Go to:   
Powered by JForum 2.1.7 © JForum Team