Skip to content
Tech News
← Back to articles

Why I'm Building a Database Engine in C#

read original get C# Database Development Kit → more articles
Why This Matters

This article highlights the innovative effort to build a high-performance, embedded ACID database engine in C#, challenging the conventional wisdom that managed languages are unsuitable for microsecond-latency systems. By leveraging advanced techniques, the project demonstrates that C# can meet the demanding performance requirements of real-time applications, potentially reshaping industry perceptions and expanding the use of managed languages in high-performance database development.

Key Takeaways

Why I'm Building a Database Engine in C#

28 March 2026 - 16 mins read time

Tags: csharp dotnet database performance typhon

💡Typhon is an embedded, persistent, ACID database engine written in .NET that speaks the native language of game servers and real-time simulations: entities, components, and systems.

It delivers full transactional safety with MVCC snapshot isolation at sub-microsecond latency, powered by cache-line-aware storage, zero-copy access, and configurable durability.

Series: A Database That Thinks Like a Game Engine Why I’m Building a Database Engine in C# (this post) What Game Engines Know About Data That Databases Forgot Microsecond Latency in a Managed Language (coming soon)

When I tell people I’m building an ACID database engine in C#, the first reaction is always the same: “But what about GC pauses?”

It’s a fair question. Nobody builds high-performance database engines in .NET. The assumption is that you need C, C++, or Rust for this class of software — that managed languages are fundamentally disqualified from the microsecond-latency club.

After 30 years of building real-time 3D engines and systems software, I chose C# anyway. The project is called Typhon: an embedded ACID database engine targeting 1–2 microsecond transaction commits. And the reasons behind that choice might change how you think about what C# can do.

The Case Against C# (Let’s Steel-Man It)

... continue reading