CREATE CLUSTER REPLICA

CREATE CLUSTER REPLICA provisions a new replica for an unmanaged cluster.

💡 Tip: When getting started with Materialize, we recommend starting with managed clusters.

Syntax

CREATE CLUSTER REPLICA <cluster_name>.<replica_name> (
    SIZE = <text>
);
Syntax element Description
<cluster_name> The cluster you want to attach a replica to.
<replica_name> A name for this replica.
SIZE

The size of the resource allocations for the cluster.

  • M.1-nano
  • M.1-micro
  • M.1-xsmall
  • M.1-small
  • M.1-medium
  • M.1-large
  • M.1-1.5xlarge
  • M.1-2xlarge
  • M.1-3xlarge
  • M.1-4xlarge
  • M.1-8xlarge
  • M.1-16xlarge
  • M.1-32xlarge
  • M.1-64xlarge
  • M.1-128xlarge

See Size for details as well as legacy sizes available.

Details

Size

The SIZE option for replicas is identical to the SIZE option for clusters option, except that the size applies only to the new replica.

NOTE: The values set forth in the table are solely for illustrative purposes. Materialize reserves the right to change the capacity at any time. As such, you acknowledge and agree that those values in this table may change at any time, and you should not rely on these values for any capacity planning.
Cluster size Compute Credits/Hour Total Capacity Notes
M.1-nano 0.75 26 GiB
M.1-micro 1.5 53 GiB
M.1-xsmall 3 106 GiB
M.1-small 6 212 GiB
M.1-medium 9 318 GiB
M.1-large 12 424 GiB
M.1-1.5xlarge 18 636 GiB
M.1-2xlarge 24 849 GiB
M.1-3xlarge 36 1273 GiB
M.1-4xlarge 48 1645 GiB
M.1-8xlarge 96 3290 GiB
M.1-16xlarge 192 6580 GiB Available upon request
M.1-32xlarge 384 13160 GiB Available upon request
M.1-64xlarge 768 26320 GiB Available upon request
M.1-128xlarge 1536 52640 GiB Available upon request

Materialize offers the following legacy cc cluster sizes:

💡 Tip:

In most cases, you should not use legacy sizes. M.1 sizes offer better performance per credit for nearly all workloads. We recommend using M.1 sizes for all new clusters, and recommend migrating existing legacy-sized clusters to M.1 sizes. Materialize is committed to supporting customers during the transition period as we move to deprecate legacy sizes.

The legacy size information is provided for completeness.

  • 25cc
  • 50cc
  • 100cc
  • 200cc
  • 300cc
  • 400cc
  • 600cc
  • 800cc
  • 1200cc
  • 1600cc
  • 3200cc
  • 6400cc
  • 128C
  • 256C
  • 512C

The resource allocations are proportional to the number in the size name. For example, a cluster of size 600cc has 2x as much CPU, memory, and disk as a cluster of size 300cc, and 1.5x as much CPU, memory, and disk as a cluster of size 400cc. To determine the specific resource allocations for a size, query the mz_cluster_replica_sizes table.

WARNING! The values in the mz_cluster_replica_sizes table may change at any time. You should not rely on them for any kind of capacity planning.

Clusters of larger sizes can process data faster and handle larger data volumes.

See also:

Homogeneous vs. heterogeneous hardware provisioning

Because Materialize uses active replication, all replicas will be instructed to do the same work, irrespective of their resource allocation.

For the most stable performance, we recommend using the same size and disk configuration for all replicas.

However, it is possible to use different replica configurations in the same cluster. In these cases, the replicas with less resources will likely be continually burdened with a backlog of work. If all of the faster replicas become unreachable, the system might experience delays in replying to requests while the slower replicas catch up to the last known time that the faster machines had computed.

Example

CREATE CLUSTER REPLICA c1.r1 (SIZE = 'M.1-large');

Privileges

The privileges required to execute this statement are:

  • Ownership of the cluster.

See also

Back to top ↑