Overview
CREATE CLUSTER creates a new cluster, which provides isolated compute resources (CPU, memory, and disk) for maintaining dataflows and serving queries.Syntax
Key Concepts
Resource Isolation
Clusters provide dedicated compute resources:Cluster Sizes
Materialize offers M.1 cluster sizes:| Size | Credits/Hour | Use Case |
|---|---|---|
M.1-xsmall | 0.5 | Development, testing |
M.1-small | 1 | Small workloads |
M.1-medium | 2 | Medium workloads |
M.1-large | 4 | Production workloads |
M.1-xlarge | 8 | Large production workloads |
M.1-2xlarge | 16 | Very large workloads |
M.1-3xlarge | 32 | Extremely large workloads |
M.1-4xlarge | 64 | Maximum performance |
- More CPU cores
- More memory
- More disk space
Parameters
Name of the cluster to create
Cluster size (e.g.,
'M.1-large')Number of replicas (1 or more for availability, 0 to pause)
Scheduling strategy:
ON REFRESH for scheduled clusters, MANUAL for always-on (default)Replication Factor
The replication factor determines fault tolerance:Replication increases fault tolerance, not capacity.Each replica does the same work. To increase capacity, use a larger SIZE.
- Automatically named (
r1,r2, etc.) - Never on same physical hardware
- Spread across availability zones
- Process identical computations
Active Cluster
Set the active cluster for operations:Pausing Clusters
Set replication factor to 0 to pause:- Consume no credits
- Don’t maintain indexes or materialized views
- Can’t serve queries
Scheduled Clusters
For materialized views with refresh strategies:- Turn on automatically before refreshes
- Turn off after refreshes complete
- Only consume credits when active
- Require
HYDRATION TIME ESTIMATE
Examples
Development Cluster
Production Cluster with High Availability
Separate Clusters for Different Workloads
Scheduled Cluster for Reports
Cluster Sizing Guide
When to Size Up
- Queries are slow
- High memory usage (check system catalogs)
- Dataflow hydration takes too long
- Cluster can’t keep up with data ingestion
When to Add Replicas
- Need fault tolerance
- Availability is critical
- Can tolerate failures
When to Create Multiple Clusters
- Isolate workloads (dev/staging/prod)
- Separate ingestion from queries
- Different SLAs for different users
- Cost optimization (pause unused clusters)
Credit Usage
Clusters consume credits based on size and replicas:M.1-small(1 credit/hr) × 2 replicas = 2 credits/hrM.1-large(4 credits/hr) × 3 replicas = 12 credits/hr- Paused cluster (0 replicas) = 0 credits/hr
Managing Clusters
Resize a Cluster
Change Replication Factor
Drop a Cluster
Best Practices
-
Start Small: Begin with small clusters and size up as needed
-
Isolate Workloads: Use separate clusters for different purposes
-
Pause When Idle: Set replication factor to 0 for unused clusters
-
Monitor Usage: Check cluster utilization regularly
- Use Scheduled Clusters: For periodic reporting workloads
- Plan for Growth: Leave headroom for data volume increases