Portability Techniques for Embedded Systems Data Management
By Andrei Gorine, McObject CTO & Co-founder
Whether an embedded systems database is developed for a specific application or as a commercial product, portability matters. Most embedded data management code is still “homegrown,” and when external forces drive an operating system or hardware change, data management code portability saves significant development time. This is especially important since increasingly, hardware’s lifespan is shorter than firmware’s. For database vendors, compatibility with the dozens of hardware designs, operating systems and compilers used in embedded systems provides a major marketing advantage.
For real-time embedded systems, database code portability means more than the ability to compile and execute on different platforms: portability strategies also tie into performance. Software developed for a specific OS, hardware platform and compiler often performs poorly when moved to a new environment, and optimizations to remedy this are very time-consuming. Truly portable embedded systems data management code carries its optimization with it, requiring the absolute minimum adaptation to deliver the best performance in new environments.
Using Standard C
Writing portable code traditionally begins with a commitment to use only ANSI C. But this is easier said than done. Even code written with the purest ANSI C intentions frequently makes assumptions about the target hardware and operating environment. In addition, programmers often tend to use available compiler extensions. Many of the extensions – prototypes, stronger type-checking, etc, – enhance portability, but others may add to platform dependencies.
Read on in the white paper, Portability Techniques for Embedded Systems Data Management.
Did you find Portability Techniques for Embedded Systems interesting?
Data management wherever you need it.
Hybrid Data Storage Unlike other IMDS, eXtremeDB databases can be all-in-memory, all-persistent, or have a mix of in-memory tables and persistent tables.
Row & Columnar Flexibility for Time Series Data eXtremeDB supports database designs that combine row-based and column-based layouts, in order to best leverage the CPU cache speed.
Embedded and Client/Server Fast, flexible eXtremeDB is data management wherever you need it, and can be deployed as an embedded database system, and/or as a client/server database system.
Platform Independent eXtremeDB is designed and implemented to be a highly portable.