
" That all your business data fits in the RAM you can afford "
Hi Klaus,
is this really necessary? I could imagine having ' lazy ' objects that can swap themselves to a relational DB or simply the filesystem so that only the ' working set ' needs to be in memory.
Obviously this increases the complexity of the system but not much. Simple swapping strategies like LRU can be implemented generically and the same serialization can be used as for the snapshots.
If this would lead to thrashing because the working set is not small enough then a relational DB would soon get the same problem. I ' m assuming here that the DB does a very advanced swapping strategy.
This can be avoided quite easily - just store you objects in a cache such as EHCache and it can be configured to overflow onto disk (which will then be loaded when you restart).
It ' s going to be very nostalgic hearing again all the opinions about how Prevayler could be made into an object database:)
Or maybe use a relational database to begin with?
Why are you trying to fix a bad solution by adding to it?
Think about the reasons for using Prevayler:
- Everything is java, no special query language needed.
- Extreme performance.
- No need to strip objects of their behaviour, turning them into clueless data as relational DB ' s do.
None of these are compromised by swapping. Except maybe the performance but a dedicated swapping strategy can surely do better than a generic DB.
That's a pretty stupid hypothesis.
- - MB
This sounds like a great system. Any working sites? Any problems with java running for months on end?
- - g
Most of the people I know working in the prevalent style release frequently enough that the JVMs rarely live longer than a week, so I don't know of any data. As far as an example of a site following the prevalent approach, http://www.sidereel.com / has millions of users a month and keeps everything hot in RAM. Their main performance issue is startup time, and they've worked assiduously to minimize that.
- - William Pietri
How do you update the functionality of the website / app running prevayler? Does that break the transactions already committed? Does prevayler need to server html through tomcat or some servlet thing or can it do that by itself? I would love to use this app but many online say lisp or haskell are nicer than java. Does java have enough abstraction metaprogramming etc etc to support most of what you would need to make an ebay clone or amazon clone on prevayler?
- - bootiack
Copyright © 2007 Prevayler | All Rights Reserved
Powered by Priki and design G. Wolfgang