HackerTrans
TopNewTrendsCommentsPastAskShowJobs

bddicken

no profile record

Submissions

How to not screw up a benchmark

planetscale.com
3 points·by bddicken·قبل شهرين·0 comments

Managing Postgres traffic spikes at Figma

figma.com
4 points·by bddicken·قبل شهرين·0 comments

20 Years of Postgres Performance

vondra.me
2 points·by bddicken·قبل 4 أشهر·0 comments

Scaling Postgres Connections with Pgbouncer

planetscale.com
1 points·by bddicken·قبل 4 أشهر·0 comments

Add AI to Any App

simeongriggs.dev
1 points·by bddicken·قبل 4 أشهر·0 comments

Startups Are Sequencing Problems

benhylak.substack.com
2 points·by bddicken·قبل 5 أشهر·1 comments

Benchmarking Postgres 17 vs. 18

planetscale.com
184 points·by bddicken·قبل 9 أشهر·64 comments

comments

bddicken
·قبل 3 أشهر·discuss
It may not have the popularity it once did, but MySQL still powers a huge % of the internet.
bddicken
·قبل 3 أشهر·discuss
What about spanner specifically benefits from random ids over sequential ones?
bddicken
·قبل 3 أشهر·discuss
Simple sequential IDs are great. If you want UUID, v7 is the way to go since it maintains sequential ordering.
bddicken
·قبل 3 أشهر·discuss
+1
bddicken
·قبل 3 أشهر·discuss
I've also written about sharding.

https://planetscale.com/blog/database-sharding
bddicken
·قبل 3 أشهر·discuss
B+trees combined with sequential IDs are great for writes. This is because we are essentially just appending new rows to the "linked list" at the bottom level of the tree. We can also keep a high fill % if we know there isn't a lot of data churn.

If you're sharding based purely on sequential ID ranges, then yes this is a problem. Its better practice to shard based on a hash of your ID, so sequential id assignments turn into non-sequential shard keys, keeping things evenly distributed.
bddicken
·قبل 3 أشهر·discuss
It's really just a matter of tradeoffs. B-trees are great, but are better suited for high read % and medium/low write volume. In the opposite case, things like LSMs are typically better suited.

If you want a comprehensive resource, I'd recommend reading either Designing Data Intensive Applications (Kleppman) or Database Internals (Petrov). Both have chapters on B-trees and LSMs.
bddicken
·قبل 3 أشهر·discuss
I've read this paper and it's a neat idea. It hasn't been introduced into popular oss databases like postgres and mysql, and my understanding is it has some drawbacks for real prod use vs ths simplistic benchmarks presented in the paper.

Would love to know if anyones built something using it outside of academic testing.
bddicken
·قبل 3 أشهر·discuss
Oh hey, I wrote this! Happy to chat more about the article here. Databases are kinda my thing.
bddicken
·قبل 4 أشهر·discuss
epic
bddicken
·قبل 5 أشهر·discuss
Yep. Its a wonderful capability to have for some situations, but for 90% of applications SERIALIZABLE isolation is overkill.
bddicken
·قبل 5 أشهر·discuss
These are still transactions! It's not uncommon for a large % of transactions in an OLTP workload to be only one query without explicit BEGIN / COMMIT; This is called an autocommit transactions or implicit transaction.
bddicken
·قبل 5 أشهر·discuss
Thanks, fixed!
bddicken
·قبل 5 أشهر·discuss
Author here. You're right! I'm fixing now.
bddicken
·قبل 5 أشهر·discuss
I appreciate this feedback, and then you read through it with enough rigor to notice.
bddicken
·قبل 5 أشهر·discuss
Notation is useful. Citations are nice for further reading. But I don't agree more of this makes for a better article!
bddicken
·قبل 5 أشهر·discuss
Author here. Thank you! These visuals are built with js + gsap (https://gsap.com)
bddicken
·قبل 5 أشهر·discuss
Author here. This is good feedback.

The combination of transactions, isolation levels, and MVCC is such a huge undertaking to cover all at once, specially when comparing how it's done across multiple DBs which I attempted here. Always a balance between technical depth, accessibility to people with less experience, and not letting it turn into an hour-long read.
bddicken
·قبل 7 أشهر·discuss
This is changing soon with Neki.

https://www.neki.dev
bddicken
·قبل 8 أشهر·discuss
Love how easy it is to visually correlate schema changes to performance improvements in Insights.