Scaling Beyond Memory: How Materialize Uses Swap for Larger Workloads
materialize.com·19h

At Materialize, we often ask ourselves which parts of our system we could fundamentally change to enable new workloads. How we manage memory for maintained SQL objects is one such area. In this post, I’ll explain our previous approach, what limited its scalability, and how our new approach—swap—increases flexibility and delivers more value to our customers.

Users value Materialize for its data freshness. Results are always up-to-date, and we precisely report how quickly we respond to upstream changes. Materialize transforms SQL into differential dataflow programs that incrementally maintain results. The update cost depends on both the rate of input changes and the total data volume. We prioritize freshness, and to this end we might use more memory than absolutely needed to amortize…

Similar Posts

Loading similar posts...