On Thu, 2019-12-05 at 01:46 -0800, Daniel Phillips wrote: > On 2019-12-04 7:55 a.m., Vyacheslav Dubeyko wrote: > > > <snipped and reoredered> > And here is a diagram of the Shardmap three level hashing scheme, > which ties everything together: > > https://github.com/danielbot/Shardmap/wiki/Shardmap-hashing-scheme > > This needs explanation. It is something new that you won't find in > any > textbook, this is the big reveal right here. > This diagram is pretty good and provides the high-level view of the whole scheme. But, maybe, it makes sense to show the granularity of hash code. It looks like the low hash is the hash of a name. Am I correct? But how the mid- and high- parts of the hash code are defined? It looks like that cached shard stores LBAs of record entry blocks are associated with the low hash values. But what does it mean that shard is cached? Here is a diagram of the cache structures, very simple: > > https://github.com/danielbot/Shardmap/wiki/Shardmap-cache-format > This diagram is not easy to relate with the previous one. So, shard table and shard array are the same entities or not? Or do you mean that shard table is storeed on the volume but shard array is constructed in memory? >There is a diagram here: > > > https://github.com/danielbot/Shardmap/wiki/Shardmap-record-block-format I am slightly confused here. Does header be located at the bottom of the record block? My understanding is that records grow from top of the block down to the header direction. Am I correct? Why header is not located at the top of the block with entry dictionary? Any special purpose here? Thanks, Viacheslav Dubeyko.