> ## 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.

# ElastiCache costs

> Compare ElastiCache backend choices using explicit service-adapter planning assumptions.

Tensor9 BYOC planning comparisons for `aws::1.0.0::elasticache`, 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).

## AWS ElastiCache allocated cache capacity → Azure Managed Redis

Origin API: `aws::1.0.0::elasticache`. Target backend: `azure::1.0.0::cache::redis`.

### AWS ElastiCache 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-east-1; target: eastus; currency: USD.

![AWS ElastiCache 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/ca3f2323131b4946c693da59086c8acc433e1e61622e5d366d7e660408dcc420-light.svg)

![AWS ElastiCache 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/0ac2c8d827be1bebb2ed9193efec6c446aad12ab4c9d06d206c5341b33c94b1c-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) | ElastiCache | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 0 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 100 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 100 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 1000 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 1000 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 10000 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 10000 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 100000 | 126.123122 | Azure Managed Redis (one copy) | 3962.0773725 | 3835.9542505 |
| 100000 | 126.123122 | Azure Managed Redis (two copies) | 3962.0773725 | 3835.9542505 |
| 1000000 | 126.123122 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | 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-east-1 → 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* 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-a9fc3ff560ac80ef8a056b851b3eb0fecfda1e3a` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [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).

### AWS ElastiCache 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-east-1; target: eastus; currency: USD.

![AWS ElastiCache 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/40a319b1064cdd3d9e62e2e68226adc1e1a9d2f9883e9e3c7fa5bae6536e1115-light.svg)

![AWS ElastiCache 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/d55f98d7d7460f306139550a5ca836a995c8f555e2be10c2a96ea1463c283f50-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) | ElastiCache | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 0 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 100 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 100 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 1000 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 1000 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 10000 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 10000 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 100000 | 126.123122 | Azure Managed Redis (one copy) | 4754.492847 | 4628.369725 |
| 100000 | 126.123122 | Azure Managed Redis (two copies) | 4754.492847 | 4628.369725 |
| 1000000 | 126.123122 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | 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-east-1 → 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* 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-a9fc3ff560ac80ef8a056b851b3eb0fecfda1e3a` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [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).

### AWS ElastiCache 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-east-1; target: eastus; currency: USD.

![AWS ElastiCache 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/6027bdf074e48b3bc8403fb39243b6c9829af654dfc66ee7a7d08457609fcf86-light.svg)

![AWS ElastiCache 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/8e4b6c9cffeb279905d82fc0de657422884289d5aec70c4cdf1895d6a75014ed-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) | ElastiCache | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 0 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 1 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 1 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 10 | 126.123122 | Azure Managed Redis (one copy) | 1625.46764 | 1499.344518 |
| 10 | 126.123122 | Azure Managed Redis (two copies) | 1625.46764 | 1499.344518 |
| 100 | 126.123122 | Azure Managed Redis (one copy) | 16254.6764 | 16128.553278 |
| 100 | 126.123122 | Azure Managed Redis (two copies) | 16254.6764 | 16128.553278 |
| 1000 | 126.123122 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 1000 | 126.123122 | Azure Managed Redis (two copies) | Unpriced | Unavailable |
| 10000 | 126.123122 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 10000 | 126.123122 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | 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-east-1 → 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* 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-a9fc3ff560ac80ef8a056b851b3eb0fecfda1e3a` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [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).

### AWS ElastiCache 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-east-1; target: eastus; currency: USD.

![AWS ElastiCache 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/c67e44d69a6438620453cf48733f4fa7d3ed1221a916f8cd06dda7e00ff97bb1-light.svg)

![AWS ElastiCache 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/3171f9ef4ac3e6f83413dd3c5e0de007fddd740eaa32f7b3fa95fbe64584e5e1-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) | ElastiCache | Target scenario | Azure Managed Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 53.249704 | Azure Managed Redis (one copy) | 751.7787835 | 698.5290795 |
| 0 | 53.249704 | Azure Managed Redis (two copies) | 751.7787835 | 698.5290795 |
| 730 | 89.686413 | Azure Managed Redis (one copy) | 751.7787835 | 662.0923705 |
| 730 | 89.686413 | Azure Managed Redis (two copies) | 751.7787835 | 662.0923705 |
| 1460 | 126.123122 | Azure Managed Redis (one copy) | 792.4154745 | 666.2923525 |
| 1460 | 126.123122 | Azure Managed Redis (two copies) | 792.4154745 | 666.2923525 |
| 5840 | 344.743376 | Azure Managed Redis (one copy) | 2641.384915 | 2296.641539 |
| 5840 | 344.743376 | Azure Managed Redis (two copies) | 2641.384915 | 2296.641539 |
| 23360 | 1219.224392 | Azure Managed Redis (one copy) | 9773.1241855 | 8553.8997935 |
| 23360 | 1219.224392 | Azure Managed Redis (two copies) | 9773.1241855 | 8553.8997935 |
| 93440 | 4717.148456 | Azure Managed Redis (one copy) | Unpriced | Unavailable |
| 93440 | 4717.148456 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | 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.0499133 | USD/vCPU-hour |
| Azure Managed Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | 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-east-1 → 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* 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-a9fc3ff560ac80ef8a056b851b3eb0fecfda1e3a` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [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).

## AWS ElastiCache allocated cache capacity → Bitnami Valkey

Origin API: `aws::1.0.0::elasticache`. Target backend: `bitnami::1.0.0::valkey`.

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/98219d7fedb8b8be9573a141ae00965915613e773370ab3ed6b7d635efb435ee-light.svg)

