Select Page

The Role of Purpose-built NoSQL Databases in Commercial Database Cloud Modernization Strategies

Author: Michael Agarwal | 6 min read | August 23, 2022

 

SQL versus NoSQL databases (or relational versus non-relational) is a topic that comes up frequently during cloud modernization discussions. SQL-compatible databases have strong relationships between data that is highly structured, with a well-defined schema. Many applications are built with the assumption that a relational database management system will sit behind them. Data on these databases are queried with SQL.

More recently, NoSQL (or Not Only SQL), databases have risen in popularity. These databases do not require a defined schema and have more flexibility in the data types, attributes, and structure of the data. The data has a simpler structure than relational databases, so NoSQL databases can support modern applications that require extremely fast performance, horizontal scaling, and distributed processing.

Changing from a relational database such as SQL Server to a NoSQL database does require significant refactoring for your workloads, as everything from your schema to your querying approach changes. Some organizations keep legacy applications on relational databases and use NoSQL options for new development initiatives.

Using Purpose-built Non-Relational Databases

Purpose-built NoSQL databases come in many forms, addressing varying shortcomings of relational database models. Here are the most common types and how you can deploy them in an AWS environment.

Graph

Graph databases are used to create and navigate relationships between highly connected data, such as identity, knowledge, and fraud graphs. Data gets stored as nodes, edges, and properties.

Use cases include social networking, fraud detection, and ecommerce recommendation engines.

One example of a fully managed graph database is Amazon Neptune. It can reach 100,000 queries per second and supports open-source graph technology such as Gremlin, SPARQL, and openCypher.

Wide-Column

Wide-column databases are used for high-scale, low-latency data that is organized into columns with a flexible data model. They’re designed for high data volumes that are horizontally scaled across many database instances.

Use cases include the industrial Internet of Things (IoT), gaming, and logging data.

Amazon Keyspaces is a serverless wide-column database that is compatible with Apache Cassandra, an open-source wide-column database technology. It’s designed for single-digit millisecond response times and offers 99.99% availability.

Key-Value

Key-value databases store data as key-value pairs. The key is the identifier, and the value can range from simple to complex objects. Due to this simplicity, queries are less complex and resource-intensive, driving high throughput and low-latency reads and writes.

Use cases include high-traffic web applications, gaming applications, IoT, and media streaming platforms.

Amazon DynamoDB is a serverless key-value database that also supports document data models (covered in the next section). It provides automatic scaling, offers single-digit millisecond latency on reads and writes, and offers 99.999% availability.

Document Store

Document store databases store and query the data as semi-structured JSON documents.

Use cases include content management systems, user profiles, mobile applications, and catalogs.

Amazon DocumentDB is a fully managed document store that separates compute and storage to scale document read requests into the millions per second. It offers up to 99.999999999% durability for mission-critical NoSQL workloads and supports MongoDB drivers and tools through Apache 2.0 open-source MongoDB 3.6 and 4.0 APIs.

In-memory

In-memory databases use memory for most or all the data stored on them, rather than disks, with key-based querying. This configuration drives extremely fast microsecond performance with simple instruction sets.

Use cases include session management, caching, geospatial applications, real-time analytics, and gaming leaderboards. Due to its caching capabilities, in-memory databases are frequently used alongside a main database rather than operating as a stand-alone option.

Amazon ElastiCache and Amazon MemoryDB for Redis are two types of available in-memory databases. ElastiCache is a fully managed, ephemeral to semi-durable caching service that is compatible with the open-source technologies Redis and Memcached. MemoryDB is a durable in-memory database that offers Redis compatibility and is designed for applications with microservices architecture.

Time-series

Time-series databases are designed to collect, store, and process data sequenced by time. The data is append-only.

Use cases include industrial telemetry, IoT, security systems, and operational applications.

Amazon TimeStream is a fully managed and serverless service that supports trillions of events per day. It splits data between an in-memory data store for recently used data and a cost-optimized data store for historical data.

Interested in exploring more cloud modernization pathways? Download our white paper “Open-Source? Purpose-Built? NoSQL? Making the Right Strategic Cloud Modernization Decisions for Your Commercial Databases” to equip yourself with the right information to make cloud optimization decisions.

 

Subscribe to Our Blog

Never miss a post! Stay up to date with the latest database, application and analytics tips and news. Delivered in a handy bi-weekly update straight to your inbox. You can unsubscribe at any time.