Clusters

Overview

Clusters are pools of compute resources (CPU, memory, and, optionally, scratch disk space) for running your workloads.

The following operations require compute resources in Materialize, and so need to be associated with a cluster:

Sizing your clusters

You choose the size of your cluster (25cc, 50cc, 100cc, etc.) based on the resource requirements of your workload. Larger clusters have more compute resources available and can therefore process data faster and handle larger data volumes.

You can resize a cluster to respond to changes in your workload.

Key properties

Clusters provide two important properties:

  • Resource isolation. Workloads running in one cluster cannot interfere with workloads running in another cluster. You can use multiple clusters to isolate your production workloads from your development workloads, for example.

  • Fault tolerance. You can increase the replication factor of a cluster to increase the number of copies (i.e., replicas) of the cluster that Materialize provisions. Clusters with multiple replicas can tolerate failures of the underlying hardware that cause a replica to become unreachable. As long as one replica of the cluster remains available, the cluster can continue to ingest data, compute results, and serve queries.

Back to top ↑