-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to raw multihashes in datastores #6815
Comments
@lidel if you find yourself with some time, it would be really nice to get this in before 0.5.0. We're already doing one migration, so doing a second isn't a big deal. |
The final pieces here are to:
|
Just a note that this affects us at Peergos as we have just implemented our own blockstore which needs to be compatible with IPFS's. I see your logic and it shouldn't be a problem for us. |
One small comment is that GC can significantly benefit in speed by knowing that a block is raw and hence has no links in it - i.e. it doesn't need to retrieve the block at all to follow the links. This benefit is lost in this model. This affects remote blockstores like S3 a lot, especially as the genuinely raw blocks tend to be much larger than cbor blocks. Although I might be wrong because you are still theoretically starting from a GC root which is a cid, so I think that means you don't lose the benefit I just stated? |
Thanks for the heads up.
Correct. GC already implements this optimization, as far as I know. It does two things.
|
Update: @lidel is busy. @hsanjuan how would you feel about picking this up? The main pieces left are in #6815 (comment). |
Note: #6817 should make fixing the tests easier. |
@Stebalien , could IPFS do inspiration in git for data deduplication? |
IPFS does do data deduplication, like Git.
(if you'd like to discuss this, let's talk on the forums)
|
Sorry @Stebalien, this only came now to my attention. I would not block release for it or make it depend on me, as I have very little availability in the next two weeks. That said, I could work on it (and would like to), but we are looking at the end of january... |
That's fine. We'll see if someone has time before then but that's unlikely. |
Part of: ipfs/kubo#6815 This commit was moved from ipfs/go-ipfs-ds-help@11890cc
Part of: ipfs/kubo#6815 This commit was moved from ipfs/go-ipfs-blockstore@8f266ca
Part of #4143.
Currently, we store blocks by CID in the datastore. However, a single block can have multiple CIDs:
Plan:
TODO: put this in the right spot: ipfs/fs-repo-migrations#95
2021-12-02 context on why were' doing this:
The text was updated successfully, but these errors were encountered: