~/talk

RavenDB: Practical Considerations for ACID/MVCC Storage Engines

slides:none on file

Describes RavenDB’s Voron storage engine built in C# with a page-based MVCC model: copy-on-write modified pages, a page translation table for snapshots, and a journal with checksums written via direct I/O / FUA. Commits use background async flush and transaction merging so a single-writer can still reach 150–200k writes/sec. Uses diffs and compression to cut IO, preallocated 256MB journal files, and tests with block-reordering tools (Alice/Bob) plus power-cycle experiments; recovery applies validated journal entries to the data file.

AI-written summary · about

  1. 0:00Introduction
  2. 1:41How to build a storage engine
  3. 2:55What is RavenDB
  4. 4:33Pet Peeve
  5. 10:27Communication
  6. 17:19Data Model
  7. 19:08Page Translation Table
  8. 21:26Page Translation Table Demo
  9. 21:49Multiple Pages
  10. 25:27Committing Transactions
  11. 26:11Fsync Gate
  12. 27:45Getting to Durable System
  13. 29:16Programming Models
  14. 33:22Sequential Rights
  15. 35:24Compression
  16. 38:43Transaction Merging
  17. 44:58Provisioning IO
  18. 52:31Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.