This method is quite common when processing large-scale data. But the solutions are rather specialized, so I canβt think about why a common code base will be created for this. The one exception may be to place memcached in front of other data stores.
A common example of what you are saying is setting up an Apache Solr server to synchronize with an SQL database. Then you can make clogged queries for the keyword / substring / synonym / stemmed / etc against Solr, but do aggregations in SQL.
Another example is using the same data store, but saving the same data in multiple aggregated formats. For example, the availability of a data set collapsed by date (every day receiving a record) can also be stored in a roll by the user (each user receives a record). Depending on the query you want to run, you choose the set that will give you the best performance. If the data is large enough, the overhead of maintaining the two sets is synchronized more than it pays for itself as the query speed increases.
source share