Get the latest tech news

Async I/O on Linux in databases


I've been working on a complex multi-model database for a few weeks now, and recently I took time to simplify and test out an idea I had on a simple key-value database. I started with the basics: A hash table in memory, a simple append-only log for persistence and durability,

No more thread pools to work around blocking disk I/O, no more complex state machines built around epoll... What's the catch? But with async I/O, by the time you send that response, the data might still be sitting in kernel buffers, not yet written to stable storage. In a networked database with replication, you can enhance this failure case by asking the cluster if any replica has the data, and if so, you can repair your version.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Linux

Linux

Photo of databases

databases

Photo of async

async

Related news:

News photo

Rust-Written NOVA Open-Source NVIDIA Driver Being Further Built Out In Linux 6.17

News photo

Linux and Secure Boot certificate expiration

News photo

How to write Rust in the Linux kernel: part 3