Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On-disk storage & single stride size #48

Open
wants to merge 142 commits into
base: main
Choose a base branch
from
Open

On-disk storage & single stride size #48

wants to merge 142 commits into from

Conversation

density215
Copy link
Member

This is a very large PR, you'd better look at the resulting code in the source dev branch, than at the diffed code from the PR.

Major changes are:

  1. The store now supports four different persist strategies in its configuration:
  • MemoryOnly: current records are stored in memory only. New records replace existing records.
  • PersistOnly: current records are persisted to disk only. New records replace existing records.
  • PersistHistory: current records are stored in memory only. Existing records are stored on disk, when a newer record is written.
  • WriteAhead: current records are stored both in memory and persisted to disk. Existing records are stored on disk, when a newer record is written.
  1. The different data-structures used for storing are now more cleanly separated. src/lib.rs has more details, that's also a good starting point to get a grip on the whole repo.
  2. Different stride sizes for all data structures have been reduced to one size: 4. Benchmarking on Rotonda-store 0.2 resulted in this number being the best performing size for all data structures involved, in both memory consumption and speed. This also vastly simplified the code, and reduces the amount of indirections needed to go from stride to stride.

@density215 density215 requested review from DRiKE, bal-e and partim March 11, 2025 11:56
@density215 density215 added this to the Rotonda-store 0.5 milestone Mar 11, 2025
@density215 density215 marked this pull request as ready for review March 26, 2025 18:59
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.

1 participant