Pricing
Free Trial
Learn Materialize and prototype your use case for free.
Free
(14 day trial, 4 credits/hr max)
On-Demand
Pay-as-you-go for flexible
workloads.
$1.5 / Compute Credit
+ $30 TB/month Storage
Capacity
Reduce compute credit cost by buying in advance.
Custom / Compute Credit
+ $23 TB/month Storage

A better cost model for fresh data.
For workloads that demand access to up-to-date data, moving from analytical data warehouses to Materialize can reduce costs and increase capabilities.
Cluster Replica Sizes
Clusters are sized from 3XS to 6XL. Each size has 2x the resources (CPU and Memory) and 2x the hourly rate of the previous.
Size | 3XS | 2XS | XS | S | M | L | XL | 2XL | 3XL | 4XL | 5XL | 6XL |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Compute Credits/Hour | 0.25 | 0.5 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 |
Free Trial Availability | ||||||||||||
On-Demand Availability | ||||||||||||
Capacity Availability |
Size | Credits/hr |
---|---|
3XS | 0.25 |
2XS | 0.5 |
XS | 1 |
S | 2 |
M | 4 |
L | 8 |
XL | 16 |
2XL | 32 |
3XL | 64 |
4XL | 128 |
5XL | 256 |
6XL | 512 |
What is a Compute Credit?
Compute Credits are used to run cluster replicas. For example, running an XS
size cluster replica for 1hr costs 1 compute credit. Cluster replicas handle several functions in Materialize:
- Streaming input sources
- Computation of materialized views
- Computation and in-memory maintenance of indexes on views
- Computation of results for SQL queries
Ready to spec out your workload?
Pricing FAQ
What size cluster replicas do I need for my workload?
What size cluster replicas do I need for my workload?
Resource demands of individual workloads is highly dependent on three factors below, so we recommend finding the right size by initially running on medium
clusters and then checking the resource utilization metrics. Since each size has 2x the resources, if your workload is using less than 50% of resources you can downsize one level, 25% two levels, etc… Up and downscaling can be done without disruption by creating additional replicas of different sizes.
The three factors that most heavily influence the resource demands of a Materialize workload are:
- Size and type of dataset - Streaming input Sources for larger datasets may need to run on larger cluster replicas, and high-cardinality data kept in storage will require larger cluster replicas to process and index.
- Throughput of changes - Changes (Updates/Inserts/Deletes) are what trigger work in Materialize, so the more often data is changing, the more computation work Materialize does.
- Quantity and complexity of transformations - Like in a traditional database, the amount of resources needed to compute a specific SQL query can vary dramatically based on the joins, aggregations, window queries, CTE’s, subqueries, and computations needed.
How many clusters do I need?
How many clusters do I need?
Clusters can be used strategically to isolate your workloads from failure in several ways.
- Separation of Source ingest responsibilities - Streaming input Sources run on their own cluster (either one source per cluster, or multiple sources on a cluster.)
- Separation of use cases - Teams can isolate separate use cases (e.g. Reporting, Feature Serving, Alerting) to ensure changes to one don’t affect the others.
- Separation of dev/stage/prod - Teams can have smaller separate clusters for development and staging work.
- Separation of compute stages - Teams can use materialized views to write outputs of a SQL transformation down to storage, and then pull the results back up into new clusters for more computation or serving. This allows for creation of pipelines that can be architected to continue to serve stale results in the case of an upstream failure. Further reading: Clusters Explained
What is the benefit of two or more replicas in a cluster?
What is the benefit of two or more replicas in a cluster?
Materialize uses active replication: there is no primary/secondary, all of the computation assigned to a cluster is run on all replicas.
Benefits of continuous active replication:
- Increased Availability - Running with 2+ replicas means if one suffers a temporary outage due to hardware failure, other replicas are still operating and end-users will not experience disruption.
- Lower P99 time - The SQL control layer routes requests to all replicas and sends the user the first response it receives. Each replica is competing to answer queries fastest, so increasing the number of replicas decreases the standard deviation of response times.
Benefits of temporary active replication:
- Upscaling/Downscaling - If a
S
replica has high resource utilization, create a secondM
in parallel, wait for it to come online and when ready remove the oldS
for zero-downtime upscaling. The same process works for downscaling.Further reading: Clusters Explained
How can I forecast storage costs?
How can I forecast storage costs?
Storage is roughly proportional to the size of your source datasets plus the size of materialized views, with some overhead from uncompacted previous values of data and system metrics. But more broadly, two factors lead to storage costs making up a very small percentage of real-world Materialize invoices:
- Materialize uses cheap, scalable object storage (currently S3 on AWS) as a storage layer, and primarily passes the cost through to the customer, At a rate of
$0.0000411
per GB/hr, 1TB stored for one month (730hrs) equates to $30 USD. - With the exception of Append-only sources, most data in Materialize is continually compacted, so the total state stored in Materialize tends to grow at a rate more similar to OLTP databases than traditional cloud data warehouses.
What are the terms of the Free Trial?
What are the terms of the Free Trial?
See Free Trial FAQs
How can I buy through AWS Marketplace?
How can I buy through AWS Marketplace?
If you have already committed spend in AWS, you can put it towards Materialize credits through the AWS marketplace. Get in touch here and we can help you through the process.