Aurora DSQL: Scalable, Multi-Region OLTP
Aurora DSQL is a serverless, multi-region active-active SQL database that achieves elastic scalability and strong consistency by decoupling compute, storage, and transaction coordination to minimize cross-region latency through commit-time adjudication.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are trying to organize a massive, chaotic library where millions of people are trying to borrow, read, and rewrite books at the exact same time. In the world of computer science, this is the challenge of databases: systems that store information so applications can find and change it instantly. For decades, the big question was how to make these libraries grow to handle the entire internet without collapsing. The old way was like having a single librarian who had to stamp every single book, creating a long line that slowed everyone down. The newer, "eventual consistency" way was like letting people guess what the book said and fixing the mistakes later, which is fast but risky if you need the truth right now. The goal of modern database engineering is to build a system that is as fast as the guessing method but as reliable as the stamping method, capable of handling millions of transactions per second without anyone ever having to manage the shelves manually.
This paper introduces Aurora DSQL, a new kind of database designed by Amazon Web Services to solve this exact problem. Think of it as a super-smart, self-driving library that can instantly expand or shrink depending on how many people are visiting. The authors built a system that separates the "thinking" (running the SQL code) from the "storage" (keeping the books) and the "rules" (making sure no two people change the same page at once). By using a special "Journal" that acts like a permanent, unchangeable diary of every change made, DSQL allows different parts of the system to work independently. The paper shows that this design lets the database scale from zero users to millions of transactions per second, works across different continents without slowing down, and keeps data perfectly consistent so you never have to worry about reading a book that someone else is currently rewriting.
The Magic of the Disconnected Library
To understand how Aurora DSQL works, imagine a giant library where the librarians, the bookshelves, and the rule-keepers are all in different buildings, connected by super-fast telegrams. In older systems, these parts were glued together; if the shelves got too full, the whole library had to stop and reorganize. DSQL breaks them apart.
First, there are the Query Processors. These are the librarians who talk to you. When you ask for a book, they don't carry the heavy books themselves. Instead, they run inside tiny, secure virtual rooms called Firecracker MicroVMs. These rooms are so efficient they can be created or destroyed in a blink. If you have a sudden rush of visitors, the system instantly builds more rooms. If the rush stops, it tears them down so you don't pay for empty space. This is the "serverless" part: you don't manage the librarians; they just appear when you need them.
Next, there are the Storage Nodes. These are the bookshelves. They don't hold the whole library; they only hold specific sections of books based on a "shard key" (like sorting books by the first letter of the author's name). Because the librarians and the shelves are separate, the librarians can run their own show without waiting for the shelves to catch up. They read from the nearest shelf in their own neighborhood (Availability Zone), which makes reading incredibly fast.
Finally, there are the Adjudicators and the Journal. The Adjudicators are the rule-keepers who decide if a change is allowed. The Journal is the master diary. When you want to change a book (a "write"), the librarian writes the change on a piece of paper but doesn't put it on the shelf yet. They send it to the rule-keeper. The rule-keeper checks if anyone else is trying to change that same book at the same time. If it's clear, the rule-keeper writes the change into the Journal. This Journal is the most important part: it's a permanent, ordered list of every single change that has ever happened. Once something is in the Journal, it is safe forever, even if the shelves or the librarians vanish.
The "No-Wait" Reading Trick
One of the coolest tricks in this paper is how it handles reading. In many databases, if you want to read a book, you have to wait for the librarian to make sure no one is currently writing in it. This causes lines and delays. DSQL uses a clever time-travel trick called Multi-Version Concurrency Control (MVCC).
Imagine that every time a book is changed, the library doesn't erase the old version. Instead, it creates a new copy with a timestamp. When you ask for a book, you don't ask for "the book"; you ask for "the book as it was at 2:00 PM." The system then finds the version that was valid at 2:00 PM. Because the system uses super-precise clocks (accurate to microseconds), it knows exactly which version to show you. This means you can read a book while someone else is writing a new one, and you won't see their messy, half-finished changes. You see a perfect, frozen snapshot of the past. This allows millions of people to read at once without ever blocking each other.
The Multi-Region Superpower
The paper also tackles the problem of distance. Usually, if you have a library in New York and one in London, keeping them in sync takes time because of the speed of light. If you try to update a book in both places at once, you have to wait for a message to travel across the ocean, which slows everything down.
DSQL solves this by being active-active. This means you can have a library in New York and a library in London, and both are fully open for business at the same time. When you make a change in New York, the system writes it to the Journal. The Journal then sends a copy to London. The magic is that this only happens once, at the very moment you hit "commit" (finish the transaction). The system doesn't stop you from reading or writing while the message travels. It uses a "quorum" system, meaning it only needs to confirm the change in two out of three regions to call it safe.
The paper measured this and found that even with the distance between Virginia and Oregon (about 62 milliseconds round-trip), the system only pays that "distance tax" once per transaction. For reading, it's even faster because you read from the local library. The authors show that this design allows the database to stay fast and consistent even if an entire region (like a whole city) goes offline due to a disaster.
The Rules of the Game
The authors were very careful about what they promised. They chose Snapshot Isolation, which is a specific set of rules for how transactions behave. It's like saying, "You can read the book as it was when you started reading, and you can change it when you finish, but if someone else changed it in the meantime, you have to try again." This is different from stricter rules that would force you to wait for a lock, which slows things down.
The paper explicitly rules out the idea that you need a single "leader" to manage everything. In many systems, one computer is the boss, and if it breaks, everything stops. DSQL has no single boss. Every part can scale up or down, and if one part fails, the others just keep going. The paper also rules out the idea that you need to manage the hardware yourself. The system handles the "heat" (which parts are getting too busy) automatically. If a section of the library gets too crowded, the control plane (the library manager) automatically splits it into two smaller sections and moves some books to a new shelf, all without you doing anything.
Testing the Theory
The authors didn't just guess that this would work; they tested it heavily. They used a method called deterministic simulation, where they ran the system in a computer program that could simulate millions of errors, network delays, and crashes in a fraction of a second. They found that the system could handle these errors without losing data or getting confused.
They also ran real-world style tests (like the TPC-C benchmark, which simulates a busy store). The results showed that DSQL could scale up from a cold start (where it has very few resources) to handling millions of operations per minute. It took about 25 minutes to ramp up to full speed from a completely empty state, but once it was warm, it was incredibly fast. The paper notes that while they are very confident in these results, they are still working on adding more features like foreign keys (which link tables together) and stored procedures.
The Bottom Line
Aurora DSQL is a proof that you can have the best of both worlds: a database that is as easy to use as a simple service (where you don't manage anything) and as powerful as a massive, global system. By separating the thinking, the storage, and the rules, and by using a permanent journal to keep track of time, it allows applications to grow from zero to millions of transactions without breaking a sweat. It's a system designed for a world where things change fast, where disasters happen, and where you need to know that the information you are reading is the absolute truth, right now.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.