Issue No.05 - September/October (2010 vol.27)
Debasish Ghosh , Anshin Software
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.87
Most of today's enterprise applications use a relational database management system as the underlying data store. This often creates an impedance mismatch between the application layer and the data layer, because most applications use object-oriented or functional languages. Storing data the same way it's used in the application would simplify the programming model, making it easier to decentralize data processing and, in turn, enable horizontal scaling. Emerging NoSQL data-storage engines support this strategy. Just like the application layer, the data-storage layer can use multiple paradigms and store data in a way that's semantically closer to the corresponding domain models. This article discusses a strategy for using multiparadigm data storage within a single application. It includes an architecture for keeping multiple data stores in sync by using a messaging system that asynchronously pushes updates between data stores, achieving eventual consistency.
data management, database, messaging, software engineering
Debasish Ghosh, "Multiparadigm Data Storage for Enterprise Applications", IEEE Software, vol.27, no. 5, pp. 57-60, September/October 2010, doi:10.1109/MS.2010.87