All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Typhon Database: Three Configurable Durability Modes in a Single WAL for Flexible Workloads

By

Loïc Baumann

19h ago· 9 min readenInsight

Summary

This article is part of a series about building a database engine called Typhon in C#. It discusses how Typhon implements three different durability modes (Full, Kernel, and Async) within a single Write-Ahead Log (WAL), allowing developers to choose durability guarantees per commit rather than at boot time. The author explains the trade-offs between performance and safety across these modes, drawing inspiration from game engine data management techniques. The article covers technical implementation details including fsync strategies, kernel-level caching, and asynchronous write patterns.

Key quotes

· 4 pulled
Most databases pick one durability strategy at boot time. Typhon picks one per commit — and the surprising part isn't the user-facing API, it's that all three modes share the same Write-Ahead Log.
The Full durability mode calls fsync on every commit. This is the slowest option, but it guarantees that once a commit returns, your data is on disk.
Kernel durability is the middle ground. The data reaches the operating system's page cache, so a process crash won't lose it, but a power failure might.
Async durability never calls fsync at all. The WAL writes to the page cache and returns immediately. This is the fastest option, but it offers no durability guarantees whatsoever.
Snippet from the RSS feed
💡Typhon is an embedded, persistent, ACID database engine written in .NET that speaks the native...

You might also wanna read