Extreme Performance Architecture
summary
Claims a 10x speedup by redesigning RavenDB’s internals: replaces per-request GC-heavy allocations with a pooled context pool and arena-style native allocations, writes a custom streaming JSON parser and stores data in a random-access memory-mapped breathable format, builds a bespoke storage engine to control IO, and batches disk writes. Result: old ~1,500 writes/sec → first run ~200 then ~20k/30k and sustained peaks of ~100k–150k writes/sec while avoiding long GC pauses.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:07The Moon Landing codebase
- 3:07Architecture
- 6:49Allocation
- 10:32GC
- 12:06Parsing
- 13:53Network
- 17:11IO
- 20:00Variant
- 21:30Control
- 24:11Step Back
- 25:18Pause Issues
- 25:56Memory
- 30:55Policy
- 34:59Disk IO
- 41:44Data Format
- 42:32Storage Engine
- 44:31Performance Benchmark
- 49:36Algorithms
- 52:38Document Database
- 57:08C or C
related talks
01h 00mPerformance Optimizations in the Wild
01h 03mRavenDB: Practical Considerations for ACID/MVCC Storage Engines
32mBuilding .NET software with focus on performance and scalability
33mReaching Ludicrous Speed
37mMoving on from RocksDB to something FASTER
26mLeveraging Moore's Law to Optimize Database Performance
15mImproving Performance of Flash Based Key-Value Stores Using Storage Class Memory...
29mThe Design and Evolution of Event-Driven Databases
