Peter K.
Peter K.

Reputation: 8108

Choice of embedded database?

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 :

  • Store atomic commit information in NVRAM so that such information is preserved if power fails before the commit finishes.
  • Be written to NAND Flash in such a way as to level wearing across the memory (could be done using, e.g. jffs2 or yaffs2).

    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.

    Upvotes: 1

    Views: 1802

  • Answers (4)

    HTTP 410
    HTTP 410

    Reputation: 17608

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

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

    Upvotes: 2

    Marc Novakowski
    Marc Novakowski

    Reputation: 45398

    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.

    Upvotes: 2

    user1976
    user1976

    Reputation:

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

    Upvotes: 1

    dkretz
    dkretz

    Reputation: 37655

    Codebase provides a solid portable lightweight fast isam with transactions.

    Upvotes: 1

    Related Questions