Very large in-memory database: in our benchmark, eXtremeDB-64 scales beyond 1.17 TB & delivers 87.78 million transactions/second.

Free, on-demand Webinars! Topics include High Availability, key embedded database selection criteria, and more.

Get Perst, the open source, object-oriented embedded database for Java and .NET.

What's new in eXtremeDB embedded database version 4.0? Improved concurrency, KD-Tree support and more! Read about it.

New Embedded Systems Design article details eXtremeDB in-memory database's role in F5 Networks' BIG-IP application delivery device.

eXtremeDB-64 scales massively as Web cache for Tagged’s social networking application! Read the press release.

Perst Lite brings embedded database superpowers to Carbon Hero’s Java ME app. Learn more.

McObject alliance with G3Tek aims at Turkey’s fast-growing embedded technology sector. Get details...

McObject expands in China, adding a team in Beijing with deep experience in embedded database systems.

Printable Version

eXtremeDB's type-safe API eliminates database corruption

Embedded database function libraries offer benefits including convenience, portability and productivity, but the manner in which they are constructed and used leads to bugs. These application programming interfaces (APIs) are nearly always data structure ignorant -- they handle data without knowing its type. This severely limits the compiler's and runtime's abilities to perform any validation, greatly increasing the likelihood of programming mistakes slipping through QA.

McObject's eXtremeDB embedded database takes a dramatic step forward by introducing a type-safe API. In its native API, eXtremeDB offers a limited set of static functions for basic tasks such as opening and closing the database. However, most of the functions for interacting with a given database design are generated when the schema is compiled using eXtremeDB's mcocomp database definition language (DDL) compiler utility.

Because these functions "know" the data type they are expected to handle, assignment errors are caught when the application is compiled - rather than after release, when addressing the problem is typically much more expensive.


This approach has the additional benefit of creating a more intuitive, easier-to-learn programming interface. The eXtremeDB-generated interfaces are more readable and self-documenting than are functions from a static interface designed for use with an infinite variety of database designs. The developer knows exactly what operation is being carried out and on what data, and the project enjoys a greatly reduced risk of introducing destructive bugs.

Further Reading

Interested in a side-by-side code comparisons of eXtremeDB's type-safe API and a traditional "static" database interface? We recommend the article Self-Diagnostic APIs: Software Quality's Next Frontier in Linux Journal.

Additional information on the concept of a type-safe API, and eXtremeDB's implementation, can be found in the EE Times article, Toward Self-Diagnostic APIs for Embedded Systems.

Get more information about the eXtremeDB embedded database.