Skip to content
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

Freezer for historical chain data stored as a flat file #5389

Open
1 task
non-fungible-nelson opened this issue Apr 25, 2023 · 0 comments
Open
1 task

Freezer for historical chain data stored as a flat file #5389

non-fungible-nelson opened this issue Apr 25, 2023 · 0 comments
Labels
bonsai epic icebox items that need more consideration, time, or can wait mainnet

Comments

@non-fungible-nelson
Copy link
Contributor

non-fungible-nelson commented Apr 25, 2023

Users want historical data to be frozen to reduce overall storage requirements/compaction of the blockchain DB. This will also enable users to move the ancient data to a slower disk than the primary SSD.

Can we also have Backwards sync use the freezer to store old blockchain data during the sync.

https://geth.ethereum.org/docs/fundamentals/databases

https://superlunar.com/post/geth-freezer-files-block-data-done-fast.html

Notes

  • Investigate but maybe don't need to do? Probably less impactful than others
    • Expected performance impact would be due to less RocksDB compaction
    • but maybe BlobDB makes this less impactful?
  • coordinate with Backward Sync rework
  • Can then optimise freezer storage for reads as can assume it will rarely be modified
  • Chain data could include items from
    private static final Bytes BLOCK_HEADER_PREFIX = Bytes.of(2);
    private static final Bytes BLOCK_BODY_PREFIX = Bytes.of(3);
    private static final Bytes TRANSACTION_RECEIPTS_PREFIX = Bytes.of(4);
    private static final Bytes BLOCK_HASH_PREFIX = Bytes.of(5);
    private static final Bytes TOTAL_DIFFICULTY_PREFIX = Bytes.of(6);
    private static final Bytes TRANSACTION_LOCATION_PREFIX = Bytes.of(7);

Tasks

@non-fungible-nelson non-fungible-nelson added the icebox items that need more consideration, time, or can wait label Apr 25, 2023
@jframe jframe added mainnet TeamGroot GH issues worked on by Groot Team bonsai and removed icebox items that need more consideration, time, or can wait labels Sep 12, 2023
@siladu siladu changed the title Freezer for historical bonsai data stored as a flat file Freezer for historical chain data stored as a flat file Sep 25, 2023
@siladu siladu added the epic label Sep 25, 2023
@non-fungible-nelson non-fungible-nelson added the icebox items that need more consideration, time, or can wait label Jan 23, 2024
@macfarla macfarla added this to the 2024 Q1 Besu team milestone Feb 2, 2024
@jflo jflo removed the TeamGroot GH issues worked on by Groot Team label Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bonsai epic icebox items that need more consideration, time, or can wait mainnet
Projects
None yet
Development

No branches or pull requests

6 participants