May 14, 2024

Embedded Database Systems

Curated News and Information About Commercial and Open Source Embedded Database Systems

What Is A Hybrid Embedded Database?

Can an embedded database system also be a Hybrid database system? Yes.

When the phrase was first used, hybrid database referred to a database system’s ability to exploit both in-memory and persistent storage. Altibase claims to be the first such database system in 2005. McObject seems to have the second such hybrid database system, having announced eXtremeDB Fusion early in 2007.

Aerospike has a different approach to hybrid in-memory/persistent storage. It creates index structures in DRAM and stores data on solid state disks (SSDs). That’s a unique twist on hybrid use of in-memory/persistent storage, but is in the spirit of the original use of the phrase.

Unfortunately for consumers, more recently the phrase has been used in several other contexts. This just creates confusion.

The market research firm Gartner may be the major contributor to the dilution of the phrase “hybrid database” when it first began using the term “Hybrid transaction/analytical processing (HTAP)” in 2014. Gartner defines HTAP as ‘…an emerging application architecture that “breaks the wall” between transaction processing and analytics. It enables more informed and “in business real time” decision making.’

Since then, the use of the phrase “real time” in the context of hybrid database systems has become more common. For example, TechTarget writes “A hybrid database is a type of real-time database system that uses both on-disk and in-memory data storage by deciding which is most suitable for a given task.” Interestingly, in the article, “real time” is a hot link to a definition that says only “Also see real-time clock and real-time operating system.” But the author seems to use the term ‘real time’ in the same sense that Gartner does (i.e. OLAP or processing a stream of events in real time) when it goes on to say “Hybrid databases also have the ability to run transactional and analytical workloads simultaneously…” Unfortunately, the author didn’t stick with Gartner’s use of the phrase “business real time” which draws the important distinction.

A quick sidebar on “real time”, which will be the subject of another article coming soon: Originally, a real-time database system had everything to do with the real time clock and real-time operating systems. In the past few years, the phrase “real time database” has been used to reference database systems that process a live stream of events and perform analytics immediately, or in other words in “business real time” versus storing the data in a persistent database and performing analytics on the data “at rest”.

Another recent use of the phrase “hybrid database” is in the context of database systems can combine the characteristics of relational and NoSQL database systems. Case in point, this article says “a hybrid database is also defined as the integration of Relational and NoSQL databases.” Actually, the article contributes greatly to the confusion by continually switching between referencing in-memory/persistent and relational/NoSQL when using the phrase “hybrid database.”

It has come to the point that the term “hybrid database” is virtually meaningless. It can, and has been, used to refer to a combination of any two database characteristics. Art Kagel, a top writer on Quora, wrote “A hybrid database system is any database system that supports multiple conceptual paradigms. Yes, supporting in-memory and disk based would be one such hybridization. Another would be any database system that supports both relational database concepts along with one or more of the following paradigms: Object Oriented, Document Store (aka JSON/BSON/JSONB), Graph data, Timeseries data, Node data, Geospatial data, etc.”

In conclusion, being hybrid, however you define it, is just one characteristic of a database system. That characteristic, or feature, can be combined with others to create many types of database systems. For example, a hybrid database system can also be an embedded database system, or it can be a client/server database system.