Opinion: traditional databases suck and so do NoSQL ones, for the exact opposite reasons.<p>A better solution would be one that gives developers fine-grained control over "scalable and loose" vs "less-scalable and tight", rather than all-or-nothing in either direction.<p>That is to say: I want full ACID on my "financial transactions" collection and maximum scalability for my "chat messages" one -- but I want them in the same overall system, accessed via the same API, managed via the same tools, and with knobs that can be inexpensively modified on the running system.