All Products
Search
Document Center

PolarDB:Select an instance type

Last Updated:Apr 01, 2026

PolarDB-X instances provide services by using compute nodes and storage nodes. Each node has a fixed specification — CPU, memory, storage, connections, and IOPS. Total instance capacity equals the number of nodes multiplied by the per-node limits.

Before selecting an instance type, estimate two things: the storage your data requires and the query concurrency your workload produces. Then pick the combination of specification and node count that satisfies both.

For the full list of available instance types, see Instance types.

Choose an instance family

PolarDB-X offers three instance families. Select the one that matches your workload profile.

Instance family Best for CPU:memory ratio Resource model
General-purpose Tests, trials, and light-load scenarios 1:4 Shared — compute resources are shared among instances on the same server
Dedicated Production workloads requiring stable, predictable performance 1:8 Exclusive — CPU cores are dedicated to your instance
Dedicated host Workloads that need guaranteed resource availability at all times Varies Dedicated physical host

For production environments, use the Dedicated family with at least 8 cores and 64 GB memory per node.

Instance specifications

The tables below list per-node limits. Multiply each limit by your node count to get the total instance capacity.

Available resources = number of nodes x per-node limit

Example: A 2-node instance using polarx.x8.xlarge.2e (8 cores, 64 GB) provides 6 TB of storage (3,072 GB x 2), 40,000 connections (20,000 x 2), and 36,000 IOPS (18,000 x 2).

General-purpose

Instance type CPU and memory Maximum storage capacity Maximum connections Maximum IOPS
polarx.x4.medium.2e 2 cores, 8 GB 3,072 GB 20,000 4,000
polarx.x4.large.2e 4 cores, 16 GB 3,072 GB 20,000 7,000
polarx.x4.xlarge.2e 8 cores, 32 GB 3,072 GB 20,000 12,000
polarx.x4.2xlarge.2e 16 cores, 64 GB 3,072 GB 20,000 14,000

Dedicated

Instance type CPU and memory Maximum storage capacity Maximum connections Maximum IOPS
polarx.x8.large.2e 4 cores, 32 GB 3,072 GB 20,000 9,000
polarx.x8.xlarge.2e 8 cores, 64 GB 3,072 GB 20,000 18,000
polarx.x8.2xlarge.2e 16 cores, 128 GB 3,072 GB 20,000 36,000
polarx.x8.4xlarge.2e 32 cores, 128 GB 3,072 GB 20,000 36,000
polarx.x8.4xlarge.2e 32 cores, 256 GB 3,072 GB 20,000 72,000

Dedicated host

Instance type CPU and memory Maximum storage capacity Maximum connections Maximum IOPS
polarx.st.8xlarge.25 60 cores, 470 GB 6,144 GB 20,000 120,000
polarx.st.12xlarge.25 90 cores, 720 GB 6,144 GB 20,000 140,000

Size by storage capacity

Use this formula to calculate the number of nodes your storage requirements need:

required_nodes = ceil(projected_data_size / storage_usage_limit / per_node_max_storage)

where:
  projected_data_size   = current data size + (daily growth x days)
  storage_usage_limit   = 0.7  (keep usage below 70%)
  per_node_max_storage  = maximum storage capacity of your chosen instance type

Size for 1 to 2 years of data growth to avoid frequent node additions.

Example:

Current data: 1,500 GB. Daily growth: 10 GB. Target horizon: 1 year (365 days).

projected_data_size = 1,500 + (10 x 365) = 5,150 GB
required_capacity   = 5,150 / 0.7        = 7,357 GB
required_nodes      = ceil(7,357 / 3,072) = ceil(2.39) = 3 nodes

Using polarx.x8.xlarge.2e (3,072 GB per node), 3 nodes satisfy the storage requirement.

Size by concurrency (QPS)

In transaction-heavy workloads, the CPU is typically the bottleneck. Estimate required nodes from peak queries per second (QPS):

required_nodes = ceil(peak_qps / utilization_limit / per_node_qps)

where:
  utilization_limit = 0.7  (keep node utilization below 70%)
  per_node_qps      = estimated QPS capacity of your chosen instance type

For transaction-oriented workloads with mixed read and write requests, a single CPU core handles roughly 1,000–3,000 QPS. An 8-core polarx.x8.xlarge.2e node therefore supports approximately 10,000–20,000 QPS.

These QPS figures are reference estimates based on transaction-oriented workloads. Actual throughput varies with query complexity, data distribution, and access patterns. Run stress testing against your own traffic before finalizing node count.

Example:

Peak QPS: 100,000. Target: keep each node below 70% utilization.

effective_qps_needed = 100,000 / 0.7 = 140,000 QPS
required_nodes       = ceil(140,000 / 20,000) = 7 nodes

Using polarx.x8.xlarge.2e at the upper end of its QPS range, 7 nodes cover the concurrency requirement.

Size across multiple dimensions

When both storage and QPS constraints apply, calculate the node count required by each dimension separately and use the larger result.

Example:

  • Peak QPS: 100,000

  • Current data: 1,500 GB, growing 10 GB per day, projected over 1 year

From the storage example: 3 nodes required. From the concurrency example: 7 nodes required.

The binding constraint is concurrency. Start with 7 nodes. This configuration requires 56 CPU cores (7 nodes × 8 cores) and satisfies the 7,357 GB storage requirement.

Choosing between fewer large nodes or more smaller nodes:

Both configurations can satisfy the same total CPU and storage requirements — for example, 7 nodes at 8 cores/64 GB or 4 nodes at 16 cores/128 GB. The right choice depends on your workload:

Configuration Trade-offs Best for
Fewer nodes, larger spec (e.g., 4 x 16 cores, 128 GB) More CPU per node — handles traffic spikes and data-intensive queries without hitting per-node bottlenecks; fewer nodes are easier to operate Report analysis and analytics workloads
More nodes, smaller spec (e.g., 7 x 8 cores, 64 GB) More nodes — distributes storage and load across a larger cluster, providing more total storage headroom General OLTP workloads

Upgrading later: When scaling up, increase the specification of individual nodes rather than adding nodes. A distributed database is only as fast as its slowest node — nodes with uneven specs create performance bottlenecks across the cluster.

PolarDB-X storage is billed on a pay-as-you-go basis, so choosing more nodes to satisfy the concurrency requirement does not incur additional storage charges for unused capacity.