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
db-sync maintains a ledger state internally and applies each block it receives to it. This is done to extract a number of data that are not included in the block, like rewards, stake distribution, deposits refunds and a number of ledger events, which are the byproduct of block application to a ledger.
Ledger has become pretty big in memory and block application takes a big chunk of the total db-sync syncing. At the same time db-sync is used for many different reason, like data analysis, by light wallets, and recently for smash. Many of the above never use the table fields that require the ledger state. Resources can be drastically reduced by running a flavour that doesn't maintain ledger state.
Changes that this will be required to provide this option:
ledger states disk snapshots will not be necessary
rewards validation will not be executed, since stake accounting requires ledger state.
some table fields may need to become nullable. We can't have different schemas, so we will need to fit all options to the same schema.
We will need good documentation to make sure users know what is and what is not available in the db and what queries are valid, based on the options provided. We already do something like this with the extended version.
snapshots will still be compatible with all options.
The text was updated successfully, but these errors were encountered:
kderme
added
bug
Something isn't working
audit
issues raised as a result of internal or external audit
enhancement
New feature or request
and removed
bug
Something isn't working
labels
Oct 21, 2021
db-sync maintains a ledger state internally and applies each block it receives to it. This is done to extract a number of data that are not included in the block, like rewards, stake distribution, deposits refunds and a number of ledger events, which are the byproduct of block application to a ledger.
Ledger has become pretty big in memory and block application takes a big chunk of the total db-sync syncing. At the same time db-sync is used for many different reason, like data analysis, by light wallets, and recently for smash. Many of the above never use the table fields that require the ledger state. Resources can be drastically reduced by running a flavour that doesn't maintain ledger state.
Changes that this will be required to provide this option:
extended
version.snapshots will still be compatible with all options.
The text was updated successfully, but these errors were encountered: