4

Has Object Prevalance mechanisms been used in an actual Production system? I'm referring to something like Prevayler or Madeleine

The only thing I've found is Instiki, a wiki engine. But since they started they've switched to SQLite. (The actual instiki page is down)

abhijit
  • 6,363
  • 5
  • 26
  • 32

3 Answers3

3

A company I used to work for used Prevayler as part of a computer-based student examination/assessment system for about five or six years.

Prevayler was used to store the state of candidates’ tests on a server physically located within a single testing centre. The volume of data stored was fairly low, since at most there would only be a few hundred candidates taking a test at a single testing centre. Therefore it was practical to run Prevayler on commodity hardware in 2004 – the ‘server’ was in most cases just a typical low-end desktop machine temporarily borrowed for the purpose of running an exam.

The idea was that if a candidate’s computer crashed while they were taking the test, then they could quickly resume the test on the same or different computer. It worked pretty well.

There were occasional difficulties when some new requirement led to a change to the object model, since by default Prevayler close-couples the object model to the representation of data on disk. This wasn’t actually a major problem for us, since changes to the object model occurred between exams at which point we could usually afford to throw old data away (with some exceptions due to bad design on our part).

There are lots of things you can do to make it feasible to change the object model, it’s a matter of what’s best for your application. Throwing old data away was generally the best solution for us.

There was also a back-end system that aggregated candidates’ tests from all testing centres into an SQL database. That stored a higher volume of data than Prevayler could have reasonably coped with at the time. It would probably be feasible to use Prevayler there today, but I don’t think the usage patterns would have suited Prevayler particularly well, since most of the data tended to be written, read once for marking, then forgotten about and treated as archive data unless the result of a test got queried.

That company has sinced moved away from Prevayler but the reason for that was more political than it was technical.

Daniel Cassidy
  • 24,676
  • 5
  • 41
  • 54
1

Well, we're using Prevayler in a project that's aiming towards production by sometime next year, but we're not close enough to give any real scouting report. We think it's going to work...

glenn mcdonald
  • 15,290
  • 3
  • 35
  • 40
  • Glenn, could you answer my question about Prevayler? http://stackoverflow.com/questions/454294/what-are-synchronizing-strategies-for-prevayler – Sergey Jan 18 '09 at 10:03
  • Yes. But it didn't prevent the company from eventually being acquired and the project shut down. – glenn mcdonald Nov 21 '12 at 16:09
1

"LMAX is a new retail financial trading platform. As a result it has to process many trades with low latency. The system is built on the JVM platform and centers on a Business Logic Processor that can handle 6 million orders per second on a single thread. The Business Logic Processor runs entirely in-memory using event sourcing."

http://martinfowler.com/articles/lmax.html