Implement Partitioning / Sectioning in Benchtop Tables #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds Sectioning and Partitioning to jsontable in order to support storing Rows together on disk by shared id prefixes to promote scalability of benchtop storage past single GB per table sizes.
Operations before that would be forced to search the entire table can be more granular, only being needed on certain sections / partitions.
running on cbds development for ~ a month now.
This PR is getting more into deep database design -- Performance improvements are not easy to get anymore, reliability and resilience is what his DB driver needs more of. It's kindof unclear if some of the changes in this PR are better than the previous versions --
Compression saves about 2/3 of the space, but stuff like mmap made sense initially, but looking back I think it just adds a-lot of RAM and GC pressure for not a-lot of speed boost.