HackerTube

Rust at speed — building a fast concurrent database

Jon Gjengset2 HN recommenders · recommended in 2 months, 2019–2022
YouTube
lecture · advanced · evergreen · 2019–2022 on HN

A guest lecture Jon Gjengset gave at Two Sigma on using Rust for large, high-performance systems. It covers why Rust suits such projects, the Noria research database, a concurrent data structure used in it, and practical experience.

HN points to it as a detailed, captivating talk by the Noria author, including a good explanation of deduplicating data between maps using unsafe.

4 comments from Hacker News

@Orou2021-12 · in “Noria: Dynamic, partially-stateful data-flow for high-perf web applications”

The author of Noria, Jon Gjengset, gave a great talk about the system: ▶ this video The speeds achieved are impressive but you do not get consistency.

Recommends View on HN
@harikb2020-06 · in “There’s plenty of room at the Top: computer performance after Moore’s law”

Anecdotal - One of favorite YouTube live-streaming personalities, Jon Gjengset[1] is a Ph.D student at MIT CSAIL. His talks are very detailed[4] and captivating[3] [1] link Talks [2] ▶ this video [3] link Rust Details(my favorites) [4] link

Recommends View on HN
@Jonhoo2022-11 · in “How PlanetScale Boost serves SQL queries faster”

:wave: Author of the paper this work is based on here. I'm so excited to see dynamic, partially-stateful data-flow for incremental materialized view maintenance becoming more wide-spread! I continue to think it's a _great_ idea, and the speed-ups (and complexity reduction) it can yield are pretty immense, so seeing more folks building on the idea makes me very happy. The PlanetScale blog post references my original "Noria" OSDI paper ( link ), but I'd actually recommend my PhD thesis instead ( 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 , as well as a shorter talk from a few years earlier at ▶ this video . 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 speed-ups for general-purpose relational databases. If you're using one of those, it's worth giving ReadySet a look to get these kinds of speedups there! It's also source-available @ link if you're curious.

@dpezely2019-01 · in “Rust at speed – building a fast concurrent database [video]”

He explains this at roughly the 40 minute mark. [1] "There's 7 more lines of `unsafe` that avoids keeping both maps. You still keep two maps, but you de-duplicate the data between those two maps." ▶ this video