Managing databases in a hybrid cloud: 8 key considerations Cloud database security: Best practices, challenges and threats

Compare NoSQL database types in the cloud

NoSQL systems are increasingly common in the cloud. Read about the different types of NoSQL databases that are available from major cloud providers and other vendors.

The emergence of globally scalable online services for social networks, streaming content, retail, payment systems and other business uses significantly changed application infrastructure requirements in organizations. One of the most substantial transformations came in the way IT systems store and organize data. That has led to increased use of NoSQL databases as part of data management strategies.

Relational databases, such as Oracle Database and Microsoft SQL Server, are still the most widely used type of database management system (DBMS). But mainstream relational software is a poor match for applications that require distributed, scale-out cluster infrastructure. NoSQL technologies are a better fit for loosely coupled systems in which application data and executable code are spread across multiple servers and perhaps data centers. They can also handle diverse data sets that don't fit well within the rigid schema of SQL-based relational databases, which work best with structured data.

With their origins often rooted in the open source community, NoSQL vendors have built various types of databases to target different kinds of data and use cases. Oracle, Microsoft and other relational DBMS (RDBMS) vendors also eventually developed NoSQL databases. Now, in keeping with the overall market shift toward cloud databases, NoSQL systems are widely available in the cloud both for self-managed IaaS deployments and vendor-managed database as a service (DBaaS) ones.

Pros and cons of NoSQL databases

As a whole, NoSQL databases have some advantages over relational software for web applications, mobile apps and other uses. These advantages include the following:

  • The ability to handle a variety of data types in schema-less or flexible schema environments.
  • Support for unstructured and semistructured data, such as text, images, audio and video.
  • Strong suitability for time series data, as well as streaming data, such as event logs and IoT data.
  • Higher performance and lower latency in some applications, especially high-volume ones.
  • Horizontal scaling capabilities to support large workloads and data volumes.
  • Access to a wide variety of open source databases or source-available technologies that often are less expensive to run than a proprietary RDBMS.

However, these benefits come at a cost in other ways. For example, relational database systems ensure more immediate data consistency and reliability through the ACID properties: atomicity, consistency, isolation and durability. NoSQL databases usually follow the BASE model. Short for basically available, soft state and eventual consistency, BASE prioritizes data availability and performance over strong consistency. That limits the use of NoSQL systems in transaction processing applications that need data to be consistent at all times, although some do now support ACID transactions.

Also, these nonrelational databases often lack built-in mechanisms to check data integrity; in such cases, that must be done in external code. Furthermore, while many NoSQL databases include some SQL capabilities -- the term NoSQL commonly stands for "not only SQL" now -- they typically don't support complex SQL operations, such as compound select statements or table joins.

NoSQL database categories

The right way to think about NoSQL isn't as a single technology, but rather as an umbrella category for several different kinds of databases. The following are the four primary NoSQL database types:

  1. Key-value store. This type of database organizes data sets as records that include a unique key paired with a data value. It uses hash tables to store the keys with pointers to the associated values, which can be a single entry or a complex data object with multiple elements. A key-value store is like a dictionary: Each key is akin to a word, and the value represents its meaning.
  2. Document database. A document database commonly stores data objects in key-value pairs, too, but it puts them in document-like structures that can also embed metadata about the contents. Sometimes called a document store or document-oriented database, it encodes documents in JSON, XML, YAML and other text formats or binary variants, such as Binary JSON -- commonly known as BSON.
  3. Wide-column store. This DBMS technology organizes data by columns rather than rows. As its name indicates, a wide-column store can contain tables with many columns, enabling it to handle especially large data sets. Columns are grouped into families of related data that's accessed together, leading to this also being called a column-family database or column-family store.
  4. Graph database. This type does away with the common row-column database structure in favor of using a graph-like one to store data sets as a collection of nodes. A graph database shows the connections between nodes and highlights their relationships. Properties, or attributes, can be listed to further describe nodes and how they're related.
Details on the four primary NoSQL database categories
These are the four major types of NoSQL databases for both on-premises and cloud deployments.

These technologies can also be NoSQL products but aren't exclusively in that camp:

  • In-memory cache. This is a type of key-value store designed to fit entirely within system memory. Doing so accelerates performance and potentially reduces cost by removing the need to scale an entire database just to handle a certain application feature or scenario. Some relational databases also run in memory, still storing data in full relational tables.
  • Search database. A search database is a specialized document store in which the document indexes can be sharded and distributed across multiple nodes to provide massive scalability and accelerate the retrieval of entries through search functions. Also called database search engines, they're sometimes viewed as a separate technology category.
  • Time series database. A TSDB, as it's known for short, collects data that's generated on an ongoing basis and stores it in successive order with timestamps. Examples include stock market, sensor and IT network data. Also sometimes built on a relational engine, a time series database can be used to track such data sets and analyze how they change over time.

In addition, NoSQL vendors increasingly are turning their products into multimodel databases that support more than one data model -- for example, by adding graph, time series and full-text search modules to a document database. The rise of generative AI has also spurred many vendors to add vector database capabilities that enable large-scale similarity searches in sets of unstructured data, such as the text used in the large language models that underpin GenAI tools.

NoSQL cloud database comparison

As public cloud infrastructure became a popular option for running web and mobile applications, plus other IT workloads, cloud platform market leaders AWS, Microsoft and Google all built a variety of NoSQL database services to suit different data types and use cases. The technologies available from them for each type of NoSQL database are listed here.

NoSQL databases offered by the top cloud platform providers
This lists the NoSQL technologies offered by the three leading cloud platform providers, plus some other options.

As the comparison table indicates, there are also many other open source database technologies and commercial NoSQL offerings available in the cloud. For DBaaS environments, users can choose between the top cloud platform providers -- the three in the table, plus Oracle -- and other NoSQL vendors that host their databases on one or more of those platforms. Each third-party technology has its own features and strengths that could make it the best NoSQL option in the cloud.

Another big decision on running a NoSQL database in the cloud is the deployment model: a self-managed platform versus a fully managed database service. That choice hinges on whether an organization prefers an internally configured and controlled database system or a managed DBaaS one that removes upfront Capex and ongoing infrastructure management overhead.

Editor's note: This article, originally written by Kurt Marko in 2019, has been updated by TechTarget industry editor Craig Stedman. Marko was a longtime TechTarget contributor who passed away in January 2022. He was an experienced IT analyst and consultant, a role in which he applied his broad and deep knowledge of enterprise IT architectures. You can explore all the articles he authored for TechTarget on his contributor page.

Next Steps

Should you run your database on premises or in the cloud?

Cloud database comparison: AWS, Microsoft, Google and Oracle

Different types of database management systems explained

How to plan and manage a multi-cloud database environment

Open source vs. proprietary database management

Dig Deeper on Cloud infrastructure design and management

Data Center