Skip to content
0:00 / 0:00

#noria#materializedviews#dataflow

Thesis: Partial State in Dataflow-Based Materialized Views

Jon Gjengset

111K subscribers • 7 videos on Hallway

YouTube

Advanced. Deep dive for people who know the field.

16K views6 years ago2 recommendations

Databases and dataDistributed systemsDatabase internalsKafka and stream processingScaling and large-scale architecture

Jon Gjengset presents his PhD dissertation on using partial state in dataflow-based materialized views to build high-performance database caching systems.

This is my PhD dissertation presentation, which I gave at MIT (virtually) on October 22nd, 2020. It was immediately followed by my thesis defense, which I passed subject to the typical bits and pieces of revisions the committee wanted to see. The person who introduces me in the video is Robert Morris, my thesis advisor. The Q&A has been cut out, as I want to edit it a bit and mix in questions from the public presentation I gave on YouTube the day before. I will link the Q&A video here once it is out. You can find the slides at jon.thesquareplanet.com/slides/thesis.pdf and at docs.google.com/presentation/d/1w2PlmqUIeue8VcNhBqOC0V3GTKQs…. The thesis is available at jon.thesquareplanet.com/papers/phd-thesis.pdf. What follows is the thesis abstract: This thesis proposes a practical database system that lowers latency and increases supported load for read-heavy applications by using incrementally-maintained materialized views to cache query results. As opposed to state-of-the-art materialized view systems, the presented system builds the cache on demand, and evicts cache entries in response to a shifting workload. The enabling technique the thesis introduces is partially stateful materialization, which allows entries in materialized views to be missing. The thesis proposes upqueries as a mechanism to fill such missing state on demand using dataflow, and implements them in the materialized view system Noria. The thesis then discusses additional mechanisms needed to establish eventual consistency for partially stateful dataflow. Noria with partial materialization saves application developers from implementing their own ad hoc caching mechanisms to speed up their database accesses. Instead, the caching is built into the database, and is transparent to the application. Experimental results suggest that the presented system increases supported application load by up to 20x over MySQL and performs similarly to an optimized key-value store cache. Partial state also reduces memory use by up to 2/3 compared to traditional materialized views.

Why it's here

2 people recommend this

What people say. Recommended as an excellent, deep-dive explanation of the dataflow and partial state concepts behind the Noria database.

JulianWgson Lobsters • Recommends

Thesis: Partial State in Dataflow-Based Materialized Views Slides: https://jon.thesquareplanet.com/slides/thesis.pdf

Jonhooon Hacker News • Recommends

On “How PlanetScale Boost serves SQL queries faster”

…( link ), as it goes much deeper about some of the technical challenges and solutions involved. It also has a chapter (Appendix A) that covers how it all works by analogy, which the less-technical among the audience may appreciate :) A recording of my thesis defense on this, which may be more digestible than the thesis itself, is also online at link to this video , as well as a shorter talk from a few years earlier at link . And the Noria research prototype (written in Rust) is on GitHub: link . As others have already mentioned in the comments, I co-founded ReadySet ( link ) shortly after graduating specifically to build off of Noria, and they're doing amazing work to provide these kinds of sp…

konduon Hacker News • Mentions

On “Differential Dataflow”

this is also one of the main ideas behind Noria1 (built by @jonhoo, who also gave his PhD dissertation2 on this recently) 1 link 2 link to this video

dpcxon Hacker News • Mentions

On “Readyset: A MySQL and Postgres wire-compatible caching layer”

Pretty sure that this is the database that Jon Gjengset0 was working on as part of his thesis project. There have been several videos shared by him during talks about the system. It's a really interesting concept. edit: Here's1 a video where he talks about the concept 0: link 1: link to this video