Hello, Percona community!
This is rather a technical question to satisfy my curiosity.
I know that both SQL Server & Oracle acquire latches on in-memory data structures (such as pages) to serialize access/writes to the physical representation of the page to prevent lost-updates and corruptions. These latches are causing some sorts of contention in SQL Server at least in high concurrency workload. For instance, the last page in a clustered index is constantly being latched on by one thread causing other threads to be blocked in a waiting state until the exclusive latch is released. This waiting causes performance issues. (More on Microsoft whitepaper here Whitepaper: Diagnose & resolve latch contention - SQL Server | Microsoft Docs )
My question is how do MySQL and Postgres protect their in-memory data structures, I couldn’t find anything online about latches in Postgres or MySQL. Do they use single-threaded access to update memory (sure sounds simpler).