> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Memorystore for Redis costs

> Compare Memorystore for Redis backend choices using explicit service-adapter planning assumptions.

Tensor9 BYOC planning comparisons for `google::1.0.0::memorystore::redis`, with backend choices shown together. Read [how Tensor9 estimates service-adapter costs](/byoc/costs/overview.md) for price scope and capacity qualification, or return to [additional services](/byoc/costs/additional-services.md).

## Google Memorystore Redis allocated cache capacity → Azure Managed Redis

Origin API: `google::1.0.0::memorystore::redis`. Target backend: `azure::1.0.0::cache::redis`.

**Designed mapping.** This cost model describes an intended adapter. Its estimated price does not establish a delivered or selectable backend.

### Google Memorystore Redis allocated cache capacity · Redis key reads per second

Estimated monthly service charges by Redis key reads per second. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: eastus; currency: USD.

![Google Memorystore Redis allocated cache capacity · Redis key reads per second: monthly service charges by Redis key reads per second. Exact values are in the following table.](/images/diagrams/service-cost/a15c714842861749589fb6f141bd580744e2d229af40d0d08ed200c536d1bee1-light.svg)

![Google Memorystore Redis allocated cache capacity · Redis key reads per second: monthly service charges by Redis key reads per second. Exact values are in the following table.](/images/diagrams/service-cost/b1a4bdaffb2bb786087ed7adcb6d044d3f8b4076c5f4ea42950827f5ab9fd5ac-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Redis key reads per second (operations/s) | Memorystore for Redis | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 0 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 100 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 100 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 1000 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 1000 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 10000 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 10000 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 100000 | 157.68 | Azure Managed Redis (one copy) | 3962.0773725 | 3804.3973725 |
| 100000 | 157.68 | Azure Managed Redis (two copies) | 3962.0773725 | 3804.3973725 |
| 1000000 | 157.68 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 157.68 | Azure Managed Redis (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Azure Managed Redis (one copy) | Unpriced | 1000010 / 2000020 | 143 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000000 operations/s / Azure Managed Redis (two copies) | Unpriced | 1000010 / 2000020 | 143 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (one copy) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (one copy) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (one copy) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Managed Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (two copies) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (two copies) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (two copies) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Managed Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* The Azure profile lowers ElastiCache node types to Azure Cache for Redis Enterprise sku\_name values (cache.t3.medium becomes Enterprise\_E10-2). Azure lists each Enterprise cache with its two data nodes and has no single-node tier, so one- and two-copy estimates both bill two copies; the model bills the selected RAM without rounding to an E size. Azure retires Azure Cache for Redis Enterprise on 2027-03-30 ([https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)). Azure Managed Redis Memory Optimized M10 (12 GB) lists USD 0.216 per hour (meterId 40cb6a35-94af-5d34-8312-da0bc5a67894), 0.432 with high availability; the profile does not select it. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* Azure Cache for Redis pricing: [https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-b08274a0e3c1951367529e035513fd97297ddf56` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [Azure Cache for Redis pricing](https://azure.microsoft.com/en-us/pricing/details/cache/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

### Google Memorystore Redis allocated cache capacity · Redis key writes per second

Estimated monthly service charges by Redis key writes per second. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: eastus; currency: USD.

![Google Memorystore Redis allocated cache capacity · Redis key writes per second: monthly service charges by Redis key writes per second. Exact values are in the following table.](/images/diagrams/service-cost/7275d309f759748eaf7b65b670ec4977282f934f1a8e121f0a5a32ccb2e2320d-light.svg)

![Google Memorystore Redis allocated cache capacity · Redis key writes per second: monthly service charges by Redis key writes per second. Exact values are in the following table.](/images/diagrams/service-cost/21f1944f3bb48e3bce24d3c7de27c812250288a93f4f4414c557a0ce8b20d95f-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Redis key writes per second (operations/s) | Memorystore for Redis | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 0 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 100 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 100 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 1000 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 1000 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 10000 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 10000 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 100000 | 157.68 | Azure Managed Redis (one copy) | 4754.492847 | 4596.812847 |
| 100000 | 157.68 | Azure Managed Redis (two copies) | 4754.492847 | 4596.812847 |
| 1000000 | 157.68 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 157.68 | Azure Managed Redis (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Azure Managed Redis (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Azure Managed Redis (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Azure Managed Redis (one copy) | Unpriced | 1000100 / 2000200 | 172 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000000 operations/s / Azure Managed Redis (two copies) | Unpriced | 1000100 / 2000200 | 172 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (one copy) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (one copy) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (one copy) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Managed Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (two copies) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (two copies) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (two copies) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Managed Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* The Azure profile lowers ElastiCache node types to Azure Cache for Redis Enterprise sku\_name values (cache.t3.medium becomes Enterprise\_E10-2). Azure lists each Enterprise cache with its two data nodes and has no single-node tier, so one- and two-copy estimates both bill two copies; the model bills the selected RAM without rounding to an E size. Azure retires Azure Cache for Redis Enterprise on 2027-03-30 ([https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)). Azure Managed Redis Memory Optimized M10 (12 GB) lists USD 0.216 per hour (meterId 40cb6a35-94af-5d34-8312-da0bc5a67894), 0.432 with high availability; the profile does not select it. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* Azure Cache for Redis pricing: [https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-b08274a0e3c1951367529e035513fd97297ddf56` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [Azure Cache for Redis pricing](https://azure.microsoft.com/en-us/pricing/details/cache/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

### Google Memorystore Redis allocated cache capacity · Resident logical cache data

Estimated monthly service charges by Resident logical cache data. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: eastus; currency: USD.

![Google Memorystore Redis allocated cache capacity · Resident logical cache data: monthly service charges by Resident logical cache data. Exact values are in the following table.](/images/diagrams/service-cost/2e0f6adadc6815cc904eaef9cf0a1905edd79b8676ac333f64b3b1547f9f28e5-light.svg)

![Google Memorystore Redis allocated cache capacity · Resident logical cache data: monthly service charges by Resident logical cache data. Exact values are in the following table.](/images/diagrams/service-cost/db313c4e29cb69245d02df769ee280dd4c1a0a1b1f890a70d95de7f922c65064-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Resident logical cache data (GiB-month) | Memorystore for Redis | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 0 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 1 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 1 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 10 | 157.68 | Azure Managed Redis (one copy) | 1625.46764 | 1467.78764 |
| 10 | 157.68 | Azure Managed Redis (two copies) | 1625.46764 | 1467.78764 |
| 100 | 157.68 | Azure Managed Redis (one copy) | 16254.6764 | 16096.9964 |
| 100 | 157.68 | Azure Managed Redis (two copies) | 16254.6764 | 16096.9964 |
| 1000 | 157.68 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000 | 157.68 | Azure Managed Redis (two copies) | Unpriced | Unavailable |
| 10000 | 157.68 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 10000 | 157.68 | Azure Managed Redis (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 GiB-month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Azure Managed Redis (one copy) | Unpriced | 110 / 220 | 276 | Unpriced | Unpriced | Unpriced | 1500 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000 GiB-month / Azure Managed Redis (two copies) | Unpriced | 110 / 220 | 276 | Unpriced | Unpriced | Unpriced | 1500 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 GiB-month / Azure Managed Redis (one copy) | Unpriced | 110 / 220 | 2759 | Unpriced | Unpriced | Unpriced | 15000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 GiB-month / Azure Managed Redis (two copies) | Unpriced | 110 / 220 | 2759 | Unpriced | Unpriced | Unpriced | 15000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (one copy) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (one copy) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (one copy) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Managed Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (two copies) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (two copies) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (two copies) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Managed Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* The Azure profile lowers ElastiCache node types to Azure Cache for Redis Enterprise sku\_name values (cache.t3.medium becomes Enterprise\_E10-2). Azure lists each Enterprise cache with its two data nodes and has no single-node tier, so one- and two-copy estimates both bill two copies; the model bills the selected RAM without rounding to an E size. Azure retires Azure Cache for Redis Enterprise on 2027-03-30 ([https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)). Azure Managed Redis Memory Optimized M10 (12 GB) lists USD 0.216 per hour (meterId 40cb6a35-94af-5d34-8312-da0bc5a67894), 0.432 with high availability; the profile does not select it. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* Azure Cache for Redis pricing: [https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-b08274a0e3c1951367529e035513fd97297ddf56` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [Azure Cache for Redis pricing](https://azure.microsoft.com/en-us/pricing/details/cache/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

### Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours

Estimated monthly service charges by Allocated source cache CPU-hours. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: eastus; currency: USD.

![Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours: monthly service charges by Allocated source cache CPU-hours. Exact values are in the following table.](/images/diagrams/service-cost/53f4115b7ce61c76c291d8c389abea6f0040f21e9fed1f83b127e08e29971216-light.svg)

![Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours: monthly service charges by Allocated source cache CPU-hours. Exact values are in the following table.](/images/diagrams/service-cost/61302ef855f495524d22727a1d477ab6d0873701f006d7e4ca0e3c6d3ed42806-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Allocated source cache CPU-hours (vCPU-hour/month) | Memorystore for Redis | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | Azure Managed Redis (one copy) | 751.7787835 | 594.0987835 |
| 0 | 157.68 | Azure Managed Redis (two copies) | 751.7787835 | 594.0987835 |
| 730 | 157.68 | Azure Managed Redis (one copy) | 751.7787835 | 594.0987835 |
| 730 | 157.68 | Azure Managed Redis (two copies) | 751.7787835 | 594.0987835 |
| 1460 | 157.68 | Azure Managed Redis (one copy) | 792.4154745 | 634.7354745 |
| 1460 | 157.68 | Azure Managed Redis (two copies) | 792.4154745 | 634.7354745 |
| 5840 | 157.68 | Azure Managed Redis (one copy) | 2641.384915 | 2483.704915 |
| 5840 | 157.68 | Azure Managed Redis (two copies) | 2641.384915 | 2483.704915 |
| 23360 | 157.68 | Azure Managed Redis (one copy) | 9773.1241855 | 9615.4441855 |
| 23360 | 157.68 | Azure Managed Redis (two copies) | 9773.1241855 | 9615.4441855 |
| 93440 | 157.68 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 93440 | 157.68 | Azure Managed Redis (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 vCPU-hour/month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hour/month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Azure Managed Redis (one copy) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Azure Managed Redis (two copies) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 93440 vCPU-hour/month / Azure Managed Redis (one copy) | Unpriced | 110 / 220 | 148 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 93440 vCPU-hour/month / Azure Managed Redis (two copies) | Unpriced | 110 / 220 | 148 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (one copy) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (one copy) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (one copy) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (one copy) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Managed Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Azure Managed Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Azure Managed Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Azure Managed Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Azure Managed Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Azure Managed Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Azure Managed Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Azure Managed Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Azure Managed Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Azure Managed Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Azure Managed Redis (two copies) | Target price guess · read | 0 | USD/read |
| Azure Managed Redis (two copies) | Target price guess · write | 0 | USD/write |
| Azure Managed Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Managed Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Managed Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Managed Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Managed Redis (two copies) | Target list price · network GiB | 0.087 | USD/network GiB |
| Azure Managed Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Managed Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Target list price · GiB-hour | 0.0556667 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Managed Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Managed Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Azure Managed Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Azure Managed Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Azure Managed Redis (two copies) | Target service minimum | 81.176 | USD/month |
| Azure Managed Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Azure Managed Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Azure Managed Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Azure Managed Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Managed Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Managed Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Managed Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Azure Managed Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Managed Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Azure Managed Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Azure Managed Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Azure Managed Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Managed Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Managed Redis (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* The Azure profile lowers ElastiCache node types to Azure Cache for Redis Enterprise sku\_name values (cache.t3.medium becomes Enterprise\_E10-2). Azure lists each Enterprise cache with its two data nodes and has no single-node tier, so one- and two-copy estimates both bill two copies; the model bills the selected RAM without rounding to an E size. Azure retires Azure Cache for Redis Enterprise on 2027-03-30 ([https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)). Azure Managed Redis Memory Optimized M10 (12 GB) lists USD 0.216 per hour (meterId 40cb6a35-94af-5d34-8312-da0bc5a67894), 0.432 with high availability; the profile does not select it. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* Azure Cache for Redis pricing: [https://azure.microsoft.com/en-us/pricing/details/cache/](https://azure.microsoft.com/en-us/pricing/details/cache/)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-b08274a0e3c1951367529e035513fd97297ddf56` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [Azure Cache for Redis pricing](https://azure.microsoft.com/en-us/pricing/details/cache/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

## Google Memorystore Redis allocated cache capacity → ElastiCache

Origin API: `google::1.0.0::memorystore::redis`. Target backend: `aws::1.0.0::elasticache`.

**Designed mapping.** This cost model describes an intended adapter. Its estimated price does not establish a delivered or selectable backend.

### Google Memorystore Redis allocated cache capacity · Redis key reads per second

Estimated monthly service charges by Redis key reads per second. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: us-east-1; currency: USD.

![Google Memorystore Redis allocated cache capacity · Redis key reads per second: monthly service charges by Redis key reads per second. Exact values are in the following table.](/images/diagrams/service-cost/8bb654caece145a9e5140fce051d9f227ab95ce402b5da3504dde35443b21e8d-light.svg)

![Google Memorystore Redis allocated cache capacity · Redis key reads per second: monthly service charges by Redis key reads per second. Exact values are in the following table.](/images/diagrams/service-cost/ed524b85a1c78b51143603c1b89ef0ede3cbea76402e3efc7a6baf672d7693d5-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Redis key reads per second (operations/s) | Memorystore for Redis | Target scenario | ElastiCache | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 0 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 100 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 100 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 1000 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 1000 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 10000 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 10000 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 100000 | 157.68 | ElastiCache (one copy) | 596.301644995875 | 438.621644995875 |
| 100000 | 157.68 | ElastiCache (two copies) | 1192.60328999175 | 1034.92328999175 |
| 1000000 | 157.68 | ElastiCache (one copy) | Unpriced | Unavailable |
| 1000000 | 157.68 | ElastiCache (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 operations/s / ElastiCache (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / ElastiCache (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / ElastiCache (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / ElastiCache (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / ElastiCache (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / ElastiCache (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / ElastiCache (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / ElastiCache (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / ElastiCache (one copy) | Unpriced | 1000010 / 2000020 | 143 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000000 operations/s / ElastiCache (two copies) | Unpriced | 1000010 / 2000020 | 143 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| ElastiCache (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (one copy) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (one copy) | Target price guess · read | 0 | USD/read |
| ElastiCache (one copy) | Target price guess · write | 0 | USD/write |
| ElastiCache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (one copy) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (one copy) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (one copy) | Target monthly base charge | 0 | USD/month |
| ElastiCache (one copy) | Target service minimum | 11.68 | USD/month |
| ElastiCache (one copy) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (one copy) | Minimum primary RAM | 8 | GiB |
| ElastiCache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| ElastiCache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (one copy) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (one copy) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| ElastiCache (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (two copies) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (two copies) | Target price guess · read | 0 | USD/read |
| ElastiCache (two copies) | Target price guess · write | 0 | USD/write |
| ElastiCache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (two copies) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (two copies) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (two copies) | Target monthly base charge | 0 | USD/month |
| ElastiCache (two copies) | Target service minimum | 11.68 | USD/month |
| ElastiCache (two copies) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (two copies) | Minimum primary RAM | 8 | GiB |
| ElastiCache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| ElastiCache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (two copies) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (two copies) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* ElastiCache for Redis OSS node-based clusters bill whole nodes per hour; the capacity rate is cache.r7g.large's price per GiB, and each replica is another full-price node. Valkey nodes list 20% lower (cache.r7g.large 0.1752 per hour, 0.0134047 per GiB-hour); ElastiCache Serverless is not selected. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-a5dd44a392cc5d4a1c85d03f803d3dc9f6e65da4` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

### Google Memorystore Redis allocated cache capacity · Redis key writes per second

Estimated monthly service charges by Redis key writes per second. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: us-east-1; currency: USD.

![Google Memorystore Redis allocated cache capacity · Redis key writes per second: monthly service charges by Redis key writes per second. Exact values are in the following table.](/images/diagrams/service-cost/1b3279660d89673570890aee14493954ec0bcc08852d867462200150c66a5ea0-light.svg)

![Google Memorystore Redis allocated cache capacity · Redis key writes per second: monthly service charges by Redis key writes per second. Exact values are in the following table.](/images/diagrams/service-cost/fac2ba78a86345c8a2244253e723710ee2389d3e19ccd8404ddfa15dd6d67f69-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Redis key writes per second (operations/s) | Memorystore for Redis | Target scenario | ElastiCache | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 0 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 100 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 100 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 1000 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 1000 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 10000 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 10000 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 100000 | 157.68 | ElastiCache (one copy) | 715.56197399505 | 557.88197399505 |
| 100000 | 157.68 | ElastiCache (two copies) | 1431.1239479901 | 1273.4439479901 |
| 1000000 | 157.68 | ElastiCache (one copy) | Unpriced | Unavailable |
| 1000000 | 157.68 | ElastiCache (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 operations/s / ElastiCache (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / ElastiCache (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / ElastiCache (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / ElastiCache (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / ElastiCache (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / ElastiCache (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / ElastiCache (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / ElastiCache (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / ElastiCache (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / ElastiCache (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / ElastiCache (one copy) | Unpriced | 1000100 / 2000200 | 172 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000000 operations/s / ElastiCache (two copies) | Unpriced | 1000100 / 2000200 | 172 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| ElastiCache (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (one copy) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (one copy) | Target price guess · read | 0 | USD/read |
| ElastiCache (one copy) | Target price guess · write | 0 | USD/write |
| ElastiCache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (one copy) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (one copy) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (one copy) | Target monthly base charge | 0 | USD/month |
| ElastiCache (one copy) | Target service minimum | 11.68 | USD/month |
| ElastiCache (one copy) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (one copy) | Minimum primary RAM | 8 | GiB |
| ElastiCache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| ElastiCache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (one copy) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (one copy) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| ElastiCache (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (two copies) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (two copies) | Target price guess · read | 0 | USD/read |
| ElastiCache (two copies) | Target price guess · write | 0 | USD/write |
| ElastiCache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (two copies) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (two copies) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (two copies) | Target monthly base charge | 0 | USD/month |
| ElastiCache (two copies) | Target service minimum | 11.68 | USD/month |
| ElastiCache (two copies) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (two copies) | Minimum primary RAM | 8 | GiB |
| ElastiCache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| ElastiCache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (two copies) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (two copies) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* ElastiCache for Redis OSS node-based clusters bill whole nodes per hour; the capacity rate is cache.r7g.large's price per GiB, and each replica is another full-price node. Valkey nodes list 20% lower (cache.r7g.large 0.1752 per hour, 0.0134047 per GiB-hour); ElastiCache Serverless is not selected. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-a5dd44a392cc5d4a1c85d03f803d3dc9f6e65da4` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

### Google Memorystore Redis allocated cache capacity · Resident logical cache data

Estimated monthly service charges by Resident logical cache data. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: us-east-1; currency: USD.

![Google Memorystore Redis allocated cache capacity · Resident logical cache data: monthly service charges by Resident logical cache data. Exact values are in the following table.](/images/diagrams/service-cost/96c686f092eb60b1be5bf57f18e05a9b1f3292d9d2e9c99e3b6f74d532d04a48-light.svg)

![Google Memorystore Redis allocated cache capacity · Resident logical cache data: monthly service charges by Resident logical cache data. Exact values are in the following table.](/images/diagrams/service-cost/2446c6cd62c1f786811e9284d25dc2c1ea604dedc93eeb2a4dcc8fc6ad775514-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Resident logical cache data (GiB-month) | Memorystore for Redis | Target scenario | ElastiCache | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 0 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 1 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 1 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 10 | 157.68 | ElastiCache (one copy) | 244.636572306 | 86.956572306 |
| 10 | 157.68 | ElastiCache (two copies) | 489.273144612 | 331.593144612 |
| 100 | 157.68 | ElastiCache (one copy) | 2446.36572306 | 2288.68572306 |
| 100 | 157.68 | ElastiCache (two copies) | 4892.73144612 | 4735.05144612 |
| 1000 | 157.68 | ElastiCache (one copy) | Unpriced | Unavailable |
| 1000 | 157.68 | ElastiCache (two copies) | Unpriced | Unavailable |
| 10000 | 157.68 | ElastiCache (one copy) | Unpriced | Unavailable |
| 10000 | 157.68 | ElastiCache (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 GiB-month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / ElastiCache (one copy) | Unpriced | 110 / 220 | 276 | Unpriced | Unpriced | Unpriced | 1500 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 1000 GiB-month / ElastiCache (two copies) | Unpriced | 110 / 220 | 276 | Unpriced | Unpriced | Unpriced | 1500 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 GiB-month / ElastiCache (one copy) | Unpriced | 110 / 220 | 2759 | Unpriced | Unpriced | Unpriced | 15000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 GiB-month / ElastiCache (two copies) | Unpriced | 110 / 220 | 2759 | Unpriced | Unpriced | Unpriced | 15000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| ElastiCache (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (one copy) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (one copy) | Target price guess · read | 0 | USD/read |
| ElastiCache (one copy) | Target price guess · write | 0 | USD/write |
| ElastiCache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (one copy) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (one copy) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (one copy) | Target monthly base charge | 0 | USD/month |
| ElastiCache (one copy) | Target service minimum | 11.68 | USD/month |
| ElastiCache (one copy) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (one copy) | Minimum primary RAM | 8 | GiB |
| ElastiCache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| ElastiCache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (one copy) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (one copy) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| ElastiCache (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (two copies) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (two copies) | Target price guess · read | 0 | USD/read |
| ElastiCache (two copies) | Target price guess · write | 0 | USD/write |
| ElastiCache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (two copies) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (two copies) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (two copies) | Target monthly base charge | 0 | USD/month |
| ElastiCache (two copies) | Target service minimum | 11.68 | USD/month |
| ElastiCache (two copies) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (two copies) | Minimum primary RAM | 8 | GiB |
| ElastiCache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| ElastiCache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (two copies) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (two copies) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* ElastiCache for Redis OSS node-based clusters bill whole nodes per hour; the capacity rate is cache.r7g.large's price per GiB, and each replica is another full-price node. Valkey nodes list 20% lower (cache.r7g.large 0.1752 per hour, 0.0134047 per GiB-hour); ElastiCache Serverless is not selected. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-a5dd44a392cc5d4a1c85d03f803d3dc9f6e65da4` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

### Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours

Estimated monthly service charges by Allocated source cache CPU-hours. Adapter hosting and Tensor9 fees are excluded. Source: us-central1; target: us-east-1; currency: USD.

![Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours: monthly service charges by Allocated source cache CPU-hours. Exact values are in the following table.](/images/diagrams/service-cost/9cf2e3aa8c5f9efdf89226035c260a395803afcf0fdba78af8b551dcb4a745bc-light.svg)

![Google Memorystore Redis allocated cache capacity · Allocated source cache CPU-hours: monthly service charges by Allocated source cache CPU-hours. Exact values are in the following table.](/images/diagrams/service-cost/941b364ef770c448f6e29a03a99056733ad2ab7ee29bd47d187b9be8b56407b7-dark.svg)

Comparison pills describe all sampled scale points; card amounts show the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| Allocated source cache CPU-hours (vCPU-hour/month) | Memorystore for Redis | Target scenario | ElastiCache | Difference |
| -: | -: | - | -: | -: |
| 0 | 157.68 | ElastiCache (one copy) | 113.144414691525 | -44.535585308475 |
| 0 | 157.68 | ElastiCache (two copies) | 226.28882938305 | 68.60882938305 |
| 730 | 157.68 | ElastiCache (one copy) | 113.144414691525 | -44.535585308475 |
| 730 | 157.68 | ElastiCache (two copies) | 226.28882938305 | 68.60882938305 |
| 1460 | 157.68 | ElastiCache (one copy) | 119.260328999175 | -38.419671000825 |
| 1460 | 157.68 | ElastiCache (two copies) | 238.52065799835 | 80.84065799835 |
| 5840 | 157.68 | ElastiCache (one copy) | 397.53442999725 | 239.85442999725 |
| 5840 | 157.68 | ElastiCache (two copies) | 795.0688599945 | 637.3888599945 |
| 23360 | 157.68 | ElastiCache (one copy) | 1470.877390989825 | 1313.197390989825 |
| 23360 | 157.68 | ElastiCache (two copies) | 2941.75478197965 | 2784.07478197965 |
| 93440 | 157.68 | ElastiCache (one copy) | Unpriced | Unavailable |
| 93440 | 157.68 | ElastiCache (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 vCPU-hour/month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hour/month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / ElastiCache (one copy) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / ElastiCache (two copies) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 93440 vCPU-hour/month / ElastiCache (one copy) | Unpriced | 110 / 220 | 148 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 93440 vCPU-hour/month / ElastiCache (two copies) | Unpriced | 110 / 220 | 148 | Unpriced | Unpriced | Unpriced | 6 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| ElastiCache (one copy) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (one copy) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (one copy) | Target price guess · read | 0 | USD/read |
| ElastiCache (one copy) | Target price guess · write | 0 | USD/write |
| ElastiCache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (one copy) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (one copy) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (one copy) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (one copy) | Target monthly base charge | 0 | USD/month |
| ElastiCache (one copy) | Target service minimum | 11.68 | USD/month |
| ElastiCache (one copy) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (one copy) | Minimum primary RAM | 8 | GiB |
| ElastiCache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| ElastiCache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (one copy) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (one copy) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (one copy) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| ElastiCache (two copies) | Origin list price · Allocated Redis CPU | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Origin list price · Allocated Redis memory | 0.027 | USD/GiB-hour |
| ElastiCache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| ElastiCache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| ElastiCache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| ElastiCache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| ElastiCache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| ElastiCache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| ElastiCache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| ElastiCache (two copies) | Target CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| ElastiCache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| ElastiCache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| ElastiCache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| ElastiCache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| ElastiCache (two copies) | Target price guess · read | 0 | USD/read |
| ElastiCache (two copies) | Target price guess · write | 0 | USD/write |
| ElastiCache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| ElastiCache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| ElastiCache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| ElastiCache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| ElastiCache (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| ElastiCache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| ElastiCache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| ElastiCache (two copies) | Target list price · GiB-hour | 0.01675592961 | USD/GiB-hour |
| ElastiCache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| ElastiCache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| ElastiCache (two copies) | Target price guess · input token | 0 | USD/input token |
| ElastiCache (two copies) | Target price guess · output token | 0 | USD/output token |
| ElastiCache (two copies) | Target monthly base charge | 0 | USD/month |
| ElastiCache (two copies) | Target service minimum | 11.68 | USD/month |
| ElastiCache (two copies) | Minimum primary CPU | 2 | vCPU |
| ElastiCache (two copies) | Minimum primary RAM | 8 | GiB |
| ElastiCache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| ElastiCache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| ElastiCache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| ElastiCache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| ElastiCache (two copies) | Planning peak / mean work | 2 | multiplier |
| ElastiCache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| ElastiCache (two copies) | Resident state reserved in RAM | 0 | fraction |
| ElastiCache (two copies) | Planning disk utilization | 0.8 | fraction |
| ElastiCache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| ElastiCache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| ElastiCache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| ElastiCache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| ElastiCache (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed defaults. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-central1 → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered google::1.0.0::memorystore::redis identity. Renamed products and future aliases require explicit mapping updates.
* Source allocated CPU-hours and memory-hours establish independent minimum target allocation. Neither management API requests nor a key-operation count is an instance count.
* Peak weighted key-operation work and resident data can promote the allocation above those minima. CPU rounds to whole cores and RAM to quarter GiB.
* CPU and RAM are aggregate resources over 730 hours. Selected backend tariffs own replica count, availability configuration and actual instance shapes.
* A multi-core estimate assumes the workload can be partitioned. Redis command execution, hot keys, cross-key transactions and clustering can prevent linear scale.
* Zero allocated resources and zero workload do not prove target scale-to-zero; the selected backend may retain a provisioned minimum.
* Memorystore bills provisioned GiB-hours by capacity tier; the CPU meter is free but still sets the target CPU minimum.
* ElastiCache for Redis OSS node-based clusters bill whole nodes per hour; the capacity rate is cache.r7g.large's price per GiB, and each replica is another full-price node. Valkey nodes list 20% lower (cache.r7g.large 0.1752 per hour, 0.0134047 per GiB-hour); ElastiCache Serverless is not selected. The CPU rate is zero because capacity GiB is the billed quantity, and the billed capacity is the cache family's selected RAM rather than the generic planning CPU tier's RAM; key-operation CPU demand raises cost only through the family's RAM-per-CPU shape, which approximates managed throughput growing with capacity and is not a measured fit. The capacity charge and the minimum compare using their maximum, not their sum.
* Cache storedGiB represents resident RAM footprint, not billable SSD. Persistence, snapshots and backup disks require a separate explicit allocation.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* Cache resident GiB is RAM provenance. Family-selected RAM-hours cover the working set;
* no SSD allocation is modeled. Persistence, snapshots and backup disks remain excluded.
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Replication traffic, snapshots, persistence write IOPS, network egress, cluster management premiums, licenses and migration.
* Command-specific complexity, Lua/scripts, module behavior, eviction/expiry churn, blocking commands, multi-key locality and benchmark-qualified latency.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-a5dd44a392cc5d4a1c85d03f803d3dc9f6e65da4` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [Memorystore for Redis pricing](https://cloud.google.com/memorystore/docs/redis/pricing), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

See the [service catalog](/byoc/service-adapters/catalog.md) for operation coverage, supported directions and backend limitations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.