I am searching for a mix-platform database engine that may handle databases up 100s of countless records without severe degradation in query performance. It must possess a C or C++ API that will allow easy, fast construction of records and parsing came back data.

Highly frustrated are items where data needs to be converted back and forth from strings just to have it in to the database. The technical customers storing such things as IP addresses do not want or need this overhead. This can be a extremely important criteria therefore if you are going to consult items, be explicit about how exactly they provide this type of direct API. Not wanting to become rude, however i may use Google - please assume I have found most mainstream items and I am asking since it is frequently hard to sort out precisely what direct API they provide, as opposed to just a C wrapper around SQL.

It need not be an RDBMS - an easy ISAM record-oriented approach could be sufficient.

Although the main require is for any single-user database, expansion with a type of shared file or server procedures is probably for future use.

Use of source code, either free or via certification, is extremely desirable when the database develops from a business. It mustn't be GPL or LGPL.

You did not mention what platform you are well on, but when Home windows only is alright, have a look in the Extensible Storage Engine (formerly referred to as Jet Blue), the embedded ISAM table engine incorporated in Home windows 2000 and then. It's employed for Active Directory, Exchange, along with other internal components, enhanced for a small amount of large tables.

It features a C interface and supports binary data types natively. It supports indexes, transactions and utilizes a log to make sure atomicity and sturdiness. There's no query language you need to use the tables and indexes directly yourself.

Ose does not prefer to open files on the network, and does not support discussing a database through file discussing. You are likely to be challenged to locate any database engine that supports discussing through file discussing. The Access Jet database engine (Also known as Jet Red-colored, totally separate code base) is the only person I understand of, and it is well known for corrupting files within the network, particularly if they are large (>100 Megabytes).

Whatever engine you utilize, you will probably need to implement the shared usage functions yourself in your network server process or make use of a discrete database engine.