This is a rough rendering of a page from the old Prevayler wiki. Please see the new wiki for current documentation.

I've been thinking about persistence solutions for devices such as the Palm Pilot that will not have the overheads of a database. With the Palm Pilot, everything is in RAM, in any way. Do you think that Prevalyer is an appropriate solution for this type of thing ? Is is lightweight enough ? For a 'perfect fit', will anything in the Prevayler design have to be changed ? If so, what ?

Can you run Java on the Palm? How much RAM do you have? Does it have fast volatile RAM and slow non-volatile RAM, or is all slow non-volatile?

I've been thinking about the same thing and it just makes perfect sense to me. With the current solutions you always end up using much more RAM than you should.
The only thing you'll probably want to do is to disable the flush-to-disk feature.
Hmm, I'm not too sure about the Palm architecture because I do not own one and
have not actually done any development work on it. I've done some research on
the issue and here's what I have found out ...

There is an API called PDB (Palm Database) and this does persistence for you,
I guess. I don't want to tie my application to the Palm so this is something
that will have to be abstracted away. But more to the point, the implication
is that is is most likely slow non-volatile RAM. Then again, if you take out
the batteries from the Palm, it loses data after a while. So my guess is that
there will be a combination of volatile and 'non-volatile' battery powered RAM.

The Palm also supports flash memory expansion with some models so details vary.

The Palm runs Java, yes. A limited subset of Java. For example, it does not
support Vector ... Take a look at It's a VM that
runs on both Palm and WinCE. Not sure what architectures are available.

SuperWaba is a strict subset of Java. I don't know what overlap it has with
J2ME but generally speaking, I think this is a better development strategy
than going native, considering the number of architectures that are likely
to emerge with low cost handheld devices; I think portability is even more
key than it is now otherwise you will lose whole big segments of the market.

I got started on this because I was trying to think about how to do persistence
on handheld devices without using an object database or SQL database in a high
performance portable kind of way.

Prevayler seems just the right size and the right fit. I am sure it could be
hacked in such a way as to Do The Right Thing (store data to slow, expandable,
secondary memory store).

GuidoSohne -