You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 6, 2022. It is now read-only.
One critical use case is the replication of blockchain data.
Because of the way the data is encoded (each new block is added as a new root node, adding a layer of depth every cycle) the structure ends up being a very deep tree with fairly little data at each depth. Therefor, the bottleneck tends to be round-trip time as the requester doesn't have knowledge of the links at each depth until they receive each block.
A proposed solution has been asking for a indefinite number of blocks from a peer, potentially using an advanced selector interface (see IPLD Selectors).
Additional Concerns:
Asking for an indefinite amount of data is always risky. At the very least there will need to be some kind of cancellation mechanism.
Pulling the data from multiple peers is very difficult if you don't know the set of data you're asking for. Note: @jbenet commented that this complexity should be pushed up to the consumer of the API to deal with parallelism.
Any local caches are irrelevant as the remote end won't know the cache state of the requester.
Action Items:
Collect a few sample data sets for testing and modeling.