Sunday, August 5, 2012

Polyglot Persistence


Web posed new challenges: big data, cloud grid, multi-tenancy, high availability, social media connectivity, and others. In solving the challenges, new types of databases have been developed and become popular. Even though they all go under the umbrella of NoSQL, each one was developed for and is best at solving specific problems. Martin Fowler[1] argues that the future of data storage in the enterprise is in polyglot persistence.  “Polyglot persistence will occur over the enterprise as different applications use different data storage technologies.” 

My only point of dispute is that the same was true before NoSQL.  The below diagram shows the two most recent waves of the database innovation: data warehouses, and Web x.0.  
Waves of Database Innovation


Applications used before and continue to use the most suitable data storage mechanism. Data is flowing through an enterprise and takes different forms: an in-memory storage for a web application, multidimensional cubes for interactive reporting, bi-temporal for master data management, flattened result sets for statistical analysis, hierarchical XML messages for interfaces, and so on.
With the same data taking different forms, it needs to be transformed between those forms.  Some representations miss constraints imposed by others and cannot be converted directly.  A relational schema played the intermediary role for many years. In my opinion, it is still the best one for expressing business domains, and would continue to be used for systems of record.


[1] Martin Fowler and Pramod Sadalage, February 8, 2012. http://martinfowler.com/articles/nosql-intro.pdf

No comments:

Post a Comment