There are various historical lenses we can apply to the NoSQL movement, from branding (No SQL or Not Only SQL), to goals (scalability vs write availability? vs open source), to operations (should developers or DBAs own the schema? Do should DBAs still exist?), but there was clearly a movement! with at least some set of common goals. In this blog post I'm going to single-mindedly focus on one aspect of NoSQL: scalability. We'll look at some of the things the NoSQL movement threw out, and ask ourselves whether those things actually helped achieve better scalability. On the way, we'll start exploring the laws of scalability physics, and what really matters. So what did NoSQL throw out? Again, that varies from database to database, but it was approximately these things: * Explicit schema * Transactions * Strong consistency * Joins, secondary indexes, unique keys, etc. * The SQL language itself * Data models (graph, etc)
https://media.hachyderm.io/media_attachments/files/109/779/940/141/174/120/original/7bbd19f0deaa9af2.png