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

# SNS (Simple Notification Service) costs

> Compare SNS (Simple Notification Service) backend choices using explicit service-adapter planning assumptions.

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

## SNS Standard → Azure Database for PostgreSQL Flexible Server

Origin API: `aws::1.0.0::sns`. Target backend: `azure::1.0.0::postgresql::flexible`.

### SNS Standard · SNS publish billing units

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

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/d1457647f898af07f9d3a942c4c9126ee337b98127133cfd1aea16c0b6db8721-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/2b8f990c851aa8d9ead36867624023e898386942090eee6ec25eb2bca0deef8b-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | PostgreSQL Flexible Server | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | PostgreSQL Flexible Server (one copy) | 141.44 | 141.44 |
| 0 | 0 | PostgreSQL Flexible Server (two copies) | 282.88 | 282.88 |
| 1 | 1.314 | PostgreSQL Flexible Server (one copy) | 141.44 | 140.126 |
| 1 | 1.314 | PostgreSQL Flexible Server (two copies) | 282.88 | 281.566 |
| 10 | 13.14 | PostgreSQL Flexible Server (one copy) | 141.44 | 128.3 |
| 10 | 13.14 | PostgreSQL Flexible Server (two copies) | 282.88 | 269.74 |
| 100 | 131.4 | PostgreSQL Flexible Server (one copy) | 141.44 | 10.04 |
| 100 | 131.4 | PostgreSQL Flexible Server (two copies) | 282.88 | 151.48 |
| 1000 | 1314 | PostgreSQL Flexible Server (one copy) | 2090.54 | 776.54 |
| 1000 | 1314 | PostgreSQL Flexible Server (two copies) | 4181.08 | 2867.08 |
| 10000 | 13140 | PostgreSQL Flexible Server (one copy) | Unpriced | Unavailable |
| 10000 | 13140 | PostgreSQL Flexible Server (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 per second / PostgreSQL Flexible Server (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / PostgreSQL Flexible Server (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / PostgreSQL Flexible Server (one copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / PostgreSQL Flexible Server (two copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / PostgreSQL Flexible Server (one copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / PostgreSQL Flexible Server (two copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / PostgreSQL Flexible Server (one copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / PostgreSQL Flexible Server (two copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / PostgreSQL Flexible Server (one copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / PostgreSQL Flexible Server (two copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / PostgreSQL Flexible Server (one copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / PostgreSQL Flexible Server (two copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| PostgreSQL Flexible Server (one copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| PostgreSQL Flexible Server (one copy) | Representative publication size | 1024 | bytes |
| PostgreSQL Flexible Server (one copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| PostgreSQL Flexible Server (one copy) | Delivery attempts | 1 | attempts/destination |
| PostgreSQL Flexible Server (one copy) | Native broker consumer copies | 1 | copies |
| PostgreSQL Flexible Server (one copy) | Staging residence window | 60 | seconds |
| PostgreSQL Flexible Server (one copy) | Delivery row size | 256 | bytes |
| PostgreSQL Flexible Server (one copy) | Target price guess · read | 0 | USD/read |
| PostgreSQL Flexible Server (one copy) | Target price guess · write | 0 | USD/write |
| PostgreSQL Flexible Server (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| PostgreSQL Flexible Server (one copy) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| PostgreSQL Flexible Server (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| PostgreSQL Flexible Server (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| PostgreSQL Flexible Server (one copy) | Target list price · network GiB | 0.087 | USD/network GiB |
| PostgreSQL Flexible Server (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| PostgreSQL Flexible Server (one copy) | Target list price · vCPU-hour | 0.053 | USD/vCPU-hour |
| PostgreSQL Flexible Server (one copy) | Target list price · GiB-hour | 0.009 | USD/GiB-hour |
| PostgreSQL Flexible Server (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| PostgreSQL Flexible Server (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| PostgreSQL Flexible Server (one copy) | Target price guess · input token | 0 | USD/input token |
| PostgreSQL Flexible Server (one copy) | Target price guess · output token | 0 | USD/output token |
| PostgreSQL Flexible Server (one copy) | Target monthly base charge | 0 | USD/month |
| PostgreSQL Flexible Server (one copy) | Target service minimum | 16.09 | USD/month |
| PostgreSQL Flexible Server (one copy) | Minimum primary CPU | 2 | vCPU |
| PostgreSQL Flexible Server (one copy) | Minimum primary RAM | 8 | GiB |
| PostgreSQL Flexible Server (one copy) | Minimum primary disk | 100 | GiB |
| PostgreSQL Flexible Server (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| PostgreSQL Flexible Server (one copy) | Allocated share of provisioned cost | 1 | fraction |
| PostgreSQL Flexible Server (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| PostgreSQL Flexible Server (one copy) | Planning peak / mean work | 2 | multiplier |
| PostgreSQL Flexible Server (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| PostgreSQL Flexible Server (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| PostgreSQL Flexible Server (one copy) | Planning disk utilization | 0.8 | fraction |
| PostgreSQL Flexible Server (one copy) | Maintenance and log disk reserve | 20 | GiB |
| PostgreSQL Flexible Server (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| PostgreSQL Flexible Server (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| PostgreSQL Flexible Server (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| PostgreSQL Flexible Server (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| PostgreSQL Flexible Server (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| PostgreSQL Flexible Server (two copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| PostgreSQL Flexible Server (two copies) | Representative publication size | 1024 | bytes |
| PostgreSQL Flexible Server (two copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| PostgreSQL Flexible Server (two copies) | Delivery attempts | 1 | attempts/destination |
| PostgreSQL Flexible Server (two copies) | Native broker consumer copies | 1 | copies |
| PostgreSQL Flexible Server (two copies) | Staging residence window | 60 | seconds |
| PostgreSQL Flexible Server (two copies) | Delivery row size | 256 | bytes |
| PostgreSQL Flexible Server (two copies) | Target price guess · read | 0 | USD/read |
| PostgreSQL Flexible Server (two copies) | Target price guess · write | 0 | USD/write |
| PostgreSQL Flexible Server (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| PostgreSQL Flexible Server (two copies) | Target list price · GiB-month | 0.115 | USD/GiB-month |
| PostgreSQL Flexible Server (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| PostgreSQL Flexible Server (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| PostgreSQL Flexible Server (two copies) | Target list price · network GiB | 0.087 | USD/network GiB |
| PostgreSQL Flexible Server (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| PostgreSQL Flexible Server (two copies) | Target list price · vCPU-hour | 0.053 | USD/vCPU-hour |
| PostgreSQL Flexible Server (two copies) | Target list price · GiB-hour | 0.009 | USD/GiB-hour |
| PostgreSQL Flexible Server (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| PostgreSQL Flexible Server (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| PostgreSQL Flexible Server (two copies) | Target price guess · input token | 0 | USD/input token |
| PostgreSQL Flexible Server (two copies) | Target price guess · output token | 0 | USD/output token |
| PostgreSQL Flexible Server (two copies) | Target monthly base charge | 0 | USD/month |
| PostgreSQL Flexible Server (two copies) | Target service minimum | 16.09 | USD/month |
| PostgreSQL Flexible Server (two copies) | Minimum primary CPU | 2 | vCPU |
| PostgreSQL Flexible Server (two copies) | Minimum primary RAM | 8 | GiB |
| PostgreSQL Flexible Server (two copies) | Minimum primary disk | 100 | GiB |
| PostgreSQL Flexible Server (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| PostgreSQL Flexible Server (two copies) | Allocated share of provisioned cost | 1 | fraction |
| PostgreSQL Flexible Server (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| PostgreSQL Flexible Server (two copies) | Planning peak / mean work | 2 | multiplier |
| PostgreSQL Flexible Server (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| PostgreSQL Flexible Server (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| PostgreSQL Flexible Server (two copies) | Planning disk utilization | 0.8 | fraction |
| PostgreSQL Flexible Server (two copies) | Maintenance and log disk reserve | 20 | GiB |
| PostgreSQL Flexible Server (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| PostgreSQL Flexible Server (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| PostgreSQL Flexible Server (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| PostgreSQL Flexible Server (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| PostgreSQL Flexible Server (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Azure Database for PostgreSQL Flexible Server bills vCores with a fixed memory ratio per series; the vCPU and memory rates decompose the General Purpose and Memory Optimized v5 prices. High availability bills the standby's compute and storage as a second copy. The minimum is the smallest Burstable server, which does not support high availability; the smallest General Purpose server (2 vCores) costs USD 133.62 per month. Additional IOPS, backup storage and reserved capacity 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

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

Excluded costs and workload features:

* 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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-5509ad3b541b78f7f7e9384341a1b6984b0235b6` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## SNS Standard → Azure Service Bus Premium

Origin API: `aws::1.0.0::sns`. Target backend: `azure::1.0.0::servicebus::premium`.

### SNS Standard · SNS publish billing units

Estimated monthly service charges by SNS publish billing units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: East US; currency: USD.

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/dc49c10300691b8765dc8da6bb7d5681af260dff4a4520a986e8e89eabcf4e41-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/d367e641202d5991131dca10898d2cd91dabb649aae9716a4ca1216334b47b1b-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | Azure Service Bus Premium | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Service Bus Premium (one staging copy) | 795.253 | 795.253 |
| 0 | 0 | Azure Service Bus Premium (two staging copies) | 913.431 | 913.431 |
| 1 | 1.314 | Azure Service Bus Premium (one staging copy) | 795.253 | 793.939 |
| 1 | 1.314 | Azure Service Bus Premium (two staging copies) | 913.431 | 912.117 |
| 10 | 13.14 | Azure Service Bus Premium (one staging copy) | 795.253 | 782.113 |
| 10 | 13.14 | Azure Service Bus Premium (two staging copies) | 913.431 | 900.291 |
| 100 | 131.4 | Azure Service Bus Premium (one staging copy) | 795.253 | 663.853 |
| 100 | 131.4 | Azure Service Bus Premium (two staging copies) | 913.431 | 782.031 |
| 1000 | 1314 | Azure Service Bus Premium (one staging copy) | 2312.923 | 998.923 |
| 1000 | 1314 | Azure Service Bus Premium (two staging copies) | 3948.771 | 2634.771 |
| 10000 | 13140 | Azure Service Bus Premium (one staging copy) | Unpriced | Unavailable |
| 10000 | 13140 | Azure Service Bus Premium (two staging 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 per second / Azure Service Bus Premium (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Azure Service Bus Premium (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Service Bus Premium (one staging copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Service Bus Premium (two staging copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Service Bus Premium (one staging copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Service Bus Premium (two staging copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Service Bus Premium (one staging copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Service Bus Premium (two staging copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Service Bus Premium (one staging copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Service Bus Premium (two staging copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Azure Service Bus Premium (one staging copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Azure Service Bus Premium (two staging copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Service Bus Premium (one staging copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Azure Service Bus Premium (one staging copy) | Representative publication size | 1024 | bytes |
| Azure Service Bus Premium (one staging copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Azure Service Bus Premium (one staging copy) | Delivery attempts | 1 | attempts/destination |
| Azure Service Bus Premium (one staging copy) | Native broker consumer copies | 1 | copies |
| Azure Service Bus Premium (one staging copy) | Staging residence window | 60 | seconds |
| Azure Service Bus Premium (one staging copy) | Delivery row size | 256 | bytes |
| Azure Service Bus Premium (one staging copy) | Target price guess · read | 0 | USD/read |
| Azure Service Bus Premium (one staging copy) | Target price guess · write | 0 | USD/write |
| Azure Service Bus Premium (one staging copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Service Bus Premium (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Service Bus Premium (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Service Bus Premium (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Service Bus Premium (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Service Bus Premium (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Service Bus Premium (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Service Bus Premium (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Service Bus Premium (one staging copy) | Target list price · resource-hour | 0.9275 | USD/resource-hour |
| Azure Service Bus Premium (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Service Bus Premium (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Azure Service Bus Premium (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Azure Service Bus Premium (one staging copy) | Target monthly base charge | 0 | USD/month |
| Azure Service Bus Premium (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Azure Service Bus Premium (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Azure Service Bus Premium (one staging copy) | Minimum primary RAM | 8 | GiB |
| Azure Service Bus Premium (one staging copy) | Minimum primary disk | 100 | GiB |
| Azure Service Bus Premium (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Service Bus Premium (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Service Bus Premium (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Service Bus Premium (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Azure Service Bus Premium (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Service Bus Premium (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Service Bus Premium (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Azure Service Bus Premium (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Azure Service Bus Premium (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Service Bus Premium (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Service Bus Premium (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Service Bus Premium (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Service Bus Premium (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Service Bus Premium (two staging copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Azure Service Bus Premium (two staging copies) | Representative publication size | 1024 | bytes |
| Azure Service Bus Premium (two staging copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Azure Service Bus Premium (two staging copies) | Delivery attempts | 1 | attempts/destination |
| Azure Service Bus Premium (two staging copies) | Native broker consumer copies | 1 | copies |
| Azure Service Bus Premium (two staging copies) | Staging residence window | 60 | seconds |
| Azure Service Bus Premium (two staging copies) | Delivery row size | 256 | bytes |
| Azure Service Bus Premium (two staging copies) | Target price guess · read | 0 | USD/read |
| Azure Service Bus Premium (two staging copies) | Target price guess · write | 0 | USD/write |
| Azure Service Bus Premium (two staging copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Service Bus Premium (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Service Bus Premium (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Service Bus Premium (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Service Bus Premium (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Service Bus Premium (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Service Bus Premium (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Service Bus Premium (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Service Bus Premium (two staging copies) | Target list price · resource-hour | 0.9275 | USD/resource-hour |
| Azure Service Bus Premium (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Service Bus Premium (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Azure Service Bus Premium (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Azure Service Bus Premium (two staging copies) | Target monthly base charge | 0 | USD/month |
| Azure Service Bus Premium (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Azure Service Bus Premium (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Azure Service Bus Premium (two staging copies) | Minimum primary RAM | 8 | GiB |
| Azure Service Bus Premium (two staging copies) | Minimum primary disk | 100 | GiB |
| Azure Service Bus Premium (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Service Bus Premium (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Service Bus Premium (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Service Bus Premium (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Azure Service Bus Premium (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Service Bus Premium (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Service Bus Premium (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Azure Service Bus Premium (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Azure Service Bus Premium (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Service Bus Premium (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Service Bus Premium (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Service Bus Premium (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Service Bus Premium (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → East US, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Azure Service Bus Premium bills only messaging-unit hours: no operation, storage (1 TB per messaging unit included) or CPU/RAM charge. Messaging units are sized from published and delivered bytes at Microsoft's benchmark of about 4 MB/s per unit each way and its 75% CPU scale-up guidance, with one always-allocated unit (USD 677.08/month). Azure sells 1, 2, 4, 8 or 16 units per namespace; the model rounds to whole units, not to those steps. Partitioned namespaces and geo-replication multiply the units.
* 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

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

Excluded costs and workload features:

* 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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-5d8758f4760e8dfc158fc904f7585aed1dbf4fed` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## SNS Standard → Azure Service Bus Standard

Origin API: `aws::1.0.0::sns`. Target backend: `azure::1.0.0::servicebus`.

### SNS Standard · SNS publish billing units

Estimated monthly service charges by SNS publish billing units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: East US; currency: USD.

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/facfa7a36d9ce105ee5fb54250056392a8936414cf2b1ab864f102975c5868f5-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/098492a767ed8330060a47a9aec589b11967f9438fa0ac3b58f5aba22bd920a2-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | Azure Service Bus | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Service Bus (one staging copy) | 127.98993 | 127.98993 |
| 0 | 0 | Azure Service Bus (two staging copies) | 246.16793 | 246.16793 |
| 1 | 1.314 | Azure Service Bus (one staging copy) | 132.30673 | 130.99273 |
| 1 | 1.314 | Azure Service Bus (two staging copies) | 250.48473 | 249.17073 |
| 10 | 13.14 | Azure Service Bus (one staging copy) | 239.56993 | 226.42993 |
| 10 | 13.14 | Azure Service Bus (two staging copies) | 357.74793 | 344.60793 |
| 100 | 131.4 | Azure Service Bus (one staging copy) | 1067.38993 | 935.98993 |
| 100 | 131.4 | Azure Service Bus (two staging copies) | 1185.56793 | 1054.16793 |
| 1000 | 1314 | Azure Service Bus (one staging copy) | 6094.45993 | 4780.45993 |
| 1000 | 1314 | Azure Service Bus (two staging copies) | 7730.30793 | 6416.30793 |
| 10000 | 13140 | Azure Service Bus (one staging copy) | Unpriced | Unavailable |
| 10000 | 13140 | Azure Service Bus (two staging 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 per second / Azure Service Bus (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Azure Service Bus (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Service Bus (one staging copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Service Bus (two staging copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Service Bus (one staging copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Service Bus (two staging copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Service Bus (one staging copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Service Bus (two staging copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Service Bus (one staging copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Service Bus (two staging copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Azure Service Bus (one staging copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Azure Service Bus (two staging copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Service Bus (one staging copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Azure Service Bus (one staging copy) | Representative publication size | 1024 | bytes |
| Azure Service Bus (one staging copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Azure Service Bus (one staging copy) | Delivery attempts | 1 | attempts/destination |
| Azure Service Bus (one staging copy) | Native broker consumer copies | 1 | copies |
| Azure Service Bus (one staging copy) | Staging residence window | 60 | seconds |
| Azure Service Bus (one staging copy) | Delivery row size | 256 | bytes |
| Azure Service Bus (one staging copy) | Target price guess · read | 0 | USD/read |
| Azure Service Bus (one staging copy) | Target price guess · write | 0 | USD/write |
| Azure Service Bus (one staging copy) | Target list price · provider operation | 0.0000008 | USD/provider operation |
| Azure Service Bus (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Service Bus (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Service Bus (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Service Bus (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Service Bus (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Service Bus (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Service Bus (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Service Bus (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Service Bus (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Service Bus (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Azure Service Bus (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Azure Service Bus (one staging copy) | Included before billing · provider operation | 13000000 | provider operation |
| Azure Service Bus (one staging copy) | Target monthly base charge · list price | 9.81193 | USD/month |
| Azure Service Bus (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Azure Service Bus (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Azure Service Bus (one staging copy) | Minimum primary RAM | 8 | GiB |
| Azure Service Bus (one staging copy) | Minimum primary disk | 100 | GiB |
| Azure Service Bus (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Service Bus (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Service Bus (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Service Bus (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Azure Service Bus (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Service Bus (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Service Bus (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Azure Service Bus (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Azure Service Bus (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Service Bus (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Service Bus (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Service Bus (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Service Bus (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Service Bus (two staging copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Azure Service Bus (two staging copies) | Representative publication size | 1024 | bytes |
| Azure Service Bus (two staging copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Azure Service Bus (two staging copies) | Delivery attempts | 1 | attempts/destination |
| Azure Service Bus (two staging copies) | Native broker consumer copies | 1 | copies |
| Azure Service Bus (two staging copies) | Staging residence window | 60 | seconds |
| Azure Service Bus (two staging copies) | Delivery row size | 256 | bytes |
| Azure Service Bus (two staging copies) | Target price guess · read | 0 | USD/read |
| Azure Service Bus (two staging copies) | Target price guess · write | 0 | USD/write |
| Azure Service Bus (two staging copies) | Target list price · provider operation | 0.0000008 | USD/provider operation |
| Azure Service Bus (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Service Bus (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Service Bus (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Service Bus (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Service Bus (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Service Bus (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Service Bus (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Service Bus (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Service Bus (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Service Bus (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Azure Service Bus (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Azure Service Bus (two staging copies) | Included before billing · provider operation | 13000000 | provider operation |
| Azure Service Bus (two staging copies) | Target monthly base charge · list price | 9.81193 | USD/month |
| Azure Service Bus (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Azure Service Bus (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Azure Service Bus (two staging copies) | Minimum primary RAM | 8 | GiB |
| Azure Service Bus (two staging copies) | Minimum primary disk | 100 | GiB |
| Azure Service Bus (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Service Bus (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Service Bus (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Service Bus (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Azure Service Bus (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Service Bus (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Service Bus (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Azure Service Bus (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Azure Service Bus (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Service Bus (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Service Bus (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Service Bus (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Service Bus (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → East US, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Azure Service Bus Standard bills a namespace base charge that includes 13 million operations a month, then graduated per-operation prices: USD 0.80 per million to 100 million, 0.50 to 2,500 million and 0.20 beyond. An operation is any API call (send, receive, complete) per 64 KB of message; the family's managed operations count calls, not 64 KB units. Standard has no storage charge (queue size quota up to 5 GB is included). More than 1,000 brokered connections bill USD 0.03 per connection-month, which this profile does not model.
* 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

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

Excluded costs and workload features:

* 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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-2e3ff4f7d5951d40a033b7c75c6e4e8982ed8483` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## SNS Standard → Google Cloud Pub/Sub

Origin API: `aws::1.0.0::sns`. Target backend: `google::1.0.0::pubsub`.

### SNS Standard · SNS publish billing units

Estimated monthly service charges by SNS publish billing units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/9950c3c86c2b22fb1639edd0109d881aaf72f40a3d51984e34161a23f4546128-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/42f32d72d53b61799fa08e8861fd3348b0068dff61616dda1265d855752ce32a-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | Pub/Sub | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Pub/Sub (one staging copy) | 118.178 | 118.178 |
| 0 | 0 | Pub/Sub (two staging copies) | 236.356 | 236.356 |
| 1 | 1.314 | Pub/Sub (one staging copy) | 118.3738282947540283203125 | 117.0598282947540283203125 |
| 1 | 1.314 | Pub/Sub (two staging copies) | 236.5518282947540283203125 | 235.2378282947540283203125 |
| 10 | 13.14 | Pub/Sub (one staging copy) | 120.136282947540283203125 | 106.996282947540283203125 |
| 10 | 13.14 | Pub/Sub (two staging copies) | 238.314282947540283203125 | 225.174282947540283203125 |
| 100 | 131.4 | Pub/Sub (one staging copy) | 137.76082947540283203125 | 6.36082947540283203125 |
| 100 | 131.4 | Pub/Sub (two staging copies) | 255.93882947540283203125 | 124.53882947540283203125 |
| 1000 | 1314 | Pub/Sub (one staging copy) | 1831.6762947540283203125 | 517.6762947540283203125 |
| 1000 | 1314 | Pub/Sub (two staging copies) | 3467.5242947540283203125 | 2153.5242947540283203125 |
| 10000 | 13140 | Pub/Sub (one staging copy) | Unpriced | Unavailable |
| 10000 | 13140 | Pub/Sub (two staging 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 per second / Pub/Sub (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Pub/Sub (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Pub/Sub (one staging copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Pub/Sub (two staging copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Pub/Sub (one staging copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Pub/Sub (two staging copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Pub/Sub (one staging copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Pub/Sub (two staging copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Pub/Sub (one staging copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Pub/Sub (two staging copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Pub/Sub (one staging copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Pub/Sub (two staging copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Pub/Sub (one staging copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Pub/Sub (one staging copy) | Representative publication size | 1024 | bytes |
| Pub/Sub (one staging copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Pub/Sub (one staging copy) | Delivery attempts | 1 | attempts/destination |
| Pub/Sub (one staging copy) | Native broker consumer copies | 1 | copies |
| Pub/Sub (one staging copy) | Staging residence window | 60 | seconds |
| Pub/Sub (one staging copy) | Delivery row size | 256 | bytes |
| Pub/Sub (one staging copy) | Target price guess · read | 0 | USD/read |
| Pub/Sub (one staging copy) | Target price guess · write | 0 | USD/write |
| Pub/Sub (one staging copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Pub/Sub (one staging copy) | Target list price · GiB-month | 0.27 | USD/GiB-month |
| Pub/Sub (one staging copy) | Target list price · published GiB | 0.0390625 | USD/published GiB |
| Pub/Sub (one staging copy) | Target list price · delivered GiB | 0.0390625 | USD/delivered GiB |
| Pub/Sub (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Pub/Sub (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Pub/Sub (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Pub/Sub (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Pub/Sub (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Pub/Sub (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Pub/Sub (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Pub/Sub (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Pub/Sub (one staging copy) | Target monthly base charge | 0 | USD/month |
| Pub/Sub (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Pub/Sub (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Pub/Sub (one staging copy) | Minimum primary RAM | 8 | GiB |
| Pub/Sub (one staging copy) | Minimum primary disk | 100 | GiB |
| Pub/Sub (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Pub/Sub (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Pub/Sub (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Pub/Sub (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Pub/Sub (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Pub/Sub (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Pub/Sub (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Pub/Sub (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Pub/Sub (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Pub/Sub (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Pub/Sub (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Pub/Sub (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Pub/Sub (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Pub/Sub (two staging copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Pub/Sub (two staging copies) | Representative publication size | 1024 | bytes |
| Pub/Sub (two staging copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Pub/Sub (two staging copies) | Delivery attempts | 1 | attempts/destination |
| Pub/Sub (two staging copies) | Native broker consumer copies | 1 | copies |
| Pub/Sub (two staging copies) | Staging residence window | 60 | seconds |
| Pub/Sub (two staging copies) | Delivery row size | 256 | bytes |
| Pub/Sub (two staging copies) | Target price guess · read | 0 | USD/read |
| Pub/Sub (two staging copies) | Target price guess · write | 0 | USD/write |
| Pub/Sub (two staging copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Pub/Sub (two staging copies) | Target list price · GiB-month | 0.27 | USD/GiB-month |
| Pub/Sub (two staging copies) | Target list price · published GiB | 0.0390625 | USD/published GiB |
| Pub/Sub (two staging copies) | Target list price · delivered GiB | 0.0390625 | USD/delivered GiB |
| Pub/Sub (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Pub/Sub (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Pub/Sub (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Pub/Sub (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Pub/Sub (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Pub/Sub (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Pub/Sub (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Pub/Sub (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Pub/Sub (two staging copies) | Target monthly base charge | 0 | USD/month |
| Pub/Sub (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Pub/Sub (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Pub/Sub (two staging copies) | Minimum primary RAM | 8 | GiB |
| Pub/Sub (two staging copies) | Minimum primary disk | 100 | GiB |
| Pub/Sub (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Pub/Sub (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Pub/Sub (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Pub/Sub (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Pub/Sub (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Pub/Sub (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Pub/Sub (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Pub/Sub (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Pub/Sub (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Pub/Sub (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Pub/Sub (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Pub/Sub (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Pub/Sub (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Google Pub/Sub bills published and delivered bytes at the Message Delivery Basic rate and retained messages per GiB-month. Each request is billed at no less than 1,000 bytes; the family's batching and delivery assumptions must represent that. The first 10 GiB of combined throughput a month is free per billing account and is not applied. BigQuery and Cloud Storage subscriptions bill USD 50 per TiB instead. Unacknowledged messages younger than one day bill no storage.
* 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* Pub/Sub pricing: [https://cloud.google.com/pubsub/pricing](https://cloud.google.com/pubsub/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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-5d3d0327635e1738d279839e37f45523e2cd9b39` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonSNS offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json), [Pub/Sub pricing](https://cloud.google.com/pubsub/pricing).

## SNS Standard → Google Cloud SQL for PostgreSQL

Origin API: `aws::1.0.0::sns`. Target backend: `google::1.0.0::cloudsql::postgresql`.

### SNS Standard · SNS publish billing units

Estimated monthly service charges by SNS publish billing units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/1884356e70f4b86e3b84af3a787a88b32a0558ed15a13ff048bba9657a1b7fc1-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/78c1fe920e72b2e2b2d7e2171cc01ea0385d4394fd253561d7d2f42eb7e15cc7-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | Cloud SQL for PostgreSQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Cloud SQL for PostgreSQL (one copy) | 118.178 | 118.178 |
| 0 | 0 | Cloud SQL for PostgreSQL (two copies) | 236.356 | 236.356 |
| 1 | 1.314 | Cloud SQL for PostgreSQL (one copy) | 118.178 | 116.864 |
| 1 | 1.314 | Cloud SQL for PostgreSQL (two copies) | 236.356 | 235.042 |
| 10 | 13.14 | Cloud SQL for PostgreSQL (one copy) | 118.178 | 105.038 |
| 10 | 13.14 | Cloud SQL for PostgreSQL (two copies) | 236.356 | 223.216 |
| 100 | 131.4 | Cloud SQL for PostgreSQL (one copy) | 118.178 | -13.222 |
| 100 | 131.4 | Cloud SQL for PostgreSQL (two copies) | 236.356 | 104.956 |
| 1000 | 1314 | Cloud SQL for PostgreSQL (one copy) | 1635.848 | 321.848 |
| 1000 | 1314 | Cloud SQL for PostgreSQL (two copies) | 3271.696 | 1957.696 |
| 10000 | 13140 | Cloud SQL for PostgreSQL (one copy) | Unpriced | Unavailable |
| 10000 | 13140 | Cloud SQL for PostgreSQL (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 per second / Cloud SQL for PostgreSQL (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 PostgreSQL (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 PostgreSQL (one copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Cloud SQL for PostgreSQL (two copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud SQL for PostgreSQL (one copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud SQL for PostgreSQL (two copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud SQL for PostgreSQL (one copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud SQL for PostgreSQL (two copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud SQL for PostgreSQL (one copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud SQL for PostgreSQL (two copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Cloud SQL for PostgreSQL (one copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Cloud SQL for PostgreSQL (two copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud SQL for PostgreSQL (one copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Cloud SQL for PostgreSQL (one copy) | Representative publication size | 1024 | bytes |
| Cloud SQL for PostgreSQL (one copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Cloud SQL for PostgreSQL (one copy) | Delivery attempts | 1 | attempts/destination |
| Cloud SQL for PostgreSQL (one copy) | Native broker consumer copies | 1 | copies |
| Cloud SQL for PostgreSQL (one copy) | Staging residence window | 60 | seconds |
| Cloud SQL for PostgreSQL (one copy) | Delivery row size | 256 | bytes |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · read | 0 | USD/read |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · write | 0 | USD/write |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for PostgreSQL (one copy) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for PostgreSQL (one copy) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for PostgreSQL (one copy) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for PostgreSQL (one copy) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for PostgreSQL (one copy) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for PostgreSQL (one copy) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for PostgreSQL (one copy) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for PostgreSQL (one copy) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for PostgreSQL (one copy) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for PostgreSQL (one copy) | Minimum primary disk | 100 | GiB |
| Cloud SQL for PostgreSQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud SQL for PostgreSQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for PostgreSQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for PostgreSQL (one copy) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for PostgreSQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for PostgreSQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for PostgreSQL (one copy) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for PostgreSQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for PostgreSQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for PostgreSQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for PostgreSQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for PostgreSQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for PostgreSQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud SQL for PostgreSQL (two copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| Cloud SQL for PostgreSQL (two copies) | Representative publication size | 1024 | bytes |
| Cloud SQL for PostgreSQL (two copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| Cloud SQL for PostgreSQL (two copies) | Delivery attempts | 1 | attempts/destination |
| Cloud SQL for PostgreSQL (two copies) | Native broker consumer copies | 1 | copies |
| Cloud SQL for PostgreSQL (two copies) | Staging residence window | 60 | seconds |
| Cloud SQL for PostgreSQL (two copies) | Delivery row size | 256 | bytes |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · read | 0 | USD/read |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · write | 0 | USD/write |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Cloud SQL for PostgreSQL (two copies) | Target list price · GiB-month | 0.17 | USD/GiB-month |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud SQL for PostgreSQL (two copies) | Target list price · network GiB | 0.19 | USD/network GiB |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud SQL for PostgreSQL (two copies) | Target list price · vCPU-hour | 0.0413 | USD/vCPU-hour |
| Cloud SQL for PostgreSQL (two copies) | Target list price · GiB-hour | 0.007 | USD/GiB-hour |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · input token | 0 | USD/input token |
| Cloud SQL for PostgreSQL (two copies) | Target price guess · output token | 0 | USD/output token |
| Cloud SQL for PostgreSQL (two copies) | Target monthly base charge | 0 | USD/month |
| Cloud SQL for PostgreSQL (two copies) | Target service minimum | 9.365 | USD/month |
| Cloud SQL for PostgreSQL (two copies) | Minimum primary CPU | 2 | vCPU |
| Cloud SQL for PostgreSQL (two copies) | Minimum primary RAM | 8 | GiB |
| Cloud SQL for PostgreSQL (two copies) | Minimum primary disk | 100 | GiB |
| Cloud SQL for PostgreSQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud SQL for PostgreSQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud SQL for PostgreSQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud SQL for PostgreSQL (two copies) | Planning peak / mean work | 2 | multiplier |
| Cloud SQL for PostgreSQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud SQL for PostgreSQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud SQL for PostgreSQL (two copies) | Planning disk utilization | 0.8 | fraction |
| Cloud SQL for PostgreSQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud SQL for PostgreSQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud SQL for PostgreSQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud SQL for PostgreSQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud SQL for PostgreSQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud SQL for PostgreSQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Cloud SQL Enterprise edition (PostgreSQL) 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* 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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-56469bafbc69bb655a97cbd8145f3a1d5d0f6ce1` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonSNS offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json), [Cloud SQL pricing](https://cloud.google.com/sql/pricing).

## SNS Standard → PostgreSQL

Origin API: `aws::1.0.0::sns`. Target backend: `postgres::1.0.0::database`.

### SNS Standard · SNS publish billing units

Estimated monthly service charges by SNS publish billing units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/b2d3199e3b3ac7a7875becd30d94aa646e2de85f13db76f4a2e63500d0885e5b-light.svg)

![SNS Standard · SNS publish billing units: monthly service charges by SNS publish billing units. Exact values are in the following table.](/images/diagrams/service-cost/27d8d52a76fb0bf90a93accdcbbb4f94056844ae21c2e52fa0d935536a875eaf-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.

| SNS publish billing units (per second) | SNS (Simple Notification Service) | Target scenario | PostgreSQL | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | PostgreSQL (one copy) | 80.89614 | 80.89614 |
| 0 | 0 | PostgreSQL (two copies) | 161.79228 | 161.79228 |
| 1 | 1.314 | PostgreSQL (one copy) | 80.89614 | 79.58214 |
| 1 | 1.314 | PostgreSQL (two copies) | 161.79228 | 160.47828 |
| 10 | 13.14 | PostgreSQL (one copy) | 80.89614 | 67.75614 |
| 10 | 13.14 | PostgreSQL (two copies) | 161.79228 | 148.65228 |
| 100 | 131.4 | PostgreSQL (one copy) | 80.89614 | -50.50386 |
| 100 | 131.4 | PostgreSQL (two copies) | 161.79228 | 30.39228 |
| 1000 | 1314 | PostgreSQL (one copy) | 1144.33824 | -169.66176 |
| 1000 | 1314 | PostgreSQL (two copies) | 2288.67648 | 974.67648 |
| 10000 | 13140 | PostgreSQL (one copy) | Unpriced | Unavailable |
| 10000 | 13140 | PostgreSQL (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 per second / PostgreSQL (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / PostgreSQL (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / PostgreSQL (one copy) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / PostgreSQL (two copies) | PlanningAssumption | 10 / 20 | 0.01904761904761904761904761904761905 | 2 | 8 | 100 | 0.00010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / PostgreSQL (one copy) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / PostgreSQL (two copies) | PlanningAssumption | 100 / 200 | 0.1904761904761904761904761904761905 | 2 | 8 | 100 | 0.0010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / PostgreSQL (one copy) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / PostgreSQL (two copies) | PlanningAssumption | 1000 / 2000 | 1.904761904761904761904761904761905 | 2 | 8 | 100 | 0.010013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / PostgreSQL (one copy) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / PostgreSQL (two copies) | PlanningAssumption | 10000 / 20000 | 19.04761904761904761904761904761905 | 32 | 128 | 100 | 0.10013580322265625 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / PostgreSQL (one copy) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / PostgreSQL (two copies) | Unpriced | 100000 / 200000 | 190.4761904761904761904761904761905 | Unpriced | Unpriced | Unpriced | 1.0013580322265625 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

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

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| PostgreSQL (one copy) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| PostgreSQL (one copy) | Representative publication size | 1024 | bytes |
| PostgreSQL (one copy) | Selected delivery subscriptions | 3 | subscriptions/publication |
| PostgreSQL (one copy) | Delivery attempts | 1 | attempts/destination |
| PostgreSQL (one copy) | Native broker consumer copies | 1 | copies |
| PostgreSQL (one copy) | Staging residence window | 60 | seconds |
| PostgreSQL (one copy) | Delivery row size | 256 | bytes |
| PostgreSQL (one copy) | Target price guess · read | 0 | USD/read |
| PostgreSQL (one copy) | Target price guess · write | 0 | USD/write |
| PostgreSQL (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| PostgreSQL (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| PostgreSQL (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| PostgreSQL (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| PostgreSQL (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| PostgreSQL (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| PostgreSQL (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| PostgreSQL (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| PostgreSQL (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| PostgreSQL (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| PostgreSQL (one copy) | Target price guess · input token | 0 | USD/input token |
| PostgreSQL (one copy) | Target price guess · output token | 0 | USD/output token |
| PostgreSQL (one copy) | Target monthly base charge | 0 | USD/month |
| PostgreSQL (one copy) | Approximate target service minimum | 0 | USD/month |
| PostgreSQL (one copy) | Minimum primary CPU | 2 | vCPU |
| PostgreSQL (one copy) | Minimum primary RAM | 8 | GiB |
| PostgreSQL (one copy) | Minimum primary disk | 100 | GiB |
| PostgreSQL (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| PostgreSQL (one copy) | Allocated share of provisioned cost | 1 | fraction |
| PostgreSQL (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| PostgreSQL (one copy) | Planning peak / mean work | 2 | multiplier |
| PostgreSQL (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| PostgreSQL (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| PostgreSQL (one copy) | Planning disk utilization | 0.8 | fraction |
| PostgreSQL (one copy) | Maintenance and log disk reserve | 20 | GiB |
| PostgreSQL (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| PostgreSQL (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| PostgreSQL (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| PostgreSQL (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| PostgreSQL (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| PostgreSQL (two copies) | Origin list price · SNS publish units | 0.0000005 | USD/64-KiB request units |
| PostgreSQL (two copies) | Representative publication size | 1024 | bytes |
| PostgreSQL (two copies) | Selected delivery subscriptions | 3 | subscriptions/publication |
| PostgreSQL (two copies) | Delivery attempts | 1 | attempts/destination |
| PostgreSQL (two copies) | Native broker consumer copies | 1 | copies |
| PostgreSQL (two copies) | Staging residence window | 60 | seconds |
| PostgreSQL (two copies) | Delivery row size | 256 | bytes |
| PostgreSQL (two copies) | Target price guess · read | 0 | USD/read |
| PostgreSQL (two copies) | Target price guess · write | 0 | USD/write |
| PostgreSQL (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| PostgreSQL (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| PostgreSQL (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| PostgreSQL (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| PostgreSQL (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| PostgreSQL (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| PostgreSQL (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| PostgreSQL (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| PostgreSQL (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| PostgreSQL (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| PostgreSQL (two copies) | Target price guess · input token | 0 | USD/input token |
| PostgreSQL (two copies) | Target price guess · output token | 0 | USD/output token |
| PostgreSQL (two copies) | Target monthly base charge | 0 | USD/month |
| PostgreSQL (two copies) | Approximate target service minimum | 0 | USD/month |
| PostgreSQL (two copies) | Minimum primary CPU | 2 | vCPU |
| PostgreSQL (two copies) | Minimum primary RAM | 8 | GiB |
| PostgreSQL (two copies) | Minimum primary disk | 100 | GiB |
| PostgreSQL (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| PostgreSQL (two copies) | Allocated share of provisioned cost | 1 | fraction |
| PostgreSQL (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| PostgreSQL (two copies) | Planning peak / mean work | 2 | multiplier |
| PostgreSQL (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| PostgreSQL (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| PostgreSQL (two copies) | Planning disk utilization | 0.8 | fraction |
| PostgreSQL (two copies) | Maintenance and log disk reserve | 20 | GiB |
| PostgreSQL (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| PostgreSQL (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| PostgreSQL (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| PostgreSQL (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| PostgreSQL (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Fan-out and retry assumptions remain explicit; this is not destination delivery TPS. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Explicit tariff samples are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* 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.
* Native Pub/Sub and Service Bus backends also retain durable SNS staging. Price that allocation once; database targets already host the translated writes.
* Native broker subscriptions and SNS delivery claims are distinct surfaces. Supported delivery protocols and delivery consent remain backend-specific.
* Self-hosted target: PostgreSQL (PostgreSQL License, [https://www.postgresql.org/about/licence/](https://www.postgresql.org/about/licence/)). Selected CPU, RAM and physical disk allocation grow with workload; no per-operation price is assumed. No vendor tariff: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* 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 operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSNS offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSNS/current/us-east-1/index.json)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Disk and image pricing: [https://cloud.google.com/compute/disks-image-pricing](https://cloud.google.com/compute/disks-image-pricing)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

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

Excluded costs and workload features:

* 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.
* HTTP/email/SMS/mobile delivery tariffs and destination-service charges; relay submission does not establish managed delivery reputation.
* 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-9063cd5055d0b6404b79cb2941f9fbd779c5669b` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

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.