Repository navigation
docs: add the HStore paper and illustrate the README - #103
Merged
Merged
Conversation
The paper describes the engine's design (data model, counted and
summarized copy-on-write trees, the tree-of-trees layout, logged keys
and checkpoints, recovery, compaction through the page directory) and
evaluates it against HyperGraphDB. It uses the ACM sigconf layout.
R/diagrams.R draws the architecture figures and R/results.R turns the
benchmark JSON files into the plots, the results table and the \M{...}
macros the text uses for every number, so no measured value is typed
into the text. build.sh points R at the fonts tectonic uses for the
text, draws the figures and compiles the PDF.
Comparison runs of HStore at 2eb85c6 and HyperGraphDB 1.4 on one Azure Standard_D8ds_v5 machine: scale 1 with asynchronous and with synchronous commits (5 runs per system each) and scale 4 with asynchronous commits (3 runs per system), plus before and after runs of HStore for logged keys, inline member trees and records decoded on demand (3 runs each). environment.txt records the machine, disks and JVM. Every run exited cleanly and every query checksum matched between the two systems.
Output of paper/build.sh for the results in the previous commit, so that the paper builds with tectonic alone and the PDF can be read from the repository.
R/diagrams.R draws one hyperedge of each kind from the clinical claims example: claim 0 with its roles and weight, the chronic back pain care pathway in order, and the duplicate billing investigation over three claims. The paper shows it in the data model section. save_figure and save_plot write each figure as a PDF for the paper and, when PAPER_README_IMAGES is set, as an SVG for the README. The results script also writes a wide version of the ratio plot for the README. build.sh sets the variable to docs/images, so one build keeps the paper and the README figures in step.
The README now opens with the example hypergraph, gains a "How it works" section with the engine overview, the tree-of-trees layout, recovery and compaction diagrams, and shows the benchmark ratios and resource plots. The performance section now quotes the Azure runs the paper is built from instead of the earlier laptop runs, and says where HStore is not ahead: the median async commit latency, retained heap, and the slowest single commit at scale 4. The earlier claim that HyperGraphDB opens a crashed store faster no longer holds and is gone.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This adds the HStore paper: one document that covers the design of the engine and its evaluation against HyperGraphDB. The PDF is at
docs/hstore-paper.pdf(14 pages, ACM sigconf layout).What is in it
How the numbers get into the text
Nothing is typed in by hand.
paper/R/results.Rreads the JSON files thatComparison runwrites, and produces the plots, the results table and a\M{...}macro for every number the text quotes. The architecture diagrams are drawn in R as well (paper/R/diagrams.R), in the same fonts as the text.paper/build.shruns R and tectonic and copies the PDF todocs/.docs/development.mdexplains how to rebuild it.Where the results come from
All runs used one Azure
Standard_D8ds_v5VM (Xeon Platinum 8370C, 8 vCPUs, 32 GiB, local SSD, Ubuntu 24.04, GraalVM 25.0.4), built from main at 2eb85c6. The VM was deleted afterwards.All 44 runs exited cleanly, and every query checksum matched between the two systems. The raw files are under
paper/resultsandpaper/ablation;paper/results/environment.txthas the machine details.Findings worth a look
README
The README now has figures, all drawn by the same R code as the paper and written as SVG to
docs/imagesbypaper/build.sh:The performance section now quotes the Azure runs instead of the earlier laptop runs, and says where HStore is not ahead. The earlier claim that HyperGraphDB opens a crashed store faster no longer holds and is gone.