buy a ticket
become our partner

How We Built a Blazing Fast In-Memory Database

The Program Committee has not yet taken a decision on this talk

Photo
Ivan Savu

VeloxDB

Abstracts

Sick of sluggish databases? VeloxDB is a fast, open-source, in-memory database that merges traditional database and ORM. Achieving 2.5 million ACID transactions per second, it’s perfect for high-performance apps. Learn how we did it in our talk - applicable to high-performance devs in any domain.

Developers often encounter significant challenges when working with traditional databases, especially when they’re dealing with high load. NoSQL databases can offer faster performance, but often at the expense of consistency and correctness.

Meanwhile, Object-Relational Mapping (ORM) solutions are a popular choice for simple database access, but current implementations suffer from considerable overhead. However, what if we could eliminate the relational layer between the application and the database? By doing so, we could exploit the ORM interface to its fullest potential and eliminate the N+1 problem that plagues all ORM systems.

We developed VeloxDB, an open-source, ACID-compliant, in-memory database that merges the best features of traditional databases and ORM into a single, optimized solution. With VeloxDB, we achieved 2.5 million ACID transactions per second, a significant improvement over PostgreSQL’s 50k TPS in the same benchmark.

In this talk I will go into secrets and techniques we used to achieve this performance. This knowledge can be applied not only to databases and C#, but can be very useful when building high performance or data intensive applications across many domains and languages.

The following topics are on the agenda:

Custom Locks - VeloxDB utilizes custom locks, as .NET locks simply don’t suffice. Our locks are optimized for excellent multi-core performance and minimal garbage collector stress.

Lightweight Object Orientation - Our streamlined ORM layer significantly reduces the overhead typically associated with traditional ORMs.

Ultra-Fast Conflict Detection - We employ a highly efficient method for detecting conflicts between transactions.

Custom Memory Manager - The data managed by the database is handled by a custom memory manager specifically designed for database use cases. This manager is faster and more lightweight than .NET’s garbage collector.