What is a multimodel database?
A multimodel database is a data processing platform that supports multiple data models, which define the parameters for how the information in a database is organized and arranged. Being able to incorporate multiple models into a single database lets information technology (IT) teams and other users meet various application requirements without needing to deploy different database systems.
The data models that such databases can accommodate include relational, hierarchical and object ones, plus document, graph, wide-column and key-value styles that are grouped together under the NoSQL technology umbrella. Individual database vendors offer different combinations of data models, requiring prospective buyers to find multimodel database technologies that meet their particular application needs.
In contrast to systems that are confined solely to the market-leading relational data model, multimodel databases don't uniformly store data in a row-based table structure. As a result, they can handle different forms of data that don't fit the relational model's rigid schema, including unstructured and semi-structured data types. In some cases, though, the multimodel approach may limit the transactional integrity that relational database management systems use to maintain data accuracy and consistency.
The relational model and its associated Structured Query Language (SQL) programming interfaces gradually gained dominance in enterprise computing in the years after it was defined by IBM researcher E.F. Codd in 1970. But other types of databases continued to have adherents. And in the mid-2000s, additional data models began to flourish, as large web companies and other organizations developed a wider array of distributed computing applications, including ones that involved fast-growing forms of big data not suited to relational databases.
Notable among the emergent database types in the big data and cloud computing era is the NoSQL database in its various categories. The growing adoption of NoSQL software fueled the concept of "polyglot persistence," which holds that organizations should use a mix of database technologies to store the divergent types of data they generate and collect. Multimodel databases provide a means to simplify such environments.
To some extent, the term multimodel database arose at the same time that some NoSQL vendors began to blend different data models in their product offerings. But there were precursors to that, too. For example, MarkLogic supports document, graph, relational and other data models in its namesake database; founded in 2001, it predated the NoSQL boom, but is now included among the ranks of NoSQL vendors. In addition, InterSystems offers both object and relational models in its Caché software, a multidimensional database that was first released in 1997.
More recent multimodel database entries from the NoSQL camp come from companies that include Couchbase, DataStax and Basho Technologies, among others. Couchbase supports document and relational models in its Couchbase Server database. DataStax, which sells a version of the Apache Cassandra open source database called DataStax Enterprise, melded a key-value data model with a column-based one, and went on to add document and graph support.
Increasingly, text search is seen as another data model that some NoSQL engines support; among the examples is Basho's Riak database, which combines key-value, object and search models.
Widely used relational databases also have a history of supporting the multimodel path, while still remaining essentially relational in nature. For example, Oracle, Microsoft and IBM over time have added the ability to store XML, JSON, geographic information system, graph and other data types to their relational databases.