Welcome to an Overview of NoSQL. This video defines the term NoSQL and the technology it references, and it describes the history of NoSQL in the database landscape. First, let’s talk about the name NoSQL. The name was introduced at an event to discuss all of the new open-source distributed databases that were coming onto the scene, and the name, NoSQL, has stuck ever since. Contrary to what it sounds like, NoSQL actually stands for ‘Not Only SQL’ and not ‘NO SQL’. The name NoSQL really describes what it is not. That is, it refers to a family of databases that vary widely in style and technology, but which all share a common trait in that they are non-relational in nature, meaning they are not a standard row and column relational database management system or RDBMS. Therefore, a better name to describe these databases would be ‘non-relational’. NoSQL databases provide new ways of storing and querying data that address a number of issues for modern applications. Most importantly, the majority of NoSQL databases are geared to handle a different breed of scale problems that have arisen associated with the “big data” movement. By scale, we are referring to both the size of the data, but also the concurrent users acting on that data. NoSQL databases are typically also more specialized in their use cases and can be much simpler to develop application functionality for, than relational databases. We’ll get into more detail on the benefits of various NoSQL databases in later videos in this course. Let’s take a quick look at the history of the NoSQL movement. Going back to the period between 1970 and 2000, although there were some non-relational databases like IBM’s IMS (which was a hierarchical database used for the Apollo space missions no less), the market was dominated by relational databases, so when application architects and developers needed a data store for their applications, they were pretty much picking from a variety of common relational databases, with Oracle, IBM DB2, Microsoft SQL Server, and MySQL being some of the more popular ones. When internet applications and companies started exploding during the dotcom boom in the late 90’s/early 2000’s, applications went from predominately serving thousands of internal employees at companies, to needing to serve millions of users on the public internet. For these applications, availability and performance were paramount and these new scale problems led to a drive to create new scalable technologies to support them. At this time, several large tech companies such as IBM, Google, and Facebook, developed a lot of great technology, and in turn released whitepapers, and/or open-sourced the technology, to the community. Specific examples include Google’s MapReduce whitepaper which described how to process large data sets on distributed systems and Amazon’s Dynamo whitepaper which detailed a way to evenly distribute data and workload within a cluster in a quorum style architecture. In the late 2000’s, several new databases emerged on the scene, a large number of them from open-source communities. Databases like Apache CouchDB, Cassandra, and Hbase, as well as Mongo, Redis, Riak, and Neo4j became more prevalently used in applications, particularly in ones that required larger scale than a relational database could handle. In the last 10 years or so, several NoSQL databases have leveraged a fully managed service model, otherwise called database-as-a-service (or DBaaS) to offload the administration and maintenance from the end user and allow developers to focus on building applications with these modern databases. Examples include IBM Cloudant and Amazon DynamoDB. In this video, you learned that the name ‘NoSQL’ stands for Not only SQL, and that the term NoSQL refers to a class of databases that are non-relational in architecture. You learned that although implementations of NoSQL databases are technically different from each other, they all share some common traits. And you also learned that historically, relational databases were more prevalent, but since the year 2000 NoSQL databases have become more popular in the database marketplace, due to the scale demands of Big Data.