Choosing an embedded database?

We are building an application on an embedded platform that requires a very high performance database (very slow selection speed for tables s> 500,000 records).

The database should be able to:

Store atomic commit information in NVRAM so that such information persists if a power failure completes before the commit completes. Write to NAND Flash in such a way as to overlay your nose into all memory (this can be done with, for example, jffs2 or yaffs2).

Currently our options seem to be "rolls", or perhaps SQLite.

Any other options, or pointers to the details of "rolling your own" or working with SQLite are appreciated!

Edit: The target has 32MB RAM, 1MB NVRAM, and 64MB NAND Flash. The rest of the code is C, so this is the preferred language. The target processor is ARM. In general, the queries that require maximum performance are fairly simple. Complex queries don't have to have the same performance level.
+1


source to share


4 answers


The Apple iPhone (and iPod Touch) uses SQLite DB for a lot of its functionality, so there is definitely a flash platform installed there. However, I doubt the amount of data in any of these tables has> 500k rows.



+2


source


I think this Wikipedia RDBMS comparison might help you in your choice.



But I don't understand why you have a specific NVRAM requirement.

+2


source


Codebase provides reliable portable fast fast access with transactions.

+1


source


If your embedded system has access to the .NET framework, you can embed VistaDB .

+1


source







All Articles