This kind of design has already been implemented in a number of apps I've worked on; in fact, CMP EJB's sorta work the same way.
However, the comment "optionally saving the whole system to disk every now and then (late at night, for example)." hides one of the inherent gotchas to this approach: sooner or later, the data has gotta land somewhere. That's where a nice, normalized relational database comes in. As long as the data eventually lands there, whatever caching system is used in the OO app is fine with me.
If the data doesn't ever land in a database of some sort, all they've built is a new stovepipe. Been there, done that, got the consulting fees to prove it.
-----Original Message-----
From: Pardee, Roy E [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 25, 2003 12:59 PM
To: Multiple recipients of list ORACLE-L
Subject: FW: 9000x faster than Oracle?
Apropos of the 'Database Modeling- Normalization - Dinosaurs or What?' thread:
Roy Pardee
Programmer/Analyst
SWFPAC Lockheed Martin IT
Extension 8487
-----Original Message-----
From: Pardee, Roy E
Sent: Monday, March 03, 2003 12:56 PM
To: Jane; Kim; Mike; Nancy; Paul; Rick
Subject: 9000x faster than Oracle?
This looks interesting (from Slashdot.org):
I wonder how long it would take to roll this thing forward after a server crash...
===================================
Object Prevalence: Get Rid of Your Database?
Posted by Hemos on Monday March 03, @08:45AM
from the throwing-it-out dept.
A reader writes:" Persistence for object-oriented systems is an incredibly cumbersome task to deal with when building many kinds of applications: mapping objects to tables, XML, flat files or use some other non-OO way to represent data destroys encapsulation completely, and is generally slow, both at development and at runtime. The Object Prevalence concept, developed by the Prevayler team, and implemented in Java, C#, Smalltalk, Python, Perl, PHP, Ruby and Delphi, can be a great a solution to this mess. The concept is pretty simple: keep all the objects in RAM and serialize the commands that change those objects, optionally saving the whole system to disk every now and then (late at night, for example). This architecture results in query speeds that many people won't believe until they see for themselves: some benchmarks point out that it's 9000 times faster than a fully-cached-in-RAM Oracle database, for example. Good thing is: they can see it for themselves. Here's an article about it, in case you want to learn more."
( Read More... | 331 of 465 comments )
Roy Pardee
Programmer/Analyst
SWFPAC Lockheed Martin IT
Extension 8487