NoSQL Database Systems

NoSQL Database Systems Definition

NoSQL database systems, also called NoSQL database management systems (DBMS), are a class of database created to support the demands of modern, globally distributed, cloud-native applications. NoSQL database systems are designed to provide high availability and the ability to scale flexibly in response to unpredictable, often spiky, application workloads. As cloud computing has become the norm, non-relational databases have proliferated.

This “family tree” of modern distributed databases shows how both NewSQL systems like CockroachDB (to the left) and NoSQL systems like Scylla (to the right) stemmed from scalability challenges addressed in the original Google whitepaper for Bigtable (center).

NoSQL Database Systems FAQs

What are NoSQL Database Systems?

The emergence of NoSQL databases paralleled the adoption of agile and DevOps practices. NoSQL databases encourage ‘application-first’ development. Before designing data models and entities, developers first consider query patterns that support the functionality specific to an application. Some NoSQL systems offer a multi-model schema, meaning that they support more than one data schema internally. Since no industry standards yet exist to implement a NoSQL database, greater freedom and variety is provided among the NoSQL implementations.

What are NoSQL Database Systems?

Relational databases have been the norm for decades, since their invention in 1970 by Edgar Codd. Popular relational databases include IBM Db2, Oracle Database, Microsoft SQL Server, and MySQL. Structured Query Language, or SQL, is the language used for querying relational database management systems (RDBMS). Indeed, the terms SQL and RDBMS have become interchangeable enough that a “SQL database” generally means a relational database.

RDBMSs served the needs of organizations for many decades. The emergence of cloud computing exposed the limitations of relational databases in distributed architectures. Ultimately RDBMSs proliferated in an age when databases ran as isolated islands that served stable user bases, with predictable workloads and consumption patterns.

The emergence of cloud computing, smartphones, social media, and the ‘app economy’ created a completely new operating environment for database technology. Over time, the limitations of the relational model became painfully evident. Relational databases simply could not scale in a way that provided the responsive experience that end users expected. Internet users, especially the generation of digital natives, expect low-latency applications that deliver an extremely responsive experience, anywhere in the world.

As SQL systems buckled under the strain of increasing Internet traffic, a number of alternative non-relational database systems were proposed, prominently Google’s Bigtable (2006) and Amazon’s Dynamo (2007). These papers paved the way for Apache Cassandra (2008) and MongoDB (2009). Today, a range of mature NoSQL databases is available to help organizations scale their big data applications.

What are NoSQL Database Systems?

Many IT organizations have become familiar with database tradeoffs, often wrestling with the fundamental decision between relational and non-relational databases. Organizations that need a highly available, distributed database usually opt for non-relational NoSQL. Organizations that need strong consistency and transactions usually opt for a relational SQL.

The two database management systems scale in different ways. NoSQL databases are designed from the ground up to run across many distributed nodes. This is often referred to as “horizontal scale,” and the process of adding nodes to increase scale is referred to as “scaling out.” In contrast, SQL databases support “vertical scale;” users add more CPU, memory and faster networking components to increase performance.

Horizontal scale is not without its downsides. Adding commodity hardware to a cluster can be inexpensive in terms of licenses, but as more nodes are added in the pursuit of higher throughput and lower latency, operational overhead can spike. More nodes often means more outages, more maintenance and more repairs.

What are NoSQL Database Systems?

Non-relational databases introduce a diverse range of new query languages, the most prominent of which is the Cassandra Query Language (CQL). Common CQL-compliant databases include Apache Cassandra, ScyllaDB, DataStax Enterprise, and even Microsoft’s cloud-native Azure Cosmos DB and Amazon Keyspaces.

What are NoSQL Database Systems?

ScyllaDB offers ScyllaDB, an open source database built from the ground up to deliver on the original vision of NoSQL. It was designed to maximize available computing resources and to take advantage of modern multi-core hardware. In this way, ScyllaDB delivers a NoSQL database that uniquely delivers predictable low-latency with minimal operational overhead, along with significantly lower TCO than alternatives.

Trending NoSQL Resources

ScyllaDB University Mascot

ScyllaDB University

Get started on your path to becoming a ScyllaDB expert.