Skip to content

Conversation

@FionaVerzivolli
Copy link
Collaborator

All B-Tree operations first go through the cache, modified pages are queued for background writing, and there is proper cleanup and flushing and destruction.

The block level cache and multi threaded writer queue use the PageCache class and the WriterQueue class. The PageCache class is used for LRU based caching, dirty page tracing, eviction when the cache is full, and operations with mutex protection. The WriterQueue class is used for multi threaded background write processing, queue based batching, and async write processing.

This design keeps content-addressable deduplication while achieving 2.3× throughput improvements by caching hot pages and processing writes asynchronously in background threads, so that there are no more I/O bottlenecks that previously serialized database operations.

@FionaVerzivolli FionaVerzivolli merged commit 2c6f651 into main Aug 31, 2025
2 checks passed
FionaVerzivolli added a commit that referenced this pull request Sep 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants