whoami
whoami2y ago

Diff between Materialize and Convex

https://stack.convex.dev/infra-roundtable I was watching this video, quite amazing. Just curious, how do you guys compare convex to products that are branded as streaming databases such as materialize, or risingwave. I am more curious from the technical perspective because I know the use cases differ a lot.
Convex and the future of streaming infrastructure
Hosted by Ian & Alex, with Alana (Readyset), Hojjat (Deltastream), Jamie (Convex).
5 Replies
Indy
Indy2y ago
There are other folks around here that understand Materialize better, but on quick look: Materialize is incrementally updating views vs. Convex recalculates queries when the underlying data changes.
whoami
whoamiOP2y ago
Incremental means the CDC stuff?
ballingt
ballingt2y ago
Yeah that plus their differential SQL; Convex's approach of deterministic JavaScript + query language emphasizes tracking read sets of arbitrary queries vs analyzing SQL queries and implementing differential SQL
sujayakar
sujayakar2y ago
materialize is primarily for analytics use cases: data streams in from another source (e.g. postgres or kafka), and they then let you efficiently run large OLAP style queries over that data. on the technical side, one implication here is that since materialize supports more expensive queries (e.g. big nested subqueries and aggregates), it's more important for them to reuse intermediate results. convex, on the other hand, currently always reruns queries from scratch. they achieve this with their differential dataflow framework (https://github.com/TimelyDataflow/differential-dataflow). if you'd like to dig in more, here's a cool blog post that breaks down different types of streaming systems: https://www.scattered-thoughts.net/writing/an-opinionated-map-of-incremental-and-streaming-systems/
sujayakar
sujayakar2y ago
so to compare, convex's queries are more of an "OLTP" streaming system that's designed for building user-facing apps, not for doing analytical workloads.

Did you find this page helpful?