I lived through the evolution of this buzzword and here's what I saw:
- 1990s: Mainstream databases were all using Structured Query Language (SQL) and the relational model. (ie. MySQL, PgSQL, Oracle) These databases increasingly competed for a monolithic kitchen-sink model--one database that could do it all, but required expensive consultation and support packages in order to tune configuration. Drivers were also required as the protocols and serialization formats were often opaque proprietary binary formats.
- 2000s: Individuals in the open-source community began a counter-culture of small/specific data storage software solutions that managed one specific kind of data exceptionally well. (ie. Redis, AWS S3, Couchbase) In each case, the authors took a first principles approach, reinventing the query language from the ground-up, which was an inevitable reflection of how the data model had also changed in each case. Notably, using SQL was not an option with ANY of these storage solutions. Increasingly, HTTP requests and JSON were becoming the popular query, driver, and serialization mediums. Likewise, data models were moving toward highly customizable user-defined formats including binary structures and unstructured document data.
- 2010s: Google's MapReduce paper made a splash that gave birth to an entire ecosystem of data storage solutions specializing in Big Data. (ie. MongoDB, Cassandra, Hadoop family, Riak, and Cloud Provider proprietary hosted/managed clones) In many cases, they tried to win market share by bridging the gap for older engineers/customers who only understood SQL, by offering SQL-like query syntax which would be translated/augmented to fit the new formats behind the scenes.
- At this point Oracle, moves to buy MySQL, and from that point on we witness an irreversible decline and consolidation in the market for classic SQL-based relational databases.
Notice: SQL is a term in reference to a language syntax, not a data model. It's not specifically bound to relational table data (e.g., Hadoop Pig vs. Hadoop Impala)
What I remember: When NoSQL debuted as a buzzword, it truly meant "without structured query language".
What I believe: At some point, Big Corps like Oracle and Microsoft felt pressure to compete with these solutions, by expanding their monolithic solutions to support data models and query languages "in addition to SQL". Therefore their marketing teams moved to co-opt/confuse the terminology to mean "Not only SQL", in an attempt to stay relevant.
But "Not only Structured Query Language" does not make sense, because it has the exact opposite connotation of its original meaning. If we were referring to the family of data storage solutions, including those using SQL, then we are not making any meaningful distinction--that category would include all databases even pre-1990's, yet exclude the modern innovative databases that originally popularized the use of the term in 2000's.