![AWS ElastiCache 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/233ab37ff8faf85c25090a39009afaaaa7097e9e56fd2b675077367d01309107-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) | ElastiCache | Target scenario | Bitnami Valkey | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 100 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 100 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 1000 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 1000 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 10000 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 10000 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 100000 | 126.123122 | Bitnami Valkey (one copy) | 567.16912 | 441.045998 |
| 100000 | 126.123122 | Bitnami Valkey (two copies) | 1134.33824 | 1008.215118 |
| 1000000 | 126.123122 | Bitnami Valkey (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Bitnami Valkey (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 / Bitnami Valkey (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Bitnami Valkey (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 / Bitnami Valkey (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 |
| - | - | -: | - |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (one copy) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (one copy) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (one copy) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (one copy) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (one copy) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (one copy) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (one copy) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (one copy) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Bitnami Valkey (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (one copy) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (one copy) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (two copies) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (two copies) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (two copies) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (two copies) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (two copies) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (two copies) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (two copies) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (two copies) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Bitnami Valkey (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (two copies) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (two copies) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target priced as the upstream valkey image (BSD-3-Clause, [https://github.com/valkey-io/valkey/blob/unstable/COPYING](https://github.com/valkey-io/valkey/blob/unstable/COPYING)): selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. Since 2025-08-28 maintained production Bitnami images need the Bitnami Secure Images subscription, which publishes no list price ([https://github.com/bitnami/charts/issues/35164](https://github.com/bitnami/charts/issues/35164)); free Bitnami images are latest-tag development builds. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-33b8fcad24eac856adf47311fd02fa3ccb365436` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/fac6107144c41b1dff070b662c14d0f85c7d2b4485bce2539abe10d29b402e47-light.svg)

![AWS ElastiCache 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/139175fcae1e39250e448f97a70d33029c3f191fc5f8abaef92a6a348db409d0-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) | ElastiCache | Target scenario | Bitnami Valkey | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 100 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 100 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 1000 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 1000 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 10000 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 10000 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 100000 | 126.123122 | Bitnami Valkey (one copy) | 1134.33824 | 1008.215118 |
| 100000 | 126.123122 | Bitnami Valkey (two copies) | 2268.67648 | 2142.553358 |
| 1000000 | 126.123122 | Bitnami Valkey (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Bitnami Valkey (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 / Bitnami Valkey (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Bitnami Valkey (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 128 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Bitnami Valkey (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 128 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Bitnami Valkey (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 / Bitnami Valkey (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 |
| - | - | -: | - |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (one copy) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (one copy) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (one copy) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (one copy) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (one copy) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (one copy) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (one copy) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (one copy) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Bitnami Valkey (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (one copy) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (one copy) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (two copies) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (two copies) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (two copies) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (two copies) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (two copies) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (two copies) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (two copies) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (two copies) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Bitnami Valkey (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (two copies) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (two copies) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target priced as the upstream valkey image (BSD-3-Clause, [https://github.com/valkey-io/valkey/blob/unstable/COPYING](https://github.com/valkey-io/valkey/blob/unstable/COPYING)): selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. Since 2025-08-28 maintained production Bitnami images need the Bitnami Secure Images subscription, which publishes no list price ([https://github.com/bitnami/charts/issues/35164](https://github.com/bitnami/charts/issues/35164)); free Bitnami images are latest-tag development builds. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-33b8fcad24eac856adf47311fd02fa3ccb365436` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/a0d59d61d36b2cf2295a2a432077d429393b3f04692ec5751633e83ae16e1ee7-light.svg)

![AWS ElastiCache 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/3e5cd403c5049e12b44f6eb4d140e36893a65dd6a3ced7fb4a66692a4cfab727-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) | ElastiCache | Target scenario | Bitnami Valkey | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 1 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 1 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 10 | 126.123122 | Bitnami Valkey (one copy) | 154.16432 | 28.041198 |
| 10 | 126.123122 | Bitnami Valkey (two copies) | 308.32864 | 182.205518 |
| 100 | 126.123122 | Bitnami Valkey (one copy) | 1357.03496 | 1230.911838 |
| 100 | 126.123122 | Bitnami Valkey (two copies) | 2714.06992 | 2587.946798 |
| 1000 | 126.123122 | Bitnami Valkey (one copy) | Unpriced | Unavailable |
| 1000 | 126.123122 | Bitnami Valkey (two copies) | Unpriced | Unavailable |
| 10000 | 126.123122 | Bitnami Valkey (one copy) | Unpriced | Unavailable |
| 10000 | 126.123122 | Bitnami Valkey (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 / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Bitnami Valkey (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 / Bitnami Valkey (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 / Bitnami Valkey (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 / Bitnami Valkey (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 |
| - | - | -: | - |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (one copy) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (one copy) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (one copy) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (one copy) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (one copy) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (one copy) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (one copy) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (one copy) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Bitnami Valkey (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (one copy) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (one copy) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (two copies) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (two copies) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (two copies) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (two copies) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (two copies) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (two copies) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (two copies) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (two copies) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Bitnami Valkey (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (two copies) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (two copies) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target priced as the upstream valkey image (BSD-3-Clause, [https://github.com/valkey-io/valkey/blob/unstable/COPYING](https://github.com/valkey-io/valkey/blob/unstable/COPYING)): selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. Since 2025-08-28 maintained production Bitnami images need the Bitnami Secure Images subscription, which publishes no list price ([https://github.com/bitnami/charts/issues/35164](https://github.com/bitnami/charts/issues/35164)); free Bitnami images are latest-tag development builds. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-33b8fcad24eac856adf47311fd02fa3ccb365436` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/03e2e765aa6fb3d92d6a0ef20f4f4d40d1f7c6284a641a692d0f824014df3250-light.svg)

![AWS ElastiCache 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/a842f8a93cd2ff194bd83b4c990ca9a128415621a4df4b8bc64f386cd84d6fc9-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) | ElastiCache | Target scenario | Bitnami Valkey | Difference |
| -: | -: | - | -: | -: |
| 0 | 53.249704 | Bitnami Valkey (one copy) | 74.7624025 | 21.5126985 |
| 0 | 53.249704 | Bitnami Valkey (two copies) | 149.524805 | 96.275101 |
| 730 | 89.686413 | Bitnami Valkey (one copy) | 74.7624025 | -14.9240105 |
| 730 | 89.686413 | Bitnami Valkey (two copies) | 149.524805 | 59.838392 |
| 1460 | 126.123122 | Bitnami Valkey (one copy) | 141.79228 | 15.669158 |
| 1460 | 126.123122 | Bitnami Valkey (two copies) | 283.58456 | 157.461438 |
| 5840 | 344.743376 | Bitnami Valkey (one copy) | 567.16912 | 222.425744 |
| 5840 | 344.743376 | Bitnami Valkey (two copies) | 1134.33824 | 789.594864 |
| 23360 | 1219.224392 | Bitnami Valkey (one copy) | 2268.67648 | 1049.452088 |
| 23360 | 1219.224392 | Bitnami Valkey (two copies) | 4537.35296 | 3318.128568 |
| 93440 | 4717.148456 | Bitnami Valkey (one copy) | Unpriced | Unavailable |
| 93440 | 4717.148456 | Bitnami Valkey (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 / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hour/month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 10 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 10 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Bitnami Valkey (one copy) | PlanningAssumption | 110 / 220 | 37 | 64 | 256 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Bitnami Valkey (two copies) | PlanningAssumption | 110 / 220 | 37 | 64 | 256 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 93440 vCPU-hour/month / Bitnami Valkey (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 / Bitnami Valkey (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 |
| - | - | -: | - |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (one copy) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (one copy) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (one copy) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (one copy) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (one copy) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (one copy) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (one copy) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (one copy) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (one copy) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Bitnami Valkey (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (one copy) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (one copy) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (one copy) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Bitnami Valkey (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Bitnami Valkey (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Bitnami Valkey (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Bitnami Valkey (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Bitnami Valkey (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Bitnami Valkey (two copies) | Target CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Bitnami Valkey (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Bitnami Valkey (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Bitnami Valkey (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Bitnami Valkey (two copies) | Target price guess · read | 0 | USD/read |
| Bitnami Valkey (two copies) | Target price guess · write | 0 | USD/write |
| Bitnami Valkey (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Bitnami Valkey (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Bitnami Valkey (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Bitnami Valkey (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Bitnami Valkey (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Bitnami Valkey (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Bitnami Valkey (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Bitnami Valkey (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Bitnami Valkey (two copies) | Target price guess · input token | 0 | USD/input token |
| Bitnami Valkey (two copies) | Target price guess · output token | 0 | USD/output token |
| Bitnami Valkey (two copies) | Target monthly base charge | 0 | USD/month |
| Bitnami Valkey (two copies) | Approximate target service minimum | 0 | USD/month |
| Bitnami Valkey (two copies) | Minimum primary CPU | 2 | vCPU |
| Bitnami Valkey (two copies) | Minimum primary RAM | 8 | GiB |
| Bitnami Valkey (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Bitnami Valkey (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Bitnami Valkey (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Bitnami Valkey (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Bitnami Valkey (two copies) | Planning peak / mean work | 2 | multiplier |
| Bitnami Valkey (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Bitnami Valkey (two copies) | Resident state reserved in RAM | 0 | fraction |
| Bitnami Valkey (two copies) | Planning disk utilization | 0.8 | fraction |
| Bitnami Valkey (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Bitnami Valkey (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Bitnami Valkey (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Bitnami Valkey (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Bitnami Valkey (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Bitnami Valkey (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target priced as the upstream valkey image (BSD-3-Clause, [https://github.com/valkey-io/valkey/blob/unstable/COPYING](https://github.com/valkey-io/valkey/blob/unstable/COPYING)): selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. Since 2025-08-28 maintained production Bitnami images need the Bitnami Secure Images subscription, which publishes no list price ([https://github.com/bitnami/charts/issues/35164](https://github.com/bitnami/charts/issues/35164)); free Bitnami images are latest-tag development builds. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-33b8fcad24eac856adf47311fd02fa3ccb365436` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

## AWS ElastiCache allocated cache capacity → Dragonfly

Origin API: `aws::1.0.0::elasticache`. Target backend: `dragonfly::1.0.0::cache`.

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/efd04b7f1fe370b3d14202b6231d9883ef042c6265b975c65133cbaeb05373e3-light.svg)

![AWS ElastiCache 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/cdf7dcc6236905a39f9aa357b105656253c16b80470742d5e341a67714f92825-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) | ElastiCache | Target scenario | Dragonfly | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 100 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 100 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 1000 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 1000 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 10000 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 10000 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 100000 | 126.123122 | Dragonfly (one copy) | 567.16912 | 441.045998 |
| 100000 | 126.123122 | Dragonfly (two copies) | 1134.33824 | 1008.215118 |
| 1000000 | 126.123122 | Dragonfly (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Dragonfly (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 / Dragonfly (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Dragonfly (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Dragonfly (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Dragonfly (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Dragonfly (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Dragonfly (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Dragonfly (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Dragonfly (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Dragonfly (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 / Dragonfly (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 |
| - | - | -: | - |
| Dragonfly (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (one copy) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (one copy) | Target price guess · read | 0 | USD/read |
| Dragonfly (one copy) | Target price guess · write | 0 | USD/write |
| Dragonfly (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (one copy) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (one copy) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (one copy) | Target monthly base charge | 0 | USD/month |
| Dragonfly (one copy) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (one copy) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (one copy) | Minimum primary RAM | 8 | GiB |
| Dragonfly (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Dragonfly (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (one copy) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (one copy) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Dragonfly (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (two copies) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (two copies) | Target price guess · read | 0 | USD/read |
| Dragonfly (two copies) | Target price guess · write | 0 | USD/write |
| Dragonfly (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (two copies) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (two copies) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (two copies) | Target monthly base charge | 0 | USD/month |
| Dragonfly (two copies) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (two copies) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (two copies) | Minimum primary RAM | 8 | GiB |
| Dragonfly (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Dragonfly (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (two copies) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (two copies) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target: Dragonfly community edition (Business Source License 1.1, free to self-host) on customer nodes; selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-a67162c730c3fe8c40ef03c26c438170f916c37f` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/7eceec48a43db37b3694c50a0dee10650a8f6c4be9ae8c97a348a46cea687a40-light.svg)

![AWS ElastiCache 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/c624a2ff52251caa9d2a7ba0af8b36754a09708099106ae5d4405617fc51645f-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) | ElastiCache | Target scenario | Dragonfly | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 100 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 100 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 1000 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 1000 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 10000 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 10000 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 100000 | 126.123122 | Dragonfly (one copy) | 1134.33824 | 1008.215118 |
| 100000 | 126.123122 | Dragonfly (two copies) | 2268.67648 | 2142.553358 |
| 1000000 | 126.123122 | Dragonfly (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Dragonfly (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 / Dragonfly (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Dragonfly (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Dragonfly (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Dragonfly (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Dragonfly (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Dragonfly (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Dragonfly (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Dragonfly (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Dragonfly (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 128 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Dragonfly (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 128 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Dragonfly (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 / Dragonfly (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 |
| - | - | -: | - |
| Dragonfly (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (one copy) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (one copy) | Target price guess · read | 0 | USD/read |
| Dragonfly (one copy) | Target price guess · write | 0 | USD/write |
| Dragonfly (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (one copy) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (one copy) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (one copy) | Target monthly base charge | 0 | USD/month |
| Dragonfly (one copy) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (one copy) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (one copy) | Minimum primary RAM | 8 | GiB |
| Dragonfly (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Dragonfly (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (one copy) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (one copy) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Dragonfly (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (two copies) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (two copies) | Target price guess · read | 0 | USD/read |
| Dragonfly (two copies) | Target price guess · write | 0 | USD/write |
| Dragonfly (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (two copies) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (two copies) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (two copies) | Target monthly base charge | 0 | USD/month |
| Dragonfly (two copies) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (two copies) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (two copies) | Minimum primary RAM | 8 | GiB |
| Dragonfly (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Dragonfly (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (two copies) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (two copies) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target: Dragonfly community edition (Business Source License 1.1, free to self-host) on customer nodes; selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-a67162c730c3fe8c40ef03c26c438170f916c37f` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/ddbbbd6b14a5aab4d585c8d77b93c99fc892978114fc6165a137acb2aa0ece25-light.svg)

![AWS ElastiCache 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/3be2d05de07dcf51ccbeeff869417d8babf0759c5c5538a0f3cb9f3b7793dd2f-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) | ElastiCache | Target scenario | Dragonfly | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 0 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 1 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 1 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 10 | 126.123122 | Dragonfly (one copy) | 154.16432 | 28.041198 |
| 10 | 126.123122 | Dragonfly (two copies) | 308.32864 | 182.205518 |
| 100 | 126.123122 | Dragonfly (one copy) | 1357.03496 | 1230.911838 |
| 100 | 126.123122 | Dragonfly (two copies) | 2714.06992 | 2587.946798 |
| 1000 | 126.123122 | Dragonfly (one copy) | Unpriced | Unavailable |
| 1000 | 126.123122 | Dragonfly (two copies) | Unpriced | Unavailable |
| 10000 | 126.123122 | Dragonfly (one copy) | Unpriced | Unavailable |
| 10000 | 126.123122 | Dragonfly (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 / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Dragonfly (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 / Dragonfly (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 / Dragonfly (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 / Dragonfly (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 |
| - | - | -: | - |
| Dragonfly (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (one copy) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (one copy) | Target price guess · read | 0 | USD/read |
| Dragonfly (one copy) | Target price guess · write | 0 | USD/write |
| Dragonfly (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (one copy) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (one copy) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (one copy) | Target monthly base charge | 0 | USD/month |
| Dragonfly (one copy) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (one copy) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (one copy) | Minimum primary RAM | 8 | GiB |
| Dragonfly (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Dragonfly (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (one copy) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (one copy) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Dragonfly (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (two copies) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (two copies) | Target price guess · read | 0 | USD/read |
| Dragonfly (two copies) | Target price guess · write | 0 | USD/write |
| Dragonfly (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (two copies) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (two copies) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (two copies) | Target monthly base charge | 0 | USD/month |
| Dragonfly (two copies) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (two copies) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (two copies) | Minimum primary RAM | 8 | GiB |
| Dragonfly (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Dragonfly (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (two copies) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (two copies) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target: Dragonfly community edition (Business Source License 1.1, free to self-host) on customer nodes; selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-a67162c730c3fe8c40ef03c26c438170f916c37f` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/f7cdb553ea1dcdd81719f7a0b7e1aafd3de3955f04d9860e0624e9d626ee0c59-light.svg)

![AWS ElastiCache 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/ec3db6c98adf5f8cfb6bac0ddcc1a21497dcdd65a85d38ad9f5289c1adc2338c-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) | ElastiCache | Target scenario | Dragonfly | Difference |
| -: | -: | - | -: | -: |
| 0 | 53.249704 | Dragonfly (one copy) | 74.7624025 | 21.5126985 |
| 0 | 53.249704 | Dragonfly (two copies) | 149.524805 | 96.275101 |
| 730 | 89.686413 | Dragonfly (one copy) | 74.7624025 | -14.9240105 |
| 730 | 89.686413 | Dragonfly (two copies) | 149.524805 | 59.838392 |
| 1460 | 126.123122 | Dragonfly (one copy) | 141.79228 | 15.669158 |
| 1460 | 126.123122 | Dragonfly (two copies) | 283.58456 | 157.461438 |
| 5840 | 344.743376 | Dragonfly (one copy) | 567.16912 | 222.425744 |
| 5840 | 344.743376 | Dragonfly (two copies) | 1134.33824 | 789.594864 |
| 23360 | 1219.224392 | Dragonfly (one copy) | 2268.67648 | 1049.452088 |
| 23360 | 1219.224392 | Dragonfly (two copies) | 4537.35296 | 3318.128568 |
| 93440 | 4717.148456 | Dragonfly (one copy) | Unpriced | Unavailable |
| 93440 | 4717.148456 | Dragonfly (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 / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hour/month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 16 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 10 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 10 | 16 | 64 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Dragonfly (one copy) | PlanningAssumption | 110 / 220 | 37 | 64 | 256 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / Dragonfly (two copies) | PlanningAssumption | 110 / 220 | 37 | 64 | 256 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 93440 vCPU-hour/month / Dragonfly (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 / Dragonfly (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 |
| - | - | -: | - |
| Dragonfly (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (one copy) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (one copy) | Target price guess · read | 0 | USD/read |
| Dragonfly (one copy) | Target price guess · write | 0 | USD/write |
| Dragonfly (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (one copy) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (one copy) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (one copy) | Target monthly base charge | 0 | USD/month |
| Dragonfly (one copy) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (one copy) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (one copy) | Minimum primary RAM | 8 | GiB |
| Dragonfly (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Dragonfly (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (one copy) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (one copy) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (one copy) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Dragonfly (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Dragonfly (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Dragonfly (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Dragonfly (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Dragonfly (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Dragonfly (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Dragonfly (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Dragonfly (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Dragonfly (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Dragonfly (two copies) | Target CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Dragonfly (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Dragonfly (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Dragonfly (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Dragonfly (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Dragonfly (two copies) | Target price guess · read | 0 | USD/read |
| Dragonfly (two copies) | Target price guess · write | 0 | USD/write |
| Dragonfly (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Dragonfly (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Dragonfly (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Dragonfly (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Dragonfly (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Dragonfly (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Dragonfly (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Dragonfly (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Dragonfly (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Dragonfly (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Dragonfly (two copies) | Target price guess · input token | 0 | USD/input token |
| Dragonfly (two copies) | Target price guess · output token | 0 | USD/output token |
| Dragonfly (two copies) | Target monthly base charge | 0 | USD/month |
| Dragonfly (two copies) | Approximate target service minimum | 0 | USD/month |
| Dragonfly (two copies) | Minimum primary CPU | 2 | vCPU |
| Dragonfly (two copies) | Minimum primary RAM | 8 | GiB |
| Dragonfly (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Dragonfly (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Dragonfly (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Dragonfly (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Dragonfly (two copies) | Planning peak / mean work | 2 | multiplier |
| Dragonfly (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Dragonfly (two copies) | Resident state reserved in RAM | 0 | fraction |
| Dragonfly (two copies) | Planning disk utilization | 0.8 | fraction |
| Dragonfly (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Dragonfly (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Dragonfly (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Dragonfly (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dragonfly (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dragonfly (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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Self-hosted cache target: Dragonfly community edition (Business Source License 1.1, free to self-host) on customer nodes; selected CPU and resident RAM grow with native key work and explicit source resource-hour minima. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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-a67162c730c3fe8c40ef03c26c438170f916c37f` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Network pricing](https://cloud.google.com/vpc/network-pricing).

## AWS ElastiCache allocated cache capacity → Memorystore for Redis

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

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/471dd35a2904fda5de60e33349374d8dd64f6490123064b19292dffbe5a7e83d-light.svg)

![AWS ElastiCache 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/e664efe88a0b3049e9ecd52e439d4b689110dba8f24856c9305567c2ea82547a-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) | ElastiCache | Target scenario | Memorystore for Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 0 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 100 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 100 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 1000 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 1000 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 10000 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 10000 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 100000 | 126.123122 | Memorystore for Redis (one copy) | 960.8625 | 834.739378 |
| 100000 | 126.123122 | Memorystore for Redis (two copies) | 1921.725 | 1795.601878 |
| 1000000 | 126.123122 | Memorystore for Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Memorystore for 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 / Memorystore for Redis (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Memorystore for 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 / Memorystore for 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 |
| - | - | -: | - |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (one copy) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (one copy) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (one copy) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Memorystore for Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (two copies) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (two copies) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (two copies) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Memorystore for Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for 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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Google Cloud bills Memorystore for Redis per provisioned capacity GiB-hour in 1-second increments with no separate CPU charge. In us-central1 Basic tier lists USD 0.049 (M1, 1-4 GiB), 0.027 (M2, 5-10 GiB), 0.023 (M3), 0.019 (M4) and 0.016 (M5) per GiB-hour; Standard tier lists 0.064, 0.054, 0.046, 0.035 and 0.03 ([https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)). The rate is Basic M2; the two-copy variant equals Standard M2. Other capacity tiers, read replicas and committed-use discounts change the rate. Memorystore has only private endpoints, so selected network is priced at the listed inter-region egress within North America. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)

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-261022e55981a07cedc54d4c30f79d422aefeaa3` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/bf570d41231b0ddf4bae5398d7be9ddaecaca2b70a658ab5fd62da610f1d1aa9-light.svg)

![AWS ElastiCache 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/05c468ca16d868705d3de340acd47678f738522569c1e492369b606afca6f27a-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) | ElastiCache | Target scenario | Memorystore for Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 0 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 100 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 100 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 1000 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 1000 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 10000 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 10000 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 100000 | 126.123122 | Memorystore for Redis (one copy) | 1153.035 | 1026.911878 |
| 100000 | 126.123122 | Memorystore for Redis (two copies) | 2306.07 | 2179.946878 |
| 1000000 | 126.123122 | Memorystore for Redis (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | Memorystore for 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 / Memorystore for Redis (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Memorystore for Redis (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / Memorystore for Redis (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / Memorystore for 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 / Memorystore for 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 |
| - | - | -: | - |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (one copy) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (one copy) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (one copy) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Memorystore for Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (two copies) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (two copies) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (two copies) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Memorystore for Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for 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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Google Cloud bills Memorystore for Redis per provisioned capacity GiB-hour in 1-second increments with no separate CPU charge. In us-central1 Basic tier lists USD 0.049 (M1, 1-4 GiB), 0.027 (M2, 5-10 GiB), 0.023 (M3), 0.019 (M4) and 0.016 (M5) per GiB-hour; Standard tier lists 0.064, 0.054, 0.046, 0.035 and 0.03 ([https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)). The rate is Basic M2; the two-copy variant equals Standard M2. Other capacity tiers, read replicas and committed-use discounts change the rate. Memorystore has only private endpoints, so selected network is priced at the listed inter-region egress within North America. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)

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-261022e55981a07cedc54d4c30f79d422aefeaa3` / `2026-10-22.planning.2`. Curve: `workload-2`.

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

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/40e36a65f370f903f6f718fe73efd57b68589921a4155b07c1c87d98b1fc21ff-light.svg)

![AWS ElastiCache 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/b264b76698da3f7fa10b28ecb4a2fa6f4477358a0a39638cd3116a599ded7044-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) | ElastiCache | Target scenario | Memorystore for Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 0 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 1 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 1 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 10 | 126.123122 | Memorystore for Redis (one copy) | 394.2 | 268.076878 |
| 10 | 126.123122 | Memorystore for Redis (two copies) | 788.4 | 662.276878 |
| 100 | 126.123122 | Memorystore for Redis (one copy) | 3942 | 3815.876878 |
| 100 | 126.123122 | Memorystore for Redis (two copies) | 7884 | 7757.876878 |
| 1000 | 126.123122 | Memorystore for Redis (one copy) | Unpriced | Unavailable |
| 1000 | 126.123122 | Memorystore for Redis (two copies) | Unpriced | Unavailable |
| 10000 | 126.123122 | Memorystore for Redis (one copy) | Unpriced | Unavailable |
| 10000 | 126.123122 | Memorystore for 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 / Memorystore for Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / Memorystore for Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / Memorystore for 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 / Memorystore for 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 / Memorystore for Redis (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Memorystore for Redis (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Memorystore for Redis (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Memorystore for Redis (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 |
| - | - | -: | - |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (one copy) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (one copy) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (one copy) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Memorystore for Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (two copies) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (two copies) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (two copies) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Memorystore for Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for 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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Google Cloud bills Memorystore for Redis per provisioned capacity GiB-hour in 1-second increments with no separate CPU charge. In us-central1 Basic tier lists USD 0.049 (M1, 1-4 GiB), 0.027 (M2, 5-10 GiB), 0.023 (M3), 0.019 (M4) and 0.016 (M5) per GiB-hour; Standard tier lists 0.064, 0.054, 0.046, 0.035 and 0.03 ([https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)). The rate is Basic M2; the two-copy variant equals Standard M2. Other capacity tiers, read replicas and committed-use discounts change the rate. Memorystore has only private endpoints, so selected network is priced at the listed inter-region egress within North America. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)

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-261022e55981a07cedc54d4c30f79d422aefeaa3` / `2026-10-22.planning.2`. Curve: `workload-3`.

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

### AWS ElastiCache 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-east-1; target: us-central1; currency: USD.

![AWS ElastiCache 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/e022f22819a6e16178afa0f55f3b0efec60c74c612e6c0bf72ad4869151a6e87-light.svg)

![AWS ElastiCache 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/60f6c28313298e63843a630de77321b84f89b4116f92c8212be506a1a3802031-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) | ElastiCache | Target scenario | Memorystore for Redis | Difference |
| -: | -: | - | -: | -: |
| 0 | 53.249704 | Memorystore for Redis (one copy) | 182.3175 | 129.067796 |
| 0 | 53.249704 | Memorystore for Redis (two copies) | 364.635 | 311.385296 |
| 730 | 89.686413 | Memorystore for Redis (one copy) | 182.3175 | 92.631087 |
| 730 | 89.686413 | Memorystore for Redis (two copies) | 364.635 | 274.948587 |
| 1460 | 126.123122 | Memorystore for Redis (one copy) | 192.1725 | 66.049378 |
| 1460 | 126.123122 | Memorystore for Redis (two copies) | 384.345 | 258.221878 |
| 5840 | 344.743376 | Memorystore for Redis (one copy) | 640.575 | 295.831624 |
| 5840 | 344.743376 | Memorystore for Redis (two copies) | 1281.15 | 936.406624 |
| 23360 | 1219.224392 | Memorystore for Redis (one copy) | 2370.1275 | 1150.903108 |
| 23360 | 1219.224392 | Memorystore for Redis (two copies) | 4740.255 | 3521.030608 |
| 93440 | 4717.148456 | Memorystore for Redis (one copy) | Unpriced | Unavailable |
| 93440 | 4717.148456 | Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 / Memorystore for 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 |
| - | - | -: | - |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (one copy) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (one copy) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (one copy) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (one copy) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (one copy) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (one copy) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (one copy) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (one copy) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (one copy) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (one copy) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (one copy) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (one copy) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Memorystore for Redis (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (one copy) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (one copy) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (one copy) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (one copy) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for Redis (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| Memorystore for Redis (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| Memorystore for Redis (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| Memorystore for Redis (two copies) | Read CPU work per key read | 1 | equivalents/read |
| Memorystore for Redis (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| Memorystore for Redis (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| Memorystore for Redis (two copies) | Target CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| Memorystore for Redis (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| Memorystore for Redis (two copies) | Usable cache memory fraction | 0.75 | fraction |
| Memorystore for Redis (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| Memorystore for Redis (two copies) | Target price guess · read | 0 | USD/read |
| Memorystore for Redis (two copies) | Target price guess · write | 0 | USD/write |
| Memorystore for Redis (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Memorystore for Redis (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Memorystore for Redis (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Memorystore for Redis (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Memorystore for Redis (two copies) | Target list price · network GiB | 0.02 | USD/network GiB |
| Memorystore for Redis (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Memorystore for Redis (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Target list price · GiB-hour | 0.027 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Memorystore for Redis (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Memorystore for Redis (two copies) | Target price guess · input token | 0 | USD/input token |
| Memorystore for Redis (two copies) | Target price guess · output token | 0 | USD/output token |
| Memorystore for Redis (two copies) | Target monthly base charge | 0 | USD/month |
| Memorystore for Redis (two copies) | Target service minimum | 35.77 | USD/month |
| Memorystore for Redis (two copies) | Minimum primary CPU | 2 | vCPU |
| Memorystore for Redis (two copies) | Minimum primary RAM | 8 | GiB |
| Memorystore for Redis (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| Memorystore for Redis (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Memorystore for Redis (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Memorystore for Redis (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Memorystore for Redis (two copies) | Planning peak / mean work | 2 | multiplier |
| Memorystore for Redis (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Memorystore for Redis (two copies) | Resident state reserved in RAM | 0 | fraction |
| Memorystore for Redis (two copies) | Planning disk utilization | 0.8 | fraction |
| Memorystore for Redis (two copies) | Maintenance and log disk reserve | 0 | GiB |
| Memorystore for Redis (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Memorystore for Redis (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Memorystore for Redis (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Memorystore for Redis (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Memorystore for 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-east-1 → us-central1, 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* Google Cloud bills Memorystore for Redis per provisioned capacity GiB-hour in 1-second increments with no separate CPU charge. In us-central1 Basic tier lists USD 0.049 (M1, 1-4 GiB), 0.027 (M2, 5-10 GiB), 0.023 (M3), 0.019 (M4) and 0.016 (M5) per GiB-hour; Standard tier lists 0.064, 0.054, 0.046, 0.035 and 0.03 ([https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)). The rate is Basic M2; the two-copy variant equals Standard M2. Other capacity tiers, read replicas and committed-use discounts change the rate. Memorystore has only private endpoints, so selected network is priced at the listed inter-region egress within North America. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* Memorystore for Redis pricing: [https://cloud.google.com/memorystore/docs/redis/pricing](https://cloud.google.com/memorystore/docs/redis/pricing)

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-261022e55981a07cedc54d4c30f79d422aefeaa3` / `2026-10-22.planning.2`. Curve: `workload-4`.

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

## AWS ElastiCache allocated cache capacity → OCI Cache

Origin API: `aws::1.0.0::elasticache`. Target backend: `oci::1.0.0::cache`.

### AWS ElastiCache 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-east-1; target: us-ashburn-1 (global list); currency: USD.

![AWS ElastiCache 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/39eb2368eabac381bd34240ad7846ea080b95c9eb4dbf50c170eaf6e3440326a-light.svg)

![AWS ElastiCache 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/eb61167e9a6a797b1ce132de3b06bbc67fb123e93f5d15eedff34a4ea817a326-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) | ElastiCache | Target scenario | OCI Cache | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 0 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 100 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 100 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 1000 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 1000 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 10000 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 10000 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 100000 | 126.123122 | OCI Cache (one copy) | 690.3975 | 564.274378 |
| 100000 | 126.123122 | OCI Cache (two copies) | 1380.795 | 1254.671878 |
| 1000000 | 126.123122 | OCI Cache (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | OCI Cache (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 / OCI Cache (one copy) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / OCI Cache (two copies) | PlanningAssumption | 10 / 20 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / OCI Cache (one copy) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / OCI Cache (two copies) | PlanningAssumption | 1010 / 2020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / OCI Cache (one copy) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / OCI Cache (two copies) | PlanningAssumption | 10010 / 20020 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / OCI Cache (one copy) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / OCI Cache (two copies) | PlanningAssumption | 100010 / 200020 | 15 | 16 | 48.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / OCI Cache (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 / OCI Cache (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 |
| - | - | -: | - |
| OCI Cache (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (one copy) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (one copy) | Target price guess · read | 0 | USD/read |
| OCI Cache (one copy) | Target price guess · write | 0 | USD/write |
| OCI Cache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (one copy) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (one copy) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (one copy) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (one copy) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (one copy) | Target monthly base charge | 0 | USD/month |
| OCI Cache (one copy) | Target service minimum | 28.324 | USD/month |
| OCI Cache (one copy) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (one copy) | Minimum primary RAM | 8 | GiB |
| OCI Cache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Cache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (one copy) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (one copy) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| OCI Cache (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (two copies) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (two copies) | Target price guess · read | 0 | USD/read |
| OCI Cache (two copies) | Target price guess · write | 0 | USD/write |
| OCI Cache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (two copies) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (two copies) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (two copies) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (two copies) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (two copies) | Target monthly base charge | 0 | USD/month |
| OCI Cache (two copies) | Target service minimum | 28.324 | USD/month |
| OCI Cache (two copies) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (two copies) | Minimum primary RAM | 8 | GiB |
| OCI Cache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| OCI Cache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (two copies) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (two copies) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (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-east-1 → us-ashburn-1 (global list), 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* OCI bills OCI Cache per GB of node memory per hour for every node, primary and replicas: USD 0.0194 for nodes up to 10 GB; a larger node bills 0.0194 for its first 10 GB plus 0.0136 per additional GB (part B99591), which this rate overstates (a 12 GB node lists 0.2212 per hour, 0.0184 per GB). Each additional copy is another full-price node; OCI recommends at least three nodes for reliability, which the two-copy variant does not reach. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-8744a000ad1403da5956be9b24f35d8fe636a320` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

### AWS ElastiCache 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-east-1; target: us-ashburn-1 (global list); currency: USD.

![AWS ElastiCache 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/6856bf7a133a43f9fc7c60445741cd2a1d9b67f3822aebb5e35689e3264ac84c-light.svg)

![AWS ElastiCache 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/5ed312a2319c87629f21a4dd3321e7db7aa383981b7b79d469172ec57f97ad4b-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) | ElastiCache | Target scenario | OCI Cache | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 0 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 100 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 100 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 1000 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 1000 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 10000 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 10000 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 100000 | 126.123122 | OCI Cache (one copy) | 828.477 | 702.353878 |
| 100000 | 126.123122 | OCI Cache (two copies) | 1656.954 | 1530.830878 |
| 1000000 | 126.123122 | OCI Cache (one copy) | Unpriced | Unavailable |
| 1000000 | 126.123122 | OCI Cache (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 / OCI Cache (one copy) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 operations/s / OCI Cache (two copies) | PlanningAssumption | 100 / 200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / OCI Cache (one copy) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 operations/s / OCI Cache (two copies) | PlanningAssumption | 200 / 400 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / OCI Cache (one copy) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 operations/s / OCI Cache (two copies) | PlanningAssumption | 1100 / 2200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / OCI Cache (one copy) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 operations/s / OCI Cache (two copies) | PlanningAssumption | 10100 / 20200 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / OCI Cache (one copy) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100000 operations/s / OCI Cache (two copies) | PlanningAssumption | 100100 / 200200 | 18 | 32 | 58.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000000 operations/s / OCI Cache (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 / OCI Cache (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 |
| - | - | -: | - |
| OCI Cache (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (one copy) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (one copy) | Target price guess · read | 0 | USD/read |
| OCI Cache (one copy) | Target price guess · write | 0 | USD/write |
| OCI Cache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (one copy) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (one copy) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (one copy) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (one copy) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (one copy) | Target monthly base charge | 0 | USD/month |
| OCI Cache (one copy) | Target service minimum | 28.324 | USD/month |
| OCI Cache (one copy) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (one copy) | Minimum primary RAM | 8 | GiB |
| OCI Cache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Cache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (one copy) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (one copy) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| OCI Cache (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (two copies) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (two copies) | Target price guess · read | 0 | USD/read |
| OCI Cache (two copies) | Target price guess · write | 0 | USD/write |
| OCI Cache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (two copies) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (two copies) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (two copies) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (two copies) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (two copies) | Target monthly base charge | 0 | USD/month |
| OCI Cache (two copies) | Target service minimum | 28.324 | USD/month |
| OCI Cache (two copies) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (two copies) | Minimum primary RAM | 8 | GiB |
| OCI Cache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| OCI Cache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (two copies) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (two copies) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (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-east-1 → us-ashburn-1 (global list), 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* OCI bills OCI Cache per GB of node memory per hour for every node, primary and replicas: USD 0.0194 for nodes up to 10 GB; a larger node bills 0.0194 for its first 10 GB plus 0.0136 per additional GB (part B99591), which this rate overstates (a 12 GB node lists 0.2212 per hour, 0.0184 per GB). Each additional copy is another full-price node; OCI recommends at least three nodes for reliability, which the two-copy variant does not reach. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-8744a000ad1403da5956be9b24f35d8fe636a320` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

### AWS ElastiCache 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-east-1; target: us-ashburn-1 (global list); currency: USD.

![AWS ElastiCache 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/82db72a27414112cb91c2160704fb2c3421c301b43d1cbc7c1506a3cdc04b31b-light.svg)

![AWS ElastiCache 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/85c20c6b385e5db5e08ccab0790306901875fa57e46cd33b036307819defdeb9-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) | ElastiCache | Target scenario | OCI Cache | Difference |
| -: | -: | - | -: | -: |
| 0 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 0 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 1 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 1 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 10 | 126.123122 | OCI Cache (one copy) | 283.24 | 157.116878 |
| 10 | 126.123122 | OCI Cache (two copies) | 566.48 | 440.356878 |
| 100 | 126.123122 | OCI Cache (one copy) | 2832.4 | 2706.276878 |
| 100 | 126.123122 | OCI Cache (two copies) | 5664.8 | 5538.676878 |
| 1000 | 126.123122 | OCI Cache (one copy) | Unpriced | Unavailable |
| 1000 | 126.123122 | OCI Cache (two copies) | Unpriced | Unavailable |
| 10000 | 126.123122 | OCI Cache (one copy) | Unpriced | Unavailable |
| 10000 | 126.123122 | OCI Cache (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 / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB-month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 1.5 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 20 | 0 | 15 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 28 | 32 | 200 | 0 | 150 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / OCI Cache (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 / OCI Cache (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 / OCI Cache (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 / OCI Cache (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 |
| - | - | -: | - |
| OCI Cache (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (one copy) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (one copy) | Target price guess · read | 0 | USD/read |
| OCI Cache (one copy) | Target price guess · write | 0 | USD/write |
| OCI Cache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (one copy) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (one copy) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (one copy) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (one copy) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (one copy) | Target monthly base charge | 0 | USD/month |
| OCI Cache (one copy) | Target service minimum | 28.324 | USD/month |
| OCI Cache (one copy) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (one copy) | Minimum primary RAM | 8 | GiB |
| OCI Cache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Cache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (one copy) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (one copy) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| OCI Cache (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (two copies) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (two copies) | Target price guess · read | 0 | USD/read |
| OCI Cache (two copies) | Target price guess · write | 0 | USD/write |
| OCI Cache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (two copies) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (two copies) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (two copies) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (two copies) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (two copies) | Target monthly base charge | 0 | USD/month |
| OCI Cache (two copies) | Target service minimum | 28.324 | USD/month |
| OCI Cache (two copies) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (two copies) | Minimum primary RAM | 8 | GiB |
| OCI Cache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| OCI Cache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (two copies) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (two copies) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (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-east-1 → us-ashburn-1 (global list), 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* OCI bills OCI Cache per GB of node memory per hour for every node, primary and replicas: USD 0.0194 for nodes up to 10 GB; a larger node bills 0.0194 for its first 10 GB plus 0.0136 per additional GB (part B99591), which this rate overstates (a 12 GB node lists 0.2212 per hour, 0.0184 per GB). Each additional copy is another full-price node; OCI recommends at least three nodes for reliability, which the two-copy variant does not reach. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-8744a000ad1403da5956be9b24f35d8fe636a320` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

### AWS ElastiCache 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-east-1; target: us-ashburn-1 (global list); currency: USD.

![AWS ElastiCache 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/39c3af3310bad7d9ada45d8fe33b7fa8223c07ae49ef6c83f7e51e9b8fd4e452-light.svg)

![AWS ElastiCache 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/056d56528cc3bde74e0b8b46f43aaf833f76677e0f304a37c9c527386c1c18f3-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) | ElastiCache | Target scenario | OCI Cache | Difference |
| -: | -: | - | -: | -: |
| 0 | 53.249704 | OCI Cache (one copy) | 130.9985 | 77.748796 |
| 0 | 53.249704 | OCI Cache (two copies) | 261.997 | 208.747296 |
| 730 | 89.686413 | OCI Cache (one copy) | 130.9985 | 41.312087 |
| 730 | 89.686413 | OCI Cache (two copies) | 261.997 | 172.310587 |
| 1460 | 126.123122 | OCI Cache (one copy) | 138.0795 | 11.956378 |
| 1460 | 126.123122 | OCI Cache (two copies) | 276.159 | 150.035878 |
| 5840 | 344.743376 | OCI Cache (one copy) | 460.265 | 115.521624 |
| 5840 | 344.743376 | OCI Cache (two copies) | 920.53 | 575.786624 |
| 23360 | 1219.224392 | OCI Cache (one copy) | 1702.9805 | 483.756108 |
| 23360 | 1219.224392 | OCI Cache (two copies) | 3405.961 | 2186.736608 |
| 93440 | 4717.148456 | OCI Cache (one copy) | Unpriced | Unavailable |
| 93440 | 4717.148456 | OCI Cache (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 / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hour/month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 vCPU-hour/month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 2 | 2 | 9.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hour/month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 3 | 4 | 9.75 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hour/month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 10 | 16 | 32.5 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / OCI Cache (one copy) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hour/month / OCI Cache (two copies) | PlanningAssumption | 110 / 220 | 37 | 64 | 120.25 | 0 | 6 | `service-adapter-planning-2026-10-22.1` | None reported |
| 93440 vCPU-hour/month / OCI Cache (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 / OCI Cache (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 |
| - | - | -: | - |
| OCI Cache (one copy) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (one copy) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (one copy) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (one copy) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (one copy) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (one copy) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (one copy) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (one copy) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (one copy) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (one copy) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (one copy) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (one copy) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (one copy) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (one copy) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (one copy) | Target price guess · read | 0 | USD/read |
| OCI Cache (one copy) | Target price guess · write | 0 | USD/write |
| OCI Cache (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (one copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (one copy) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (one copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (one copy) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (one copy) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (one copy) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (one copy) | Target monthly base charge | 0 | USD/month |
| OCI Cache (one copy) | Target service minimum | 28.324 | USD/month |
| OCI Cache (one copy) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (one copy) | Minimum primary RAM | 8 | GiB |
| OCI Cache (one copy) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Cache (one copy) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (one copy) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (one copy) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (one copy) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (one copy) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| OCI Cache (two copies) | Origin list price · Allocated Redis CPU | 0.0499133 | USD/vCPU-hour |
| OCI Cache (two copies) | Origin list price · Allocated Redis memory | 0.0091181 | USD/GiB-hour |
| OCI Cache (two copies) | Origin list price · Average resident Redis data | 0 | USD/GiB-month |
| OCI Cache (two copies) | Origin list price · Redis key reads | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Redis key writes | 0 | USD/Operations |
| OCI Cache (two copies) | Origin list price · Cache management requests | 0 | USD/Requests |
| OCI Cache (two copies) | Target / origin allocated resources | 1.15 | multiplier |
| OCI Cache (two copies) | Read CPU work per key read | 1 | equivalents/read |
| OCI Cache (two copies) | Write CPU work per key write | 1.2 | equivalents/write |
| OCI Cache (two copies) | Key-operation throughput per vCPU | 20000 | equivalents/vCPU-second |
| OCI Cache (two copies) | Target CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Peak / mean key-operation traffic | 2 | multiplier |
| OCI Cache (two copies) | Physical memory per logical resident GiB | 1.5 | multiplier |
| OCI Cache (two copies) | Usable cache memory fraction | 0.75 | fraction |
| OCI Cache (two copies) | Minimum RAM per selected CPU | 3.25 | GiB/vCPU |
| OCI Cache (two copies) | Maximum RAM per selected CPU | 7.25 | GiB/vCPU |
| OCI Cache (two copies) | Target price guess · read | 0 | USD/read |
| OCI Cache (two copies) | Target price guess · write | 0 | USD/write |
| OCI Cache (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Cache (two copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| OCI Cache (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| OCI Cache (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| OCI Cache (two copies) | Target list price · network GiB | 0 | USD/network GiB |
| OCI Cache (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Cache (two copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Cache (two copies) | Target list price · GiB-hour | 0.0194 | USD/GiB-hour |
| OCI Cache (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Cache (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Cache (two copies) | Target price guess · input token | 0 | USD/input token |
| OCI Cache (two copies) | Target price guess · output token | 0 | USD/output token |
| OCI Cache (two copies) | Target monthly base charge | 0 | USD/month |
| OCI Cache (two copies) | Target service minimum | 28.324 | USD/month |
| OCI Cache (two copies) | Minimum primary CPU | 2 | vCPU |
| OCI Cache (two copies) | Minimum primary RAM | 8 | GiB |
| OCI Cache (two copies) | Modeled cache SSD allocation (excluded) | 0 | GiB |
| OCI Cache (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| OCI Cache (two copies) | Allocated share of provisioned cost | 1 | fraction |
| OCI Cache (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Cache (two copies) | Planning peak / mean work | 2 | multiplier |
| OCI Cache (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Cache (two copies) | Resident state reserved in RAM | 0 | fraction |
| OCI Cache (two copies) | Planning disk utilization | 0.8 | fraction |
| OCI Cache (two copies) | Maintenance and log disk reserve | 0 | GiB |
| OCI Cache (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Cache (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Cache (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Cache (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Cache (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-east-1 → us-ashburn-1 (global list), 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 is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients are editable authored planning guesses, not measured capacity.
* The origin is the exact registered aws::1.0.0::elasticache 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.
* ElastiCache bills node-hours; the CPU and RAM rates are a cited two-node split, not separate provider SKUs.
* OCI bills OCI Cache per GB of node memory per hour for every node, primary and replicas: USD 0.0194 for nodes up to 10 GB; a larger node bills 0.0194 for its first 10 GB plus 0.0136 per additional GB (part B99591), which this rate overstates (a 12 GB node lists 0.2212 per hour, 0.0184 per GB). Each additional copy is another full-price node; OCI recommends at least three nodes for reliability, which the two-copy variant does not reach. 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.
* AWS Price List API, AmazonElastiCache offer: [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)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-8744a000ad1403da5956be9b24f35d8fe636a320` / `2026-10-22.planning.2`. Curve: `workload-4`.

Sources: [AWS Price List API, AmazonElastiCache offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonElastiCache/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

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.