We are building an application on an embedded platform that needs a reasonably high performance database (very low select speeds on tables with > 500,000 entries).
The database needs to be able to :
Currently our options appear to be a ‘roll-your own’ approach, or possibly SQLite.
Any other options, or pointers about the details of ‘rolling your own’ or working with SQLite appreciated!
Edit: The target has 32MB of RAM, 1MB of NVRAM and 64MB of NAND Flash. The rest of the code is C, so that is the preferred language. The target processor is an ARM. In general, the queries that need to have the most performance are pretty simple. Complex queries don’t need to have the same level of performance.
Apple’s iPhone (and iPod Touch) uses the SQLite DB for a lot of its functions, so there’s definitely a proven flash-based platform there. However, I doubt the amount of data in any of those tables has > 500k rows.