liveBook · Manning

NoSQL database

As explained in Amazon Web Services in Action, Third Edition: An in-depth guide to AWS

A NoSQL database is a nonrelational database designed for data models and scaling approaches that do not depend on the traditional relational table model.

A NoSQL database is a nonrelational database that uses data models and scaling approaches other than the traditional relational table model. NoSQL databases commonly include document, graph, columnar, and key-value stores. They are useful when adding nodes and coordinating transactions would limit performance or scalability. section 12.0

Amazon DynamoDB is a fully managed key-value store with document support. It persists objects identified by unique keys, while AWS operates the underlying machines, software, replication, and durability. Applications communicate with it through an API rather than administering database servers directly. section 1.6 section 12.0

Using a managed NoSQL database still requires application and operational decisions:

  • Design the application specifically for the chosen NoSQL data model; a legacy MySQL application cannot simply be redirected to DynamoDB. section 12.0
  • Use DynamoDB for workloads ranging from a single item to billions of items and from one request per second to tens of thousands of requests per second. section 12.0
  • Let AWS handle installation, updates, machines, storage, and routine replication, but restrict data access with IAM and monitor capacity, provision read and write capacity, and create backups. section 12.10
  • Track costs when experimenting: the Free Tier includes limited NoSQL storage, and exceeding applicable limits creates charges. section 1.4.1

Web application using DynamoDB

A web application running on a virtual machine can query a NoSQL database through the AWS API while handling HTTP requests. DynamoDB is suited to applications that must absorb massive request volumes or spiky workloads, such as tracking client-side web-application errors. section 1.6 section 12.0

Figure 1.11 Handling an HTTP request with a custom web application using additional AWS services

Trace how an HTTP request reaches a web application and how that application uses additional AWS services, including a NoSQL database. section 1.6

How Amazon Web Services in Action, Third Edition: An in-depth guide to AWS covers it

How deep it goes
Defines four NoSQL types and explains DynamoDB architecture, scaling, application fit, administration, capacity, and backups.
Examples
Uses a web application querying DynamoDB, client-side error tracking, AWS service diagrams, and Free Tier storage limits.
What it assumes
Assumes awareness of applications and relational databases while teaching NoSQL types, managed services, APIs, IAM, and operational responsibilities.
What you can do after
Apply DynamoDB in an application, configure access and capacity, monitor usage, and create backups for recovery.
How it connects
Connects NoSQL databases to relational databases, key-value stores, document databases, graph databases, columnar databases, APIs, IAM, and backups.

Also explained in

Compare how 7 books explain NoSQL database →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Amazon Web Services in Action, Third Edition: An in-depth guide to AWS. The section links point to the parts of the book it draws on.