attic-labs / noms

The versioned, forkable, syncable database
Apache License 2.0
7.44k stars 266 forks source link

NBS: Fragmentation tool using new estimate of locality #3658

Closed cmasone-attic closed 7 years ago

cmasone-attic commented 7 years ago

The new version of this tool now estimates the locality of a DB written using the "grandchild" strategy implemented by types.ValueStore. It does do by dividing each level of the graph up into groups that are roughly the size of the branching factor of that level, and then calculating how many physical reads are needed to read each group.

In the case of perfect locality, each group could be read in a single physical read, so that's what the tool uses as its estimate of the optimal case.

Toward #2968

cmasone-attic commented 7 years ago

PTAL. New sync strategy in a separate patch. Seems to do WAY better than the current version, at least by the metric provided by this tool :-)