How to Handle Polyglot Persistence
I recently completed a proof of concept for a customer that allowed us to quickly create data-rich, enterprise-dashboard views from multiple, different data sources. Some views contained data from several services, which imported the data from relational database extracts, PDFs, and even semantic data. All that heterogenous data went into one MarkLogic database. The small, composable set of services built on MarkLogic made us agile and productive.
Because the data was now in one place, it was no longer stove-piped. Before, useful data was trapped in systems (like their enterprise application modeling tools), which may not seem like a database but are rich with information about their enterprise systems. Now, all that data is accessible through a set of services that are micro (in the sense they are small, contained, and independent of each other), but with the benefits inherent in consolidation. The data is one place and we can indicate its provenance (where it came from and when).