Making a case for multi-model databases

Posted on March 3rd, 2017 by Arpit Poladia

Beyond RDBMS

The relational data model has been around for a long time. But since then, many other data formats like JSON, time series, blobs etc. have become widespread. While a RDBMS may support these data types as add-ons, they are not first class citizens in terms of querying and indexing. Modern web applications are increasingly demanding in terms of scalability, performance and cost and most relational offerings struggle with these demands.

The proliferation of NoSQL

NoSQL arrived about eight years ago as an alternative. Modern applications need different data models with different storage requirements. It is quite common nowadays to have multiple databases in the backend. Polyglot persistence means that you have to manage multiple databases, which can sometimes lead to complexity in development and operations.

Multi-model databases

A multi-model database is fundamentally a single backend that can support multiple data models. It does so by mapping documents, graphs and tables to a collection of keys and values. This provides the flexibility to choose the best data model as per the needs with a single storage. Support for ACID transactions allow keeping data consistent across all the data models. This makes them incredibly powerful.

This may very well prove to be the future of databases – ACID compliant, multi-model and scalable – the best of both worlds.

 

Arpit Poladia
Senior Software Engineer @ Zapcom Group
https://www.linkedin.com/in/arpitpoladia/

Making a case for multi-model databases

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz