On-demand nodes

On-demand nodes let you pay by the instance hour with no long-term commitments or upfront fees. This frees you from the costs and complexities of planning, purchasing, and maintaining hardware, and transforms what are commonly large fixed costs into much smaller variable costs. The node type impacts the compute, in-memory data storage capacity, and network throughput available for your MemoryDB cluster.

Data tiering

Nodes with data tiering use solid state drives (SSD) to automatically optimize costs of your MemoryDB clusters by moving the least frequently used items from memory to SSD. Data stored on SSD exhibits slightly higher latency and lower throughput compared to data stored in memory. Nodes with data tiering, available for MemoryDB, are ideal for workloads that access up to 20% of their data regularly, and for applications that can tolerate additional latency the first time a less-frequently accessed item is needed. Amazon MemoryDB R6gd nodes with memory and solid state drives have nearly 5x more total storage capacity and can help customers achieve over 60% storage cost savings when running at maximum utilization compared to MemoryDB R6g nodes with memory only. See Pricing Example 3 below for a comparison on how data tiering can reduce your spend.

Reserved nodes

Reserved nodes provide a significant discount off the ongoing hourly usage rate for the node(s) you reserve in one-year or three-year terms. With reserved nodes, you can choose to:

  • Pay low hourly charges with no upfront payment (No Upfront)
  • Make a one-time, partial upfront payment with lower hourly charges (Partial Upfront)
  • Pay all upfront for even lower hourly charges (All Upfront)

MemoryDB reserved nodes offer size flexibility within a node family and AWS Region. This means that the discounted reserved node rate will be applied automatically to usage of all sizes in the same node family. When purchasing reserved nodes, you must designate an AWS Region, node type, payment term, and quantity. The reserved nodes may only be used in the designated AWS Region.

Reserved node pricing is also available for cluster nodes using data tiering.

* This is the average monthly payment over the course of the reserved node term. For each month, the actual monthly payment will equal the actual number of hours in that month multiplied by the hourly usage rate or number of seconds in that month multiplied by the hourly usage rate divided by 3600, depending on the MemoryDB node type you run. The hourly usage rate is equivalent to the total average monthly payments over the term of the reserved node divided by the total number of hours (based on a 365 day year) over the term of the reserved node.


** Effective hourly pricing helps you calculate the amount of money a reserved node will save you over on-demand pricing. When you purchase a reserved node, you are billed for every hour during the entire reserved node term you select, regardless of whether the node is running. The effective hourly price shows the amortized hourly node cost. This takes the total cost of the reserved node over the entire term, including any upfront payment, and spreads it out over each hour of the reserved node term.

Data Written

You pay only for the volume of data (in GB) you write to your MemoryDB cluster. This data includes the Redis OSS key, value, and command volume. There are no associated costs for reads.

Data Written

$0.20/GB
(same price in all regions)

Snapshot Storage

Snapshot storage for a MemoryDB cluster is the storage associated with the automated and user-initiated snapshots you take. A snapshot is a copy of an entire cluster at the time when the snapshot was taken. There is no additional charge for snapshot storage of up to 100% of your total MemoryDB cluster storage for a region. There is no additional charge for snapshot storage if your snapshot retention period is 1 day. Additional snapshot storage is billed at storage rates in the table below:

Pricing Examples

Pricing Example 1

You are building an application that requires a database that provides fast data access to enable a  responsive, real-time user experience for a regional logistics company. The application has a total dataset size of 25 GB. On average, 3% of the data is updated every hour. You use a MemoryDB architecture with one shard that includes one primary and one replica node per shard to meet the application requirements. You choose the db.r6g.xlarge node type as it has enough memory to fit the entire working dataset. You also choose to deploy your workload in U.S. West (Oregon). Additionally, you set your snapshot retention to 2 days enabling you to store the snapshot free of charge for the first day and charging you for snapshot storage for the additional day.

Your total charges are calculated as follows:
On-demand node Charges
(1 Primary + 1 Replicas) * 1 = 2 total nodes
db.r6g.xlarge hourly pricing = $0.617/hour
2 nodes * $0.617 = $1.234/hour
Data Written Charges
Data Written = 25GB * 3% (throughput update every hour) = 0.75 GB/hour
Data Written pricing = $0.20/GB
0.750 GB/hour * $0.20/GB = $0.150/hour
Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 25 GB = 25 GB * $0.021 per GB-month= $0.525/month
$0.525/730 hours in month = $0.001/hour
Total Charges
Node Charges = $1.234/hour
Data Written Charges = $0.150/hour
Snapshot Storage Charges = $0.001/hour
Total = $1.234+ $0.150 + $0.001 = $1.385/hour

Pricing Example 2

