frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Decomposing Transactional Systems

https://transactional.blog/blog/2025-decomposing-transactional-systems
132•pongogogo•1y ago

Comments

karmakaze•1y ago
> commit version is chosen — the time at which the database claims all reads and writes occurred atomically.

This post doesn't mention transaction isolation specifically though it does say "How does this end up being equal to SERIALIZABLE MySQL?" So maybe I'm supposed to consider this post only for 'Every transactional system' running with SERIALIZABLE transaction isolation. I don't particularly care about that. I do care that the database I use clearly states what its isolation names mean in detail and that it does exactly what it says. e.g. I don't expect MySQL SERIALIZABLE to exactly mean the same as any other database that uses the same term.

mjb•1y ago
MySQL Serializable is pretty similar to serializable in other databases, in terms of the observable anomalies. There's a good set of tests here: https://github.com/ept/hermitage

> So maybe I'm supposed to consider this post only for 'Every transactional system' running with SERIALIZABLE transaction isolation.

No, it's a general point about the nature of transactions in DBMSs, and the different implementation choices. As the article says, there are some variations (e.g. MVCC at levels lower than serializable inherently has two 'order' steps).

karmakaze•1y ago
I'm not seeing the mention of two 'order' steps. Are you referring to the larger part of what I quoted?

> MVCC databases may assign two versions: an initial read version, and a final commit version. In this case, we’re mainly focused on the specific point at which the commit version is chosen — the time at which the database claims all reads and writes occurred atomically.

For non-SERIALIZABLE isolation there may be no such "time at which the database claims all reads and writes occurred atomically", which is how I took the rest of the post to mean when running with SERIALIZABLE isolation.

transactional•1y ago
(Hi! Post author here.)

It is written with a lean towards serializable, partly because there's a wide variety of easy examples to pull which all implement serializable, but the ideas mostly extend to non-serializable as well. Non-serializable but still MVCC will also place all of their writes as having happened at a single commit timestamp, they just don't try to serialize the reads there, and that's fine. When looking at non-serializable not MVCC databases, it's still useful to just try to answer how the system does each of the four parts in isolation. Maybe I should have been more direct that you're welcome to bend/break the mental model in whatever ways are helpful to understand some database.

The line specifically about MySQL running at serializable was because it was in the Spanner section, and Spanner is a (strictly) serializable database.

karmakaze•1y ago
Thanks for the clarifications and diagrams. I can see how using something like Spanner from the outset makes sense to use and stick with serializable isolation. With other SQL dbs, I've mostly seen repeatable read, read committed, and even read uncommitted used in the name of performance. Read committed works fine but you have to design everything for it from the start with thoughtful write and read sequences.

Moving to serializable should be easy but isn't in the case of Spanner and the like because you can't make 100+ of sub-millisecond queries to respond to an API request if that's how your app evolved.

The way I imagine the future is to bring the code closer to the data like stored procedures, but maybe in a new way like modern languages compiled to run (and if necessary retry) in a shard of the database.

mjb•1y ago
This is great, really worth reading if you're interested in transactions.

I liked it so much I wrote up how the model applies to Amazon Aurora DSQL at https://brooker.co.za/blog/2025/04/17/decomposing.html It's interesting because of DSQL's distributed nature, and the decoupling between durability and application to storage in our architecture.

maniacalhack0r•1y ago
DSQL is so cool - have been following since the release and once it supports more of the postgres feature set + extensions it’ll be a killer. Fantastic architecture deep dive at ReInvent as well.
pongogogo•1y ago
Hey Mark, I actually found this post via yours so thanks!

Firefox Smart Window – The browsing assistant that thinks with you, not for you

https://www.firefox.com/en-US/smart-window/
1•theamazing0•1m ago•0 comments

Show HN: Chrome new prompt API demo

https://matmercer.github.io/prompt-api-demo/
1•MatMercer•2m ago•0 comments

The Field Deployed Engineer's Handbook: Production AI in the Real World

https://leanpub.com/fde-handbook
1•dvaughan•2m ago•0 comments

Data Modeling of Matter Through Space-Time with a Linked Data Hypergraph(LDH) [pdf]

https://frederick.graphmetrix.net/public/LDH-PATENT-12608630.pdf
1•gibsonf1•2m ago•1 comments

Making of Second Nature – 2026 Amiga 500 demo

https://blog.grahambates.com/posts/second-nature/
1•jharsman•3m ago•0 comments

