Joseph Monti wrote:
Hi,
I am wondering if anyone has any advice on running Derby on embedded
hardware. I'm not referring to the embedded database engine, but running
it on a constrained system.
The target system is a 60Mhz ARM7 with 32MB RAM and 128MB persistent memory. Our primary language is Java and we were intrigued by the capabilities and the whole idea of Derby so we are beginning to consider it as our primary database.
We are currently using MySQL (Don't ask how, it wasn't easy) and are looking for other options.
Should we even bother?
Are there any properties/settings to which we should be paying close attention?
Thank you! - Joe Monti
Hi Joe -
I have no experience with ARM7 but can tell you that the key to using Derby in any environment is the features supported by the JVM. Derby requires a full featured JVM (J2SE), some of the JVMs written for small devices do not support all functions needed (J2ME). I suspect that much of the 32Mb RAM will need to be allocated to the JVM but that is just a guess.
You would need to configure Derby to it's smallest reasonable size - look carefully at the configuration parameters in the documentation - the main one is pageCacheSize:
derby.storage.pageCacheSize - default = 1000 pages minimum value = 40
Another that could help with persistant storage is: derby.storage.pageReservedSpace <perf86.htm#sii-proper-28026>
Hope this helps.
