It seems to me that NoSQL database engines rely more heavily on just-in-time record parsing and computation, spreading an order of magnitude more reads across multiple nodes rather than relying on indexes or predefined schema. That makes database design more flexible, not necessarily more performant. The thing about old-school relational B-tree indexes is that they are powerful things; they can pack a lot of structured information in a relatively small amount of space, and when a single covering index is optimized to facilitate a specific problem domain, it's hard to beat. Likewise, flat de-normalized ColumnStore tables can compress data by 90% and facilitate a broad range of queries very efficiently. Likewise again for OLAP databases like SQL Server Analysis Services; for specific types of analytical processing it can't be beat.
"The universe is complicated and for the most part beyond your control, but your life is only as complicated as you choose it to be."