I have seen a few instances of projects establishing or moving to a Redis + PostgreSQL combination, instead of a pure NoSQL platform.
I am curious to know from those who have implemented this, what was the idea behind the design, and what problems did such an implementation solve?
However, there are solutions that relational databases tend to be better suited for than most NoSQL solutions. Compared to a number (but certainly not all), NoSQL solution, RDBMS tend to provide better ACID guarantees. They were also meant to work well with data on disk, versus only data in RAM. They are obviously suited for highly structured data. Finally, the biggest advantage in my mind is reporting. You can argue that map reduce is more powerful and, properly implemented, scales infinitely better, but for people not dealing through terabytes of data a day, relational databases are better for reporting simply because they have better tooling. Not only is the tooling support (like excel) better, it isn't uncommon to find a business analyst tweaking a GROUP BY or WHERE clause to achieve what the want.
Why pick redis + something? Two common cases: large data, ad-hoc querying. If you are doing a time series, you'll often see people store just the ID in a redis sorted set, get the range of Ids they want, then go to something else and pull out the full records based on those ids. This can be a must-implement solution if you are dealing with large, of numerous records. As for ad-hoc queries, if you are familiar with Redis, this should be obvious. Maintaining a lot of secondary indexes manually can be a pain.