Andy Pavlo
cs.cmu.edu/~pavlo · Personal blog · on HN since 2014
Andy Pavlo is a Carnegie Mellon database professor who writes about DBMS research, PostgreSQL internals, and yearly database industry reviews.
What HN saysHN commenters praise his database courses with public materials and his yearly reviews, noting their humor, such as recurring jokes about Larry Ellison.
40HN people shared it
22linked it in comments
22stories submitted
1.5Kstory points
8 months agolast shared
2014people per year2026
Most-shared posts
- 1MVCC – the part of PostgreSQL we hate the most (2023)7 people · 435 points · first shared 2024 · 137 comments on HN
- 2On Naming a Database Management System4 people · 5 points · first shared 2020 · discussion on HN
- 3Homepage4 people · first shared 2018
- 4Databases in 2024: A Year in Review3 people · 627 points · first shared 2025 · 209 comments on HN
- 5What is a self driving database management system3 people · first shared 2019
- 6The Next 50 Years of Databases (2015)2 people · 329 points · first shared 2019 · 139 comments on HN
- 7Building a Database System in Academia2 people · 71 points · first shared 2017 · 15 comments on HN
- 8Databases in 2025: A Year in Review2 people · 5 points · first shared 2026 · 1 comments on HN
- 9Favorite Database T-Shirts2 people · 2 points · first shared 2023 · discussion on HN
- 10An Empirical Evaluation of In-Memory Multi-Version Concurrency Control [pdf]2 people · 1 points · first shared 2019 · discussion on HN
- 1111730 atc13 bronson.pdf2 people · first shared 2014
- 12Graffiti Networks: A Subversive, Internet-Scale File Sharing Model (2009) [pdf]1 people · 24 points · first shared 2015 · 2 comments on HN
- 13Efficient Snapshot Isolation for Hybrid Workloads with Multi-Versioned Indexes [pdf]1 people · 2 points · first shared 2019 · discussion on HN
- 14Should You Email a Professor During the Ph.D. Admissions Season?1 people · 2 points · first shared 2016 · discussion on HN
- 15Yes, PostgreSQL Has Problems. But We're Sticking with It1 people · 2 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
SOLAR_FIELDS · 2024-01-25
There was a hilarious blog post on here a few months ago from some guy who collects database company T shirts. A lot of them are quite bad but a few are really good. IIRC his favorite was from Snowflake.
Edit: apparently his favorite was from mongo: https://www.cs.cmu.edu/~pavlo/blog/2016/07/my-favorite-database-shirts… which I have to agree with, that is a good shirt.
I think I might still like the Snowflake one (3) the best though. Although rereading the article he says there is writing on the back of the Snowflake one which makes me not like it as much. There are very few stylish shirts I enjoy that have writing on the back of them.
polskibus · 2023-12-15
The „advanced” part of Andy Pavlo’s great great database course discusses classic database design compromises and the tradeoffs, among other things.
See http://www.cs.cmu.edu/~pavlo/
jasonwatkinspdx · 2020-11-03
So this comes out of Andy Pavlo's group. He teaches an undergrad and graduate level database class each year, and makes nearly all of his course materials available (there's some guest lectures that don't want to be public sadly): http://www.cs.cmu.edu/~pavlo/
I'd definitely go through the slide decks on concurrency control in both of these classes. They're an amazing resource for anyone interested in database internals. There's a ton of tradeoffs, and a lot of prior research into them. Andy's slide decks are something of a road map to the different choices.
What you describe is roughly snapshot isolation, which mostly works, but is vulnerable to write skew.
ellisv · 2019-08-10
> Andy Pavlo wrote a paper looking at this comparing different concurrency control strategies under very high levels of concurrency.
I think you mean his paper "This is the Best Paper Ever on In-Memory Multi-Version Concurrency Control" which is available here: http://www.cs.cmu.edu/~pavlo/papers/p781-wu.pdf
By the way, his courses are really excellent. I highly recommend subscribing to the CMU Database Group channel on YouTube.
avinassh · 2025-01-01
Larry always makes appearances in his reviews, lol
> But the real big news in 2023 was how Elon Musk personally helped reset Larry's Twitter password after he invested $1b in Musk's takeover of the social media company. And with this $1b password reset, we were graced in October 2023 with Larry's second-ever tweet and his first new one in over a decade.
https://www.cs.cmu.edu/~pavlo/blog/2024/01/2023-databases-retrospectiv…
> These journalists made it sound like Larry was doing something nefarious or indecent, like the time he made his pregnant third wife sign a prenup two hours before their wedding. I can assure you that Larry was only trying to use his vast wealth as the 7th richest person in the world to help his country. His participation in this call is admirable and should be lauded. Free and fair elections are not a trivial affair, like a boat race where sometimes shenanigans are okay as long as you win. Larry has done other great things with his money that are overlooked, like spending $370m on anti-aging research so that he can live forever
https://www.cs.cmu.edu/~pavlo/blog/2022/12/2022-databases-retrospectiv…
carlineng · 2020-11-04
Somewhat related is Pavlo's musings on Naming a Database Management System [1]:
"In my opinion, the best DBMS names from the last thirty years are Postgres[4] and Clickhouse.
These two names did not mean anything before, but now they only have one connotation. There is no ambiguity. There is no overlap with other DBMS names or non-database entities. They are easy to spell correctly[5]. Everyone refers to them by their full name. Nobody mistakingly calls them "PostgresDB" or "ClickhouseSQL."
After reflecting on what makes them so good, I realized what the secret was to them. They are a two-syllable name that is derived from combining two unrelated one-syllable words together (e.g., Post + Gres, Click + House). Each individual word has its own meaning. It is only when you put them together does it mean the database.
Given this, I henceforth contend that the best way to name a DBMS is to combine two one-syllable words."
Noise + Page
[1]: https://www.cs.cmu.edu/~pavlo/blog/2020/03/on-naming-a-database-manage…
lenkite · 2026-02-27
Postgres needs to figure how to solve write-amplification caused by MVCC. Any use-case with write load runs into this and then needs to spend significant time managing and working around the problem.
https://www.cs.cmu.edu/~pavlo/blog/2023/04/the-part-of-postgresql-we-h…
apavlo · 2026-01-05
Thanks for catching this. Updated: https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospectiv…
I need to figure out an automatic way to track these.
maxmcd · 2025-07-21
Since this is about aborted writes during VACUUM then this is likely also relevant: https://www.cs.cmu.edu/~pavlo/blog/2023/04/the-part-of-postgresql-we-h…
evanelias · 2024-10-14
For an in-depth read on the differences in MVCC implementations, this post is pure gold: https://www.cs.cmu.edu/~pavlo/blog/2023/04/the-part-of-postgresql-we-h…
refset · 2024-09-25
The original RDBMS vision was very explicitly for the users (both developers and analysts) to not have to be experts in their own database in order to achieve useful work, and without needing to think about procedural/3GL code from the get-go. In the intervening years query optimization has gotten a lot better, and hardware shifts have only worked in favour of this vision, but there's still a lot of work to be done before databases are truly "self-driving": https://www.cs.cmu.edu/~pavlo/blog/2018/04/what-is-a-self-driving-data…
Until that's the case I can understand why people are tempted to bypass this traditional RDBMS wisdom, especially if they have a very strong conception about their data models, access patterns, and need for scale (e.g. see also Red Planet Labs 'Rama').
bhickey · 2023-11-27
Here's his first trip to probation: https://www.cs.cmu.edu/~pavlo/slides/graffiti-dc401-oct12.pdf
zffr · 2021-12-30
The author is a professor at CMU who specializes in databases: https://www.cs.cmu.edu/~pavlo/
Not completely related, but his lectures on databases on YouTube are really good. Much better than the DB class I had at college.
random3 · 2020-06-20
It is / will in various shapes. Check out Andy Pavlo's (CMU) work on self-driving databases https://www.cs.cmu.edu/~pavlo/
gregwebs · 2018-05-20
Here are the slides accompanying the talks:
- Andy Pavlo: http://www.cs.cmu.edu/~pavlo/slides/selfdriving-sfo2018.pdf
- Siddon Tang: https://pt.slideshare.net/PingCAP-TiDB/building-a-transactional-keyval…
inconclusive · 2017-01-22
The idea of write-behind logging is slick.
http://www.cs.cmu.edu/~pavlo/papers/p337-arulraj.pdf
zippoxer · 2017-01-21
OP here. Peloton has been posted here before, but didn't get any attention.
I think this database is very interesting even if you don't care about the time saving part of it, since it claims to be a hybrid (OLAP and OLTP), it implements postgres' wire protocol and it claims to compile queries to machine code using LLVM [1].
[1]: https://www.youtube.com/watch?v=mzMnyYdO8jk (slideshow: http://www.cs.cmu.edu/~pavlo/slides/selfdriving-nov2016.pdf)
gkop · 2015-06-04
If this idea appeals to you, you may also be interested in the 2009 paper Graffiti Networks:
A Subversive, Internet-Scale File Sharing Model [0] by Andrew Pavlo.
tl;dr: the researchers discovered that MediaWiki instances were good soft targets.
[0] https://www.cs.cmu.edu/~pavlo/static/slides/graffiti-dc401-oct12.pdf
Cakez0r · 2014-11-07
There is a whitepaper about the details of TAO at https://www.cs.cmu.edu/~pavlo/courses/fall2013/static/papers/11730-atc…
cosud · 2014-10-08
They're blazing fast. The guy who started facebook's SCUBA is behind this.
see the paper on scuba: https://www.cs.cmu.edu/~pavlo/courses/fall2013/static/papers/p767-wien…
emmanueloga_ · 2025-01-14
Kind of, with caveats. For one "extensions can interfere with each other and cause incorrect behavior" [1], and the practicallity of implementations varies. Say, Cypher queries using AGE can be order of magnitude slower than using a dedicated graph DB [2].
Yes, you can drive a Ford Falcon coast-to-coast, but how much gas are you going to spend? Postgres is a solid database but has roots in the 80s. Optimizing for modern hardware would reduce hosting costs and improve efficiency. [3]
This isn’t criticism of Postgres as a database but of the idea that it’s inherently sufficient for all use cases.
--
1: https://www.cs.cmu.edu/~pavlo/blog/2025/01/2024-databases-retrospectiv…
2: https://blog.kuzudb.com/post/what-every-gdbms-should-do-and-vision/
3: https://cedardb.com/blog/ode_to_postgres/#why-is-everyone-still-talkin…