AWS Database Blog

Jason Hunter

Author: Jason Hunter

Generate a distinct set of partition keys for an Amazon DynamoDB table efficiently

Amazon DynamoDB is a fully managed, serverless NoSQL database service that provides fast and predictable performance with seamless scalability. Every table in DynamoDB has a schema which specifies if it has a simple partition key (for pure key-value lookups), or a partition key and sort key both (for more complex query patterns). You use these […]

Cost-effective bulk processing with Amazon DynamoDB

January 2025: The calculations in this post have been updated following DynamoDB’s 50% reduction in on-demand throughput pricing. Refer to New – Amazon DynamoDB lowers pricing for on-demand throughput and global tables to learn more. Your Amazon DynamoDB table might store millions, billions, or even trillions of items. If you ever need to perform a […]

How to use Amazon CloudWatch to monitor Amazon DynamoDB table size and item count metrics

Amazon DynamoDB sends metrics about its operations to Amazon CloudWatch. At the time of this writing, the list includes 33 metrics including: throughput consumed and provisioned, account and table limits, request latencies, system errors, and user errors. Two metrics not included are the DynamoDB table size and item count. These values can be observed in […]

Implement resource counters with Amazon DynamoDB

When developing applications, you often need to implement a counter to accurately track actions such as votes cast, the available quantity of a resource in an eCommerce store, or tickets available for an event. These counters must be updated as the resource quantity changes. In this post, we explore seven approaches to implementing resource counters […]

Scaling DynamoDB: How partitions, hot keys, and split for heat impact performance (Part 3: Summary and best practices)

In Part 1 of this series, you learned about Amazon DynamoDB data loading strategies and the behavior of DynamoDB during short runs. In Part 2, you learned about query performance and the adaptive behavior of DynamoDB during sustained activity. In this third and final post, we review what you’ve learned, plus offer a few additional […]

Scaling DynamoDB: How partitions, hot keys, and split for heat impact performance (Part 2: Querying)

In the Part 1 of this series, you learned about Amazon DynamoDB data loading strategies and the behavior of DynamoDB during short runs. In this post, you learn about query performance and the adaptive behavior of DynamoDB during sustained activity. Querying To drive traffic at arbitrarily large rates and simulate real-world behavior, we need a […]

Scaling DynamoDB: How partitions, hot keys, and split for heat impact performance (Part 1: Loading)

The general rule with Amazon DynamoDB is to choose a high cardinality partition key. But why; and what happens if you don’t? Inspired by a customer use case, we dive deep into this question and explore the performance of loading and querying DynamoDB using different partition key designs and table settings. After each experiment, we […]