AWS NoSQL FAQs
What is AWS NoSQL?
NoSQL databases allow users to store data with a variety of data models and flexible schema. These databases are user-friendly for developers, and offer the functionality and high performance modern applications require.
There are several types of NoSQL databases among the AWS NoSQL database offerings. Users can select both managed and self-managed AWS NoSQL database services designed to support cloud-based workloads and integrate seamlessly with existing AWS resources.
NoSQL Databases Offered on AWS by Database Type
Does AWS support NoSQL databases? Yes, there are a number of AWS NoSQL database options:
Key-value databases. Key-value databases allow users to store data in pairs containing a data value and a unique ID. Since values can hold any data structure or amount and are not assigned to a table, this provides a flexible storage structure. Key-value databases can handle huge volumes of requests.
Common use cases for these databases include eCommerce sites, gaming applications, and other high traffic applications. The relevant AWS service here is Amazon DynamoDB, a key-value database.
Document databases. Document databases and key-value databases are structured similarly, except that data is written in a markup language like XML, JSON, or YAML and stored in documents rather than in keys and values. Hierarchies of data can be stored in these databases by linking documents.
Common use cases for document databases include catalogs, user profiles, and content management. Amazon DynamoDB can be used here as well, but the main AWS service in this category is Amazon DocumentDB.
Wide column databases. Wide column databases lack a strict column format but are still based on tables. However, users can combine columns containing different data formats and segments of rows, and rows do not need a value in every column.
Common use cases for wide column databases include fleet management, route optimization, and industrial maintenance applications. Amazon Keyspaces for Apache Cassandra is the AWS service in this category.
Graph databases. Graph databases are structures made up of nodes and edges. Nodes are the unique data values and the relationships between them are edges. Graph databases enable the intricate tracking of closely related data in an organic network rather than a structured table.
The database is designed for big data applications and use cases for graph databases include social networking, recommendation engines, and fraud detection. The AWS graph database is Amazon Neptune.
Time series databases. Time series databases sort and store data in time ordered streams by the time of ingestion, collection, or other timestamps in the metadata, not by ID or value.
These allow users to query data based on time intervals for DevOps, industrial telemetry, Internet of things (IoT) applications, and similar use cases. Amazon Timestream is the relevant AWS service.
Ledger databases. Ledger databases are based on logged events related to data values. The logs that record these events are immutable, transparent, and cryptographically verifiable.
Common use cases for ledger databases include registration systems, banking systems, and supply chains. The AWS service here is Amazon Quantum Ledger Database (QLDB).
AWS NoSQL Databases Services: An Overview
Here are the AWS NoSQL options and their basic features:
Amazon DynamoDB. Amazon DynamoDB is a document and key-value database and a prime location for AWS NoSQL big data services. It is a fully managed service that collects AWS NoSQL attributes in DynamoDB tables and includes in-memory caching, backup and restore features, and security.
Amazon DynamoDB supports encryption and atomicity, consistency, isolation, durability (ACID) transactions by default and automatically scales to dynamically adjust provisioned capacity.
Amazon ElastiCache. An in-memory data store, Amazon ElastiCache offers fully managed support for Redis and Memcached in place of a disk-based database. It supports sub-millisecond response times and delivers scaling with memory sharding.
Typical use cases include caching, real-time analytics, queuing, and session stores.
Amazon Neptune. Amazon Neptune is a fully managed graph database service that is optimized for storing data from billions of relationships. It supports many query languages, including Property Graph, W3C’s RDF, SPARQL, and TinkerPop Gremlin, and a range of graph models.
Neptune features include continuous backups, multi-zone data replication, point-in-time recovery, and read replicas. It provides encryption in-transit and at-rest and supports ACID transactions.
Amazon Timestream. The Timestream AWS fully managed NoSQL database is a time series database and serverless service that manages software and hardware provisioning and maintenance automatically.
The Timestream adaptive query processing engine includes features for automated data compression, rollups, retention, and tiering. It also includes built-in analytics for data approximation, interpolation and smoothing.
Amazon QLDB. Amazon QLDB is a fully managed ledger database for tracking data changes designed to avoid the more complex setups things like ledger data can require in relational databases.
QLDB provides full transactional support, a SQL-like API, and a flexible document data model. It includes ACID compliant transactions, automatic scaling, data streaming with Kinesis Data Streams, and multizone availability.
Amazon DocumentDB. Compatible with MongoDB, Amazon DocumentDB is a fully managed document database designed with architecture that separates storage and compute resources for improved flexibility and scalability. It replicates data for durability across availability zones, support for up to 15 read replicas, and free use of the AWS Database Migration Service.
Amazon Keyspaces. Compatible with Apache Cassandra, use the managed wide column database Amazon Keyspaces to use Cassandra native code and tools and migrate Cassandra workloads and applications. Its features enable autoscaling and using both provisioned and on-demand resources.
Does ScyllaDB Offer AWS NoSQL Solutions?
ScyllaDB is a monstrously fast and scalable NoSQL database that is API-compatible with DynamoDB. With ScyllaDB’s open source database DynamoDB API, Dynamo-DB DynamoDB-compatible applications can be deployed wherever you want: on-premises or on any public cloud.
Moreover, ScyllaDB Cloud or ScyllaDB Enterprise—both created for data-intensive applications that demand low latency and high performance—are easily available on AWS Marketplace in just a few clicks. This makes it easy for AWS customers to power real-time, global applications at scale by easily adopting ScyllaDB and its msec P99 response. Across a range of new Amazon Elastic Compute Cloud (Amazon EC2) instance types powered by AWS, ScyllaDB achieves staggering performance results.
Learn more here.