Monday, August 8, 2016

Polyglot persistence

This refers to the system that uses different databases for each of its components. The idea is to choose the database that best fits the needs for a particular component.

The flexibility of RDBMS have led to a scenario where over the years, it has become a default choice for persistence. In some cases, RDBMS is severely constraining and we have been addressing it by having a layer of abstraction on top of the RDBMS solution. Some examples of the abstractions that we have used are
  • Having a caching layer that reads from the database
  • Storing files as byte arrays and having functions that converts files to byte arrays & back
  • Building data access layer to map complex object to relational model

The emergence of different varieties of NoSQL databases has given us the choice to choose from a wide variety of options.

A complex enterprise application comes with multiple modules & functionalities, all its data needs may not be met with a single persistence technology. It would be beneficial to pick the right database for each.


The solution that includes multiple databases for its persistence needs is referred to as polyglot persistence

--------------------------------------------------------------------------------------------------------------------

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home