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

# MySQL Flexible Server costs

> Compare MySQL Flexible Server backend choices using explicit service-adapter planning assumptions.

Tensor9 BYOC planning comparisons for `azure::1.0.0::mysql::flexible`, 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).

## Azure MySQL Flexible Server → Cloud SQL for MySQL

Origin API: `azure::1.0.0::mysql::flexible`. Target backend: `google::1.0.0::cloudsql::mysql`.

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

### Azure MySQL Flexible Server · Primary allocated compute

Estimated monthly service charges by Primary allocated compute. Adapter hosting and Tensor9 fees are excluded. Source: eastus; target: us-central1; currency: USD.

![Azure MySQL Flexible Server · Primary allocated compute: monthly service charges by Primary allocated compute. Exact values are in the following table.](/images/diagrams/service-cost/b0eca6130de737fbe80c85779b51d0637f0ca5c9a522478c0438f71765bb37c7-light.svg)

![Azure MySQL Flexible Server · Primary allocated compute: monthly service charges by Primary allocated compute. Exact values are in the following table.](/images/diagrams/service-cost/32d6a9364652bdfd2e92b818a8411e3761d06c91cfa1dc9d7ed1e6e60e250854-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.

| Primary allocated compute (vCPU-hours/month) | MySQL Flexible Server | Target scenario | Cloud SQL for MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 0 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 1460 | 124.83 | Cloud SQL for MySQL (one copy) | 118.178 | -6.652 |
| 1460 | 124.83 | Cloud SQL for MySQL (two copies) | 236.356 | 111.526 |
| 2920 | 249.66 | Cloud SQL for MySQL (one copy) | 219.356 | -30.304 |
| 2920 | 249.66 | Cloud SQL for MySQL (two copies) | 438.712 | 189.052 |
| 5840 | 499.32 | Cloud SQL for MySQL (one copy) | 421.712 | -77.608 |
| 5840 | 499.32 | Cloud SQL for MySQL (two copies) | 843.424 | 344.104 |
| 11680 | 998.64 | Cloud SQL for MySQL (one copy) | 826.424 | -172.216 |
| 11680 | 998.64 | Cloud SQL for MySQL (two copies) | 1652.848 | 654.208 |
| 23360 | 1997.28 | Cloud SQL for MySQL (one copy) | 1635.848 | -361.432 |
| 23360 | 1997.28 | Cloud SQL for MySQL (two copies) | 3271.696 | 1274.416 |
| 46720 | 3994.56 | Cloud SQL for MySQL (one copy) | 3254.696 | -739.864 |
| 46720 | 3994.56 | Cloud SQL for MySQL (two copies) | 6509.392 | 2514.832 |

**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-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 2 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 2 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 2920 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 4 | 4 | 16 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 2920 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 4 | 4 | 16 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 8 | 8 | 32 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 8 | 8 | 32 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 11680 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 16 | 16 | 64 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 11680 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 16 | 16 | 64 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 32 | 32 | 128 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 32 | 32 | 128 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 46720 vCPU-hours/month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 64 | 64 | 256 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 46720 vCPU-hours/month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 64 | 64 | 256 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (one copy) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (one copy) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (one copy) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (one copy) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (one copy) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud SQL for MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (two copies) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (two copies) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (two copies) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (two copies) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (two copies) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud SQL for MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* CPU allocation does not imply an achieved transaction rate. 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. eastus → 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* Cloud SQL Enterprise edition (MySQL) publishes separate vCPU, memory and SSD prices for zonal instances; a high-availability (regional) instance bills exactly twice each, which the standby copy reproduces. Enterprise Plus, committed-use discounts, backups (USD 0.08 per GiB-month) and idle IPv4 addresses (0.01 per hour) are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* Cloud SQL pricing: [https://cloud.google.com/sql/pricing](https://cloud.google.com/sql/pricing)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-e57f7ffe0ebc14b9a56d6bfe1599e4ef0c1ee6f2` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [Cloud SQL pricing](https://cloud.google.com/sql/pricing).

### Azure MySQL Flexible Server · Stored data

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

![Azure MySQL Flexible Server · Stored data: monthly service charges by Stored data. Exact values are in the following table.](/images/diagrams/service-cost/440e799987a7c760c81b94e4ed627677870da4b93810cac2d197df263e42506f-light.svg)

![Azure MySQL Flexible Server · Stored data: monthly service charges by Stored data. Exact values are in the following table.](/images/diagrams/service-cost/4af0bc051a86393c660633b6de13498f7a93764d2669da3e267e38b6457c7846-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.

| Stored data (GiB-month) | MySQL Flexible Server | Target scenario | Cloud SQL for MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 0 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 10 | 1.15 | Cloud SQL for MySQL (one copy) | 118.178 | 117.028 |
| 10 | 1.15 | Cloud SQL for MySQL (two copies) | 236.356 | 235.206 |
| 100 | 11.5 | Cloud SQL for MySQL (one copy) | 136.898 | 125.398 |
| 100 | 11.5 | Cloud SQL for MySQL (two copies) | 273.796 | 262.296 |
| 1000 | 115 | Cloud SQL for MySQL (one copy) | 1210.134 | 1095.134 |
| 1000 | 115 | Cloud SQL for MySQL (two copies) | 2420.268 | 2305.268 |
| 10000 | 1150 | Cloud SQL for MySQL (one copy) | Unpriced | Unavailable |
| 10000 | 1150 | Cloud SQL for MySQL (two copies) | Unpriced | Unavailable |
| 100000 | 11500 | Cloud SQL for MySQL (one copy) | Unpriced | Unavailable |
| 100000 | 11500 | Cloud SQL for MySQL (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 / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 10 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 10 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 10 | 150 | 100 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 10 | 150 | 100 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 16 | 100 | 1275 | 1000 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 16 | 100 | 1275 | 1000 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB-month / Cloud SQL for MySQL (one copy) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 10000 | `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 / Cloud SQL for MySQL (two copies) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 10000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 100000 GiB-month / Cloud SQL for MySQL (one copy) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 100000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM).; Required disk exceeds the planning model's 65,536 GiB bound. |
| 100000 GiB-month / Cloud SQL for MySQL (two copies) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 100000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM).; Required disk exceeds the planning model's 65,536 GiB bound. |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (one copy) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (one copy) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (one copy) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (one copy) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (one copy) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud SQL for MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (two copies) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (two copies) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (two copies) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (two copies) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (two copies) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud SQL for MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Request meters remain at their independently authored 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. eastus → 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* Cloud SQL Enterprise edition (MySQL) publishes separate vCPU, memory and SSD prices for zonal instances; a high-availability (regional) instance bills exactly twice each, which the standby copy reproduces. Enterprise Plus, committed-use discounts, backups (USD 0.08 per GiB-month) and idle IPv4 addresses (0.01 per hour) are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* Cloud SQL pricing: [https://cloud.google.com/sql/pricing](https://cloud.google.com/sql/pricing)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-e57f7ffe0ebc14b9a56d6bfe1599e4ef0c1ee6f2` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [Cloud SQL pricing](https://cloud.google.com/sql/pricing).

### Azure MySQL Flexible Server · Database writes

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

![Azure MySQL Flexible Server · Database writes: monthly service charges by Database writes. Exact values are in the following table.](/images/diagrams/service-cost/da2a892992b36ad212ab4bebf6ece5c11e8dd6fc2564d9f3b9402c9f5f23fe4a-light.svg)

![Azure MySQL Flexible Server · Database writes: monthly service charges by Database writes. Exact values are in the following table.](/images/diagrams/service-cost/193455924ee36f4c888c3817ec1f6fbd3915af482fc741ee6d02a28762bfff4e-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.

| Database writes (per second) | MySQL Flexible Server | Target scenario | Cloud SQL for MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 0 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 1 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 1 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 10 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 10 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 100 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 100 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 1000 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 1000 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |
| 10000 | 0 | Cloud SQL for MySQL (one copy) | 118.178 | 118.178 |
| 10000 | 0 | Cloud SQL for MySQL (two copies) | 236.356 | 236.356 |

**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 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 1 / 2 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 1 / 2 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 10 / 20 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 10 / 20 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 100 / 200 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 100 / 200 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 1000 / 2000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 1000 / 2000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Cloud SQL for MySQL (one copy) | PlanningAssumption | 10000 / 20000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Cloud SQL for MySQL (two copies) | PlanningAssumption | 10000 / 20000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (one copy) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (one copy) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (one copy) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (one copy) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (one copy) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (one copy) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud SQL for MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| Cloud SQL for MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| Cloud SQL for MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| Cloud SQL for MySQL (two copies) | Target price guess · read | 0 | USD/read |
| Cloud SQL for MySQL (two copies) | Target price guess · write | 0 | USD/write |
| Cloud SQL for MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for MySQL (two copies) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for MySQL (two copies) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for MySQL (two copies) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for MySQL (two copies) | Minimum primary disk | 100 | GiB |
| Cloud SQL for MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud SQL for MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Source compute and stored data remain independent; a throughput view needs explicit workload inputs. 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. eastus → 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* Cloud SQL Enterprise edition (MySQL) publishes separate vCPU, memory and SSD prices for zonal instances; a high-availability (regional) instance bills exactly twice each, which the standby copy reproduces. Enterprise Plus, committed-use discounts, backups (USD 0.08 per GiB-month) and idle IPv4 addresses (0.01 per hour) are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* Cloud SQL pricing: [https://cloud.google.com/sql/pricing](https://cloud.google.com/sql/pricing)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-e57f7ffe0ebc14b9a56d6bfe1599e4ef0c1ee6f2` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [Cloud SQL pricing](https://cloud.google.com/sql/pricing).

## Azure MySQL Flexible Server → RDS MySQL

Origin API: `azure::1.0.0::mysql::flexible`. Target backend: `aws::1.0.0::rds::mysql`.

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

### Azure MySQL Flexible Server · Primary allocated compute

Estimated monthly service charges by Primary allocated compute. Adapter hosting and Tensor9 fees are excluded. Source: eastus; target: us-east-1; currency: USD.

![Azure MySQL Flexible Server · Primary allocated compute: monthly service charges by Primary allocated compute. Exact values are in the following table.](/images/diagrams/service-cost/693418542b630f578c7cebc1507ee4df040d861226dc2dcdb5066272a2793003-light.svg)

![Azure MySQL Flexible Server · Primary allocated compute: monthly service charges by Primary allocated compute. Exact values are in the following table.](/images/diagrams/service-cost/b2a807feea0476041aecc1f666f31d50bdce9cdb8051cf8c91ca9e620080aea8-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.

| Primary allocated compute (vCPU-hours/month) | MySQL Flexible Server | Target scenario | RDS MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 0 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 1460 | 124.83 | RDS MySQL (one copy) | 136.33 | 11.5 |
| 1460 | 124.83 | RDS MySQL (two copies) | 272.66 | 147.83 |
| 2920 | 249.66 | RDS MySQL (one copy) | 261.16 | 11.5 |
| 2920 | 249.66 | RDS MySQL (two copies) | 522.32 | 272.66 |
| 5840 | 499.32 | RDS MySQL (one copy) | 510.82 | 11.5 |
| 5840 | 499.32 | RDS MySQL (two copies) | 1021.64 | 522.32 |
| 11680 | 998.64 | RDS MySQL (one copy) | 1010.14 | 11.5 |
| 11680 | 998.64 | RDS MySQL (two copies) | 2020.28 | 1021.64 |
| 23360 | 1997.28 | RDS MySQL (one copy) | 2008.78 | 11.5 |
| 23360 | 1997.28 | RDS MySQL (two copies) | 4017.56 | 2020.28 |
| 46720 | 3994.56 | RDS MySQL (one copy) | 4006.06 | 11.5 |
| 46720 | 3994.56 | RDS MySQL (two copies) | 8012.12 | 4017.56 |

**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-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 2 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1460 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 2 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 2920 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 4 | 4 | 16 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 2920 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 4 | 4 | 16 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 8 | 8 | 32 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 5840 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 8 | 8 | 32 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 11680 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 16 | 16 | 64 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 11680 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 16 | 16 | 64 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 32 | 32 | 128 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 23360 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 32 | 32 | 128 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 46720 vCPU-hours/month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 64 | 64 | 256 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 46720 vCPU-hours/month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 64 | 64 | 256 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| RDS MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (one copy) | Target price guess · read | 0 | USD/read |
| RDS MySQL (one copy) | Target price guess · write | 0 | USD/write |
| RDS MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (one copy) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (one copy) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (one copy) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (one copy) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (one copy) | Minimum primary disk | 100 | GiB |
| RDS MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| RDS MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| RDS MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (two copies) | Target price guess · read | 0 | USD/read |
| RDS MySQL (two copies) | Target price guess · write | 0 | USD/write |
| RDS MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (two copies) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (two copies) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (two copies) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (two copies) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (two copies) | Minimum primary disk | 100 | GiB |
| RDS MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| RDS MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* CPU allocation does not imply an achieved transaction rate. 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. eastus → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* RDS for MySQL on db.m6i, the class the RDS reference model uses: vCPU and memory rates decompose two same-vCPU instances that differ only in memory. Multi-AZ with one standby bills exactly twice the instance and gp3 storage, which the standby copy reproduces. gp3 includes 3,000 IOPS and 125 MiB/s below 400 GiB; provisioned IOPS (USD 0.02 per IOPS-month), throughput (0.08 per MiBps-month), Graviton classes (db.m7g/r7g decompose to 0.0485 per vCPU-hour and 0.008875 per GiB-hour) and reserved instances are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-5ad440e5920796f270acdf637ebd19abecf853f5` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

### Azure MySQL Flexible Server · Stored data

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

![Azure MySQL Flexible Server · Stored data: monthly service charges by Stored data. Exact values are in the following table.](/images/diagrams/service-cost/9355388f932ed835e8548cc3752f9e9336e4569c07e4b1724062fca5a2bda4fe-light.svg)

![Azure MySQL Flexible Server · Stored data: monthly service charges by Stored data. Exact values are in the following table.](/images/diagrams/service-cost/e6a33c487053da4a40ad39ef67ed95b6ef3e3d78773d83ce2b808b401b3f1c72-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.

| Stored data (GiB-month) | MySQL Flexible Server | Target scenario | RDS MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 0 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 10 | 1.15 | RDS MySQL (one copy) | 136.33 | 135.18 |
| 10 | 1.15 | RDS MySQL (two copies) | 272.66 | 271.51 |
| 100 | 11.5 | RDS MySQL (one copy) | 154.6725 | 143.1725 |
| 100 | 11.5 | RDS MySQL (two copies) | 309.345 | 297.845 |
| 1000 | 115 | RDS MySQL (one copy) | 1371.93 | 1256.93 |
| 1000 | 115 | RDS MySQL (two copies) | 2743.86 | 2628.86 |
| 10000 | 1150 | RDS MySQL (one copy) | Unpriced | Unavailable |
| 10000 | 1150 | RDS MySQL (two copies) | Unpriced | Unavailable |
| 100000 | 11500 | RDS MySQL (one copy) | Unpriced | Unavailable |
| 100000 | 11500 | RDS MySQL (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 / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB-month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 10 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB-month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 10 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 10 | 150 | 100 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB-month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 10 | 150 | 100 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 16 | 100 | 1275 | 1000 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB-month / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 16 | 100 | 1275 | 1000 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB-month / RDS MySQL (one copy) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 10000 | `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 / RDS MySQL (two copies) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 10000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 100000 GiB-month / RDS MySQL (one copy) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 100000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM).; Required disk exceeds the planning model's 65,536 GiB bound. |
| 100000 GiB-month / RDS MySQL (two copies) | Unpriced | 0 / 0 | 0 | Unpriced | Unpriced | Unpriced | 100000 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM).; Required disk exceeds the planning model's 65,536 GiB bound. |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| RDS MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (one copy) | Target price guess · read | 0 | USD/read |
| RDS MySQL (one copy) | Target price guess · write | 0 | USD/write |
| RDS MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (one copy) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (one copy) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (one copy) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (one copy) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (one copy) | Minimum primary disk | 100 | GiB |
| RDS MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| RDS MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| RDS MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (two copies) | Target price guess · read | 0 | USD/read |
| RDS MySQL (two copies) | Target price guess · write | 0 | USD/write |
| RDS MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (two copies) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (two copies) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (two copies) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (two copies) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (two copies) | Minimum primary disk | 100 | GiB |
| RDS MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| RDS MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Request meters remain at their independently authored 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. eastus → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* RDS for MySQL on db.m6i, the class the RDS reference model uses: vCPU and memory rates decompose two same-vCPU instances that differ only in memory. Multi-AZ with one standby bills exactly twice the instance and gp3 storage, which the standby copy reproduces. gp3 includes 3,000 IOPS and 125 MiB/s below 400 GiB; provisioned IOPS (USD 0.02 per IOPS-month), throughput (0.08 per MiBps-month), Graviton classes (db.m7g/r7g decompose to 0.0485 per vCPU-hour and 0.008875 per GiB-hour) and reserved instances are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-5ad440e5920796f270acdf637ebd19abecf853f5` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

### Azure MySQL Flexible Server · Database writes

Estimated monthly service charges by Database writes. Adapter hosting and Tensor9 fees are excluded. Source: eastus; target: us-east-1; currency: USD.

![Azure MySQL Flexible Server · Database writes: monthly service charges by Database writes. Exact values are in the following table.](/images/diagrams/service-cost/e9fe2b6cd2c67357335fb14b03eaef5c7da6db43735d38982fa9d45c6e62d07a-light.svg)

![Azure MySQL Flexible Server · Database writes: monthly service charges by Database writes. Exact values are in the following table.](/images/diagrams/service-cost/e2f37859380fa229503b5d064a8864f158fd40768f0c0e51a476b124e104fbd4-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.

| Database writes (per second) | MySQL Flexible Server | Target scenario | RDS MySQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 0 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 1 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 1 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 10 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 10 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 100 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 100 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 1000 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 1000 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |
| 10000 | 0 | RDS MySQL (one copy) | 136.33 | 136.33 |
| 10000 | 0 | RDS MySQL (two copies) | 272.66 | 272.66 |

**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 per second / RDS MySQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / RDS MySQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / RDS MySQL (one copy) | PlanningAssumption | 1 / 2 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / RDS MySQL (two copies) | PlanningAssumption | 1 / 2 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / RDS MySQL (one copy) | PlanningAssumption | 10 / 20 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / RDS MySQL (two copies) | PlanningAssumption | 10 / 20 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / RDS MySQL (one copy) | PlanningAssumption | 100 / 200 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / RDS MySQL (two copies) | PlanningAssumption | 100 / 200 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / RDS MySQL (one copy) | PlanningAssumption | 1000 / 2000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / RDS MySQL (two copies) | PlanningAssumption | 1000 / 2000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / RDS MySQL (one copy) | PlanningAssumption | 10000 / 20000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / RDS MySQL (two copies) | PlanningAssumption | 10000 / 20000 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| RDS MySQL (one copy) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (one copy) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (one copy) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (one copy) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (one copy) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (one copy) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (one copy) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (one copy) | Target price guess · read | 0 | USD/read |
| RDS MySQL (one copy) | Target price guess · write | 0 | USD/write |
| RDS MySQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (one copy) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (one copy) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (one copy) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (one copy) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (one copy) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (one copy) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (one copy) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (one copy) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (one copy) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (one copy) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (one copy) | Minimum primary disk | 100 | GiB |
| RDS MySQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| RDS MySQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (one copy) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (one copy) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| RDS MySQL (two copies) | Origin list price · Primary compute | 0.0855 | USD/vCPU-hours |
| RDS MySQL (two copies) | Origin list price · Primary memory | 0 | USD/GiB-hours |
| RDS MySQL (two copies) | Origin list price · Primary provisioned storage | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Origin list price · Database reads | 0 | USD/operations |
| RDS MySQL (two copies) | Origin list price · Database writes | 0 | USD/operations |
| RDS MySQL (two copies) | Target CPU / source CPU | 1 | multiplier |
| RDS MySQL (two copies) | Target RAM / source RAM | 1 | multiplier |
| RDS MySQL (two copies) | Target disk / source disk | 1 | multiplier |
| RDS MySQL (two copies) | Target price guess · read | 0 | USD/read |
| RDS MySQL (two copies) | Target price guess · write | 0 | USD/write |
| RDS MySQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| RDS MySQL (two copies) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| RDS MySQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| RDS MySQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| RDS MySQL (two copies) | Target list price · network GiB | 0.09 | USD/network GiB |
| RDS MySQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| RDS MySQL (two copies) | Target list price · vCPU-hour | 0.051 | USD/vCPU-hour |
| RDS MySQL (two copies) | Target list price · GiB-hour | 0.008625 | USD/GiB-hour |
| RDS MySQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| RDS MySQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| RDS MySQL (two copies) | Target price guess · input token | 0 | USD/input token |
| RDS MySQL (two copies) | Target price guess · output token | 0 | USD/output token |
| RDS MySQL (two copies) | Target monthly base charge | 0 | USD/month |
| RDS MySQL (two copies) | Target service minimum | 13.98 | USD/month |
| RDS MySQL (two copies) | Minimum primary CPU | 2 | vCPU |
| RDS MySQL (two copies) | Minimum primary RAM | 8 | GiB |
| RDS MySQL (two copies) | Minimum primary disk | 100 | GiB |
| RDS MySQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| RDS MySQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| RDS MySQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| RDS MySQL (two copies) | Planning peak / mean work | 2 | multiplier |
| RDS MySQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| RDS MySQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| RDS MySQL (two copies) | Planning disk utilization | 0.8 | fraction |
| RDS MySQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| RDS MySQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| RDS MySQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| RDS MySQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| RDS MySQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Source compute and stored data remain independent; a throughput view needs explicit workload inputs. 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. eastus → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Provisioned compute and RAM are priced by resource-hour; operations are independently authored. Database size cannot be inferred from dollars alone.
* Aurora/AlloyDB, MySQL/PostgreSQL and proxied targets retain their distinct backend contracts. HA, replicas and proxy allocations must be selected explicitly.
* Flexible Server memory is included in the vCore price; the memory meter is zero so RAM is not counted twice.
* RDS for MySQL on db.m6i, the class the RDS reference model uses: vCPU and memory rates decompose two same-vCPU instances that differ only in memory. Multi-AZ with one standby bills exactly twice the instance and gp3 storage, which the standby copy reproduces. gp3 includes 3,000 IOPS and 125 MiB/s below 400 GiB; provisioned IOPS (USD 0.02 per IOPS-month), throughput (0.08 per MiBps-month), Graviton classes (db.m7g/r7g decompose to 0.0485 per vCPU-hour and 0.008875 per GiB-hour) and reserved instances are not selected.
* 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.
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)
* AWS Price List API: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json)
* AWS Price List API, AWSDataTransfer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Aurora per-IO, serverless-capacity, backup and proxy tariffs; reserved/committed-use purchase options.
* 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-5ad440e5920796f270acdf637ebd19abecf853f5` / `2026-10-22.planning.2`. Curve: `workload-3`.

Sources: [Azure Retail Prices API](https://prices.azure.com/api/retail/prices), [AWS Price List API](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json), [AWS Price List API, AWSDataTransfer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json).

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


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