A lost ancient script reveals how writing as we know it began

https://www.newscientist.com/article/2524042-a-lost-ancient-script-reveals-how-writing-as-we-know...
1•emot•3m ago•0 comments

De-link: An open-source ESP32-S3 e-paper development kit

https://github.com/iandchasse/de-link
1•dpattila•7m ago•0 comments

A construction of the Hat tilings by a Markov partition

https://www.mathstat.dal.ca/~selinger/hat-partition/
1•robinhouston•7m ago•0 comments

Cursed_browser: Web browser with a VLM as rendering engine

https://github.com/scosman/cursed_browser
1•misterdata•8m ago•0 comments

He Couldn't Land a Job Interview. Was AI to Blame?

https://www.wired.com/story/he-couldnt-land-a-job-interview-was-ai-to-blame/
1•leotravis10•8m ago•0 comments

AI Coding Agent Can Exfiltrate Your Credentials. You Would Never Know

https://www.hadijaveed.me/2026/04/11/ai-agent-credential-exfiltration/
1•speckx•9m ago•0 comments

I won't buy Framework laptop only because of the touchscreen

2•zmaznevegor•9m ago•0 comments

AI Increased Output – Revenue Stayed Flat

https://0byte.io/articles/ai_increased_output_revenue_stayed_flat.html
1•0bytematt•11m ago•0 comments

New wasp named after Sir David Attenborough for his 100th birthday

https://www.nationalgeographic.com/animals/article/new-wasp-named-after-sir-david-attenborough-on...
1•1659447091•11m ago•0 comments

How Two Duke Alumni Helped Conservatives Take over the NEH

https://www.theassemblync.com/news/education/higher-education/how-two-duke-alumni-helped-conserva...
1•petethomas•13m ago•0 comments

Dayton suspends Flock contract, says data used for immigration enforcement

https://hub.coxfirstmedia.com/local/dayton-suspends-flock-license-plate-readers-says-data-used-fo...
2•JohnMakin•16m ago•0 comments

Natural Language Autoencoders: Turning Claude's Thoughts into Text

https://www.anthropic.com/research/natural-language-autoencoders
3•instagraham•17m ago•0 comments

How Can We Improve?

https://gustav.im/thoughts/how-can-we-improve
2•abraxas_•17m ago•0 comments

Uber's $77M plan to rewrite the California constitution

https://sfstandard.com/2026/05/07/uber-accident-ballot-measure-california/
3•nickvec•17m ago•0 comments

Security analysis of Velociraptor DFIR platform (6 findings, vendor responses)

https://medium.com/@sreejith.gopinath/velociraptor-security-analysis-six-findings-and-a-conversat...
2•sreejithg•19m ago•0 comments

Binary Serialization Survey

https://github.com/cloudstreet-dev/Binary-Serialization-Survey
1•DavidCanHelp•19m ago•0 comments

Gmail trick: multiplying your address

https://tools.myurll.in/gmail-multiplier
3•nookeshkarri7•20m ago•1 comments

'Affordable' Pittsburgh doesn't have enough affordable housing – here's why

https://theconversation.com/affordable-pittsburgh-doesnt-have-enough-affordable-housing-heres-why...
1•PaulHoule•20m ago•0 comments

Show HN: Agent-data – a CLI for giving agents real-time, structured data

https://agent-data.dev/
2•jb_hn•20m ago•0 comments

IMF warns new AI models risk 'systemic' shock to finance

https://www.ft.com/content/103d73d3-7119-4dee-8c47-b3fc62d2f1e6
2•doener•21m ago•0 comments

Cancer Rates Are Higher Near Large Livestock Feeding Operations in 3 States

https://insideclimatenews.org/news/12042026/cancer-rates-higher-near-livestock-operations-study-f...
1•speckx•23m ago•0 comments

Mapping Strings to Float Arrays in Go: How Fast Can We Go?

https://lemire.me/blog/2026/05/05/mapping-strings-to-float-arrays-in-go-how-fast-can-we-go/
1•ibobev•23m ago•0 comments

GoNB – A Go Notebook Kernel for Jupyter

https://github.com/janpfeifer/gonb
1•amai•23m ago•0 comments

Checking Multiplication Overflow

https://lemire.me/blog/2026/05/06/checking-multiplication-overflow/
2•ibobev•23m ago•0 comments

Text Files as a User Interface

https://ratfactor.com/cards/text-files-as-ui
1•ibobev•24m ago•0 comments