I loved Designing Data-Intensive Applications. It gives you the reasons why NoSQL databases exist and the problems they solve. Moreover it gives you reasons to select one over another. It's really excellent and one of my top two CS books
Your other top CS book out of interest?
If it helps, IMO "Designing Data-Intensive Applications" is a better bang-for-the-buck. Enterprise-scale applications are a world unto themselves.
Edit: I meant Patterns of Enterprise Application Architecture by Fowler in my comment above. Recommended by DHH.
My advice would be to skip it completely. It's just packed full of standard GoF OO dogma.
Thanks. So, what you're saying it is redundant if you've read GoF?