Yeah, for actually storing transactions the approach Satoshi uses of relying on a database engine makes sense and is what the code already does, so I'm not sure why this is a problem. The real problem with Satoshis code for scaling down to smaller devices (and one day desktops too) is the need to store all the chain headers in RAM. BitcoinJ avoids this but just creates more problems for itself in other places, partly because we also try to avoid a database engine (read/write traffic on phones can be insanely expensive, especially on older ones, and so sqlite is known to be a serious cause of performance pain on android apps).