Databases are commonly classified by the data model they conform to. Hierarchical databases structure their data elements in trees, relational databases store data in the rows and columns of interconnected tables, and document databases work with collections of objects stored in JSON (or other) document form.
Different database models excel at different tasks. For example, storing and managing large numbers of data points collected over time is trivial for a time series database, but unrealistically complicated and slow using a relational database.
Considering the abundance of database models in existence, how do we get the most from our data without using an overwhelming number of services? Take for instance a company that wants a document store for its orders, ACID reliability for its accounting, distributed counters for web analytics, and would also like to use incremental time series to track transaction volume.
Deploying and integrating multiple data stores to provide this set of services is likely to become a costly and complex balancing act.
An ideal solution would be deploying not several stores, but a single multi-model system that provides all the services you need. A multi-model database is exactly that, providing a set of services that in the past could be provided only by multiple specialized databases.