Embedded databases have become a popular use of database technologies, especially for IoT applications in the enterprise, as I discussed in this recent article at Upside.

There are many reasons to embed a database in your application’s endpoints instead of just pushing data out to the device. When choosing your embedded database, areas that truly matter and distinguish solutions are write speed, automatic synchronization at scale, and an architecture that skillfully contends with nodes when they are offline.

These database systems should be built for software developers. Functions that may be needed include full create, read, update, and delete applications, ACID, the capability to run on multiple platforms and with multiple languages, the ability to move data to more centralized databases seamlessly, and true zero maintenance with DBA independence.

There is a database that has always been an embedded database. McObject was started in 2001.

For the offline challenge, the McObject eXtremeDB Active Replication Fabric APIs allow device-based applications to collect data, then transmit the collected data when connected. The McObject eXtremeDB embedded database also encrypts the link between endpoints. eXtremeDB has high compression of data and a tiny 200k footprint, storage medium selection by table (i.e. in-memory or persistent), ACID transactions, 5 priority levels for transactions and optimistic and pessimistic concurrency control options.

eXtremeDB can auto delete data by age or count with Time-To-Live and is available on device platforms such as ARM, MIPS, PowerPC, and Atom running popular embedded/real-time operating systems, e.g. VxWorks, INTEGRITY, QNX, eCos, FreeRTOS, Linux and many more. eXtremeDB is also available for gateway and cloud platforms: Windows and Linux, Linux on POWER, Solaris Sparc, Solaris x86_64, HP-UX (Itanium), and AIX.

eXtremeDB offers a wider variety of index types than many other DBMS (embedded or otherwise). These include Hash and B-tree and some interesting ones like

  • Patricia trie – can return the “longest prefix match” in the first search result
  • R-tree index – a geospatial index not limited to two dimensions, allows for searches like “find all the rectangles that overlap this rectangle” and “all objects within a given distance of this point”
  • KD-tree index –a single index can be on multiple attributes and efficiently conduct a search irrespective of which attributes were actually entered by the user
  • Trigam index – Used for “fuzzy search” like looking for any reduced-character portion of a field

The McObject eXtremeDB embedded database is in use at DIRECTV to manage programming data in set-top boxes. It is the single software design across the DIRECTV product line for disk-enabled and disk-less set-top boxes.

British Aerospace embeds eXtremeDB in the Tornado Advanced Radar/Map Display Information System (TARDIS). This displays a moving digital map overlaid with radar and tactical data to the navigator and pilot of the Panavia Tornado GR4 multi-role combat jet using eXtremeDB to manage tactical information such as aircraft, ship or vehicle positions.

McObject eXtremeDB embedded database is a mature platform for embedded database applications with 20 years of engineering and development behind it. Overall, eXtremeDB is an excellent choice for IoT or mobile companies needing high performance and a scalable embedded database for time series applications.

McKnight Consulting Group