There is a certain amount of memory that is shared between different processes or threads in which client connections are processed. The thread has its own memory size, where the SQL query comes. In this amount of memory, the SQL query (or a query in another language) is precompiled, interpreted, rebuilt in some way.
Then he goes for the data that he needs to read and change. This data is stored on the disk in a special way. If you look deeper into storage, they lie in fixed chunks (pages) in PostgreSQL is 8Kb, in Oracle you can use different sizes. Different databases are different.

This page is very convenient because it contains a bunch of different data (in fact, it contains tuples) That is, a table, and in it the lines, these lines are packed into large pages.
If a request needs data from one of the pages, it simply raises this page into memory and all workers, threads and database processes will have access to it. If you need a lot, then he will raise a few. They will be cached – this is convenient, productive – memory is faster than disks, that’s all.
In fact, the database can also block at a more granular level, including a single record.
But now we are talking about more theoretical things, and not about the intricacies of deep implementation.
If you need to change at least one record on at least one page, the entire page will be marked as so-called “dirty”. This is done because it is more convenient that way. We drew resources x and y on the diagram – here they are pages. Therefore, you need to do the following operation: somewhere on a piece of paper, write down what changes we made, so that when we go up, read this piece of paper and, using the information from it, restore the page to the state in which we brought it with this update.
Accordingly, the page is marked as “dirty”, and we have a problem, which is that now the snapshot in memory is different from the one on disk. If we fall now, the memory is not persistent, we will lose information about “dirty” pages.
We recorded information about the page in the log and then returned control – everything is fine. If at some point they have fallen, then we read back the Write Ahead Log and using information about these changes, we can roll clean pages to the level of “dirty”. We have a new database again.
This allows us to perform the very recovery that we needed to provide, based on data storage problems, and allows you to recover to the most recent transaction, to the very last action that happened before Mary Ivanna pulled the server out of the socket.
This algorithm is called ARIES and was made in its modern form a long time ago. A fundamental article on its structure and method of recovery in relational databases was published by Mohan in 1992.
Since then, the theory has not been added much – the Write Ahead Log has since remained Write Ahead Log. They all use the concept of pages and the concept of logging changes. The log can be called differently and located in different places:
In MySQL, it's inside InnoDB,
In PostgreSQL, this is a separate directory, which finally became WAL in version 10 instead of PGX-Log;
Oracle calls this Redo Log;
In DB2, WAL.
Basically, everything is more or less the same everywhere – to recover, we use WAL.
The important point is that all this would be very unproductive if we were just writing WAL from the beginning of time. It would grow and grow, and then we would roll these changes into the database for a very long time.
Blog
- Exploring AmonBet: How Modern Players Navigate Digital Entertainment and Leisure Choices
Understanding the Shift Toward Online Casino Experiences The evolution of leisure has taken many forms over the last decade, but few sectors have adapted as quickly as digital entertainment. Online casinos now sit comfortably alongside streaming services and social platforms as regular destinations for evening relaxation. Players no longer need Continue Reading - Der mobile Erlebniswandel: Wie CandySpinz das Spielverhalten in Online-Casinos neu definiert
Warum mobile Nutzer heute mehr erwarten als reine Grafik In den letzten Jahren hat sich die Erwartungshaltung von Online-Casino-Spielern grundlegend verändert. Früher reichte es aus, wenn Slots mit bunten Animationen und einfachen Gewinnlinien punkteten. Heute achten Nutzer vor allem auf flüssige Ladezeiten, intuitive Bedienung und eine klare Übersicht, sobald sie Continue Reading - The Modern Appeal of RetroBet in Today’s Adult Digital Entertainment Scene
How does RetroBet fit into changing online casino habits? Many adults now look for entertainment that combines visual variety with straightforward rules and quick access. RetroBet has become one of the platforms that responds to this demand by offering slots alongside live casino tables that feel immediate and familiar. Players Continue Reading - Exploring Fresh Horizons in Online Slots Through the Lens of Big Bass Splash
How Digital Entertainment Platforms Are Reshaping Leisure Choices Digital entertainment has expanded far beyond traditional television or console gaming, and online casino culture sits at the centre of that shift for millions of adults seeking convenient thrills. Today’s players browse catalogues of hundreds of titles within minutes, choosing between fantasy Continue Reading - Inside the Modern Casino Experience with AviatorCash
How do players describe the overall comfort of an online casino session? Many regular users mention that comfort begins the moment they open the platform on their phone or laptop. The landing page loads quickly, the colors are muted rather than overwhelming, and the main lobby shows games in clear Continue Reading - Inside the Refined World of Avantgarde Casino: How Players Experience Modern Online Entertainment
The Comfort of a Thoughtful Digital Entrance Stepping into Avantgarde Casino feels less like rushing into another gambling site and more like entering a carefully designed lounge where every element exists to reduce friction. Upon loading the homepage, the visual balance immediately catches attention through subtle color palettes and generous Continue Reading