Exploring Code Size and Footprint, and In-memory Database Techniques to Minimize Footprint
A white paper from the in-memory database management system experts at McObject.
Abstract: The terms code size and footprint’are often used interchangeably. But they are not the same; code size is a subset of footprint. This paper will explain the differentiation and relevance, then proceed to describe some of the techniques employed within eXtremeDB® to minimize footprint.
“The first, and biggest, influencer is index types and how indexes are organized.”
In-memory and embedded systems
When used as an in-memory, embedded database system, eXtremeDB eliminates sources of latency such as cache misses, inter-process communication, remote procedure calls and creation of multiple copies of data. Learn more about eXtremeDB in real-time systems.
Built as a true in-memory database system, eXtremeDB has always taken responsibility for memory management. As an embedded database system, eXtremeDB creates no processes or threads (it is thread-safe). And eXtremeDB has never had any dependencies on the operating system or C runtime library and can, in fact, run on “bare metal” with no operating system whatsoever. (Learn more on our FAQ page.)
Small footprint, ultra-fast data management
Small footprint, ultra-fast eXtremeDB is being used successfully in manufacturing, transportation, telecommunications and other fields to meet the high demands of embedded systems. While traditional databases have long served as back-end repositories for control systems, eXtremeDB differs in that it serves as a persistent or in-memory database system that is integrated within the control systems’ streaming processes.
eXtremeDB can achieve predictable response times in the microsecond range, and is designed to operate in the harsh environment of industrial or military/aerospace systems. It thrives within the strict requirements for resource utilization, and is ready to provide the performance and reliability required by these control applications.
When an eXtremeDB transaction is started, it can be assigned one of 5 priority levels and will be queued accordingly by the transaction manager.
The eXtremeDB native API is type-safe: errors in data-typing are caught at compile time, to eliminate database corruption.
The eXtremeDB High Availability module ensures continuous database operation even in the face of hardware or software failure.
Binary Schema Evolution
Binary Schema Evolution (BSE) is used to implement “in-place” upgrades that involve changes to the database structure in running systems, without interrupting the availability of the system.
Source Code Available
Source code available and affordable for developers. Please contact us for more information.
This feature enables eXtremeDB to notify an application when something “of interest” in the database changes.
Articles about data management solutions
Database management system solutions are our only focus at McObject. We are proud to employ some of the best database management system specialists in the field, and invite you to read these and other published articles.
Change Data Capture in Embedded Databases
Embedded Computing Design CDC in embedded database systems can be implemented in several different ways that are sometimes invisible to applications, and ways that applications can exploit for data sharing, responding to events, and incremental back up. Learn more about Change Data Capture with eXtremeDB.
The Future of Embedded Databases
Insights Tech the Future Challenges and solutions for managing IoT data at rest and in flight.
What is a Distributed Database System?
IoT Agenda.TechTarget An in-depth article about three use cases integral to the deployment of scalable and reliable IoT systems.
White papers about data management solutions
Database management research for professional developers from McObject.
Portability Techniques for Embedded Systems
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.
Will the Real IMDS Please Stand Up?
Real v. imitation in-memory database systems. Understanding the distinction is critical to determining the performance, cost and ultimately the success or failure of a solution.
Distributed Database Systems and Edge/Fog/Cloud Computing
A distributed database system is one in which the data belonging to a single logical database is distributed to two or more physical databases. Beyond that simple definition, there are a confusing number of possibilities for when, how, and why the data is distributed.
Embedded Databases: Building In Always On High Availability
This Webinar presents development solutions that address the “always on” needs of fault-tolerant systems, while taming these applications’ growing data complexity.
Using Data Indexes to Boost Performance and Minimize Footprint in Embedded Software
The right index can boost lookup speed logarithmically, and reduce RAM and CPU demands. While the B-Tree is the best known index, many others can be more efficient in specific circumstances, such as geospatial/mapping and telecom/networking applications.
Edge Node Database Systems, the Internet of Things’ Hidden Workhorses
A review of edge node DBMS requirements and a look at the field of available solutions. Topics covered include DBMS architectures, NoSQL, data complexity, off-the-shelf vs. roll-your-own data management approaches, and more.