Thanks. We've also considered SQLite. One Java wrapper impl (all are 3rd party) makes it easy to pass a direct byte buffer in as a persistence store. So, one could keep a map of database blobs and apply the DB to them as necessary. If H2 is fast enough, I'll take the all-Java solution so that we don't have to worry about native code issues between environments.
I'll have to think about how much I need actual SQL support. It sure does make a couple of my use cases easy (data aggregation), but it may come at a performance/memory footprint cost.