You work at a media and entertainment company and your team built an application that requires very low latency and high throughput. To meet these performance requirements, you use Amazon MemoryDB as your primary database. The application is read-heavy and has a total dataset size of 50 GB consisting of 100 byte objects (includes Redis OSS key, value and command size). The application is 80% reads and 20% writes, and approximately 50,000 transactions per second. You choose two shards of db.r6g.xlarge node type to have enough memory to fit the entire dataset in the cluster (50GB) and select one replica per shard to support the reads of the application and high availability. You also choose to deploy your workload across two availability zones (AZs) in U.S. East (N. Virginia) for high availability. Additionally, you set your snapshot retention to 2 days allowing you to store the snapshot free of charge for the first day and charging you for snapshot storage for the additional day. Your total charges are calculated as follows:

On-demand node Charges
(1 Primary + 1 Replica) *2 =4 total nodes
db.r6g.xlarge hourly pricing = $0.617/hour
4 nodes * $0.617 = $2.468/hour
Data Written Charges
MemoryDB charges only for the writes. So for 50,000 transaction per second with 20% writes and 80% read, you only need to pay for 20% of 50,000 (10,000 transactions per second).
Hence, it is 10,000 transactions per second * 100 bytes * 60 * 60 = 3.6 GB/hour
Data Written pricing = $0.20/GB
3.6 GB * $0.20/GB = $0.720/hour
Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 50 GB = 50 GB * $0.021 per GB-month= $1.050/month
$1.05 / 730 hours in month = $0.001/hour
Total Charges
Node Charges = $2.468/hour
Data Written Charges = $0.720/hour
Snapshot Storage Charges = $0.001/hour
Total = $2.468 + $0.720 + $0.001 = $3.189/hour

Pricing Example 3

You work in a financial company and your team has built an application with MemoryDB as the primary database to meet the performance requirements. The application is temporal in nature, mostly accessing data generated over the last month, but is required to keep 12 months of data for compliance purposes. The application has a total dataset size of 840 GB. On average, 1% of the data is updated every hour. You use a MemoryDB cluster with two shard that includes one primary and one replica node per shard to meet the application requirements. Because your application uses most recently updated data, you select the db.r6gd.4xlarge node type with data tiering. You also choose to deploy your workload across three availability zones (AZs) in U.S. East (N. Virginia) for high availability. Additionally, you set your snapshot retention to 2 days enabling you to store the first snapshot free of charge and charging you for snapshot storage for the second snapshot. Your total charges are calculated as follows:

On-demand node Charges
Dataset size: 840 GB
db.r6gd.4xlarge usable memory capacity: 105.81 GiB/node = 113.64 GB/node, less 19% memory for non-data use:
113.64 * 0.81 = 92.05 GB/node
db.r6gd.4xlarge solid-state drive (SSD) capacity: 398.14 GiB = 427.6 GB
Total capacity per node: 92.05 + 427.6 = 519.65 GB/node
Shards required for dataset: 840GB ÷ 519.65 GB/node = 2
Each shard: (1 Primary + 1 Replicas) Nodes
(1 Primary + 1 Replicas) * 2 shards = 4 total nodes
db.r6gd.4xlarge hourly pricing = $3.695/hour
Total hourly charge: 4 nodes * $3.695/hr = $14.78

Data Written Charges
Data Written = 840 GB * 1% (throughput update every hour) = 8.4 GB/hour
Data Written pricing = $0.20/GB
8.4 GB/hour * $0.20/GB = $1.68/hour

Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 840 GB = 840 * $0.021 per GB-month= $17.64/month
$17.64/730 hours in month = $0.0242/hour

Total Charges
Node Charges = $14.78/hour
Data Written Charges = $1.68/hour
Snapshot Storage Charges = $0.0242/hour
Total = $14.78+ $1.68+ $0.0242= $16.484/hour

Shards required if running fully in memory: 840 GB ÷ 113.64 GB/node for db.r6g.4xlarge =8
db.r6g.4xlarge on-demand price: $2.463/hr
Each shard: (1 Primary + 1 Replicas) Nodes
(1 Primary + 1 Replicas) * 8 shards = 16 total nodes
Hourly charge for running fully in memory: 16 nodes * $2.463/hr = $39.41
Savings compared to running fully in memory: ($39.41 – $14.78) / $39.41 = 62%

Additional pricing resources

AWS Pricing Calculator

Easily calculate your monthly costs with AWS

Learn how to get started
Check out getting started resources

Discover MemoryDB resources on the getting started page.

Learn more 
Learn with a tutorial
Learn with a tutorial

Explore how to set up your first MemoryDB cluster.

Get started 
 Start building with MemoryDB
Start building with MemoryDB

Check out the MemoryDB user guide to get started.

Read the documentation