Multithreaded Execution Model for Queries With ORDER BY and LIMIT ClausesThis small post continues the previous post dedicated to multithreaded query execution in databases with column-oriented storage format. This time we'll consider queries like the following: SELECT SearchPhrase FROM hits WHERE SearchPhrase IS NOT NULL...Jun 9, 2024 · 2 min readpuzpuzpuz.dev
An mmap-based hash table optimizationmmap is a controversial topic among the database community. The common belief is that it's no good for a database, but in my experience, it does a decent job for an analytical database, when you want to scan columns stored in a column-oriented format...Jun 1, 2024 · 2 min readpuzpuzpuz.dev
Seqlock-Based Atomic Memory SnapshotsLast time we discussed k-word CAS algorithm and came to the conclusion that seqlock-based atomic snapshots may be used as an alternative in situations when your writes are infrequent and single-writer limitation is acceptable, but you want the reader...1AAug 6, 2023 · 5 min readpuzpuzpuz.dev
A Few Thoughts on K-Word CASA few months ago I went through Efficient Multi-word Compare and Swap paper, so here are a few thoughts on the algorithm. Long story short, I have mixed feelings about this k-word CAS algorithm. It focuses on nice properties of the CAS operation, suc...Jul 6, 2023 · 2 min readpuzpuzpuz.dev
The Secret Life of fsyncSeveral times I've heard opinions that many mass-market SSDs and HDDs don't provide sufficient durability guarantees and Linux can do nothing with that. Namely, after an fsync() call recently modified data can still sit in the drive's volatile write ...Mar 31, 2023 · 4 min readpuzpuzpuz.dev