-
Notifications
You must be signed in to change notification settings - Fork 4.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
Accounts DB proposal: Tiered-storage design and cold-storage format #30003
Conversation
While reviewing the reference impl for SIMD 16, one thing that would be good to think though is if we can make this format flexible to changes. Specifically adding/removing fields within Here's the specific part I'm referring to, where they would like to add an "application fees" field to the account, but that's hard with the current design: #30137 (comment) |
Yes, the format handles optional fields by storing flags in the account meta where each bit represents whether this account has an optional field. And the optional field is stored in the data block. |
@yhchiang-sol hello , is there a brief implementation of the proposal ? And is there a brief test about the implementation of the proposal? As far as I can see, there is only a format of the cold storage proposed now, is that right? |
It's not entirely clear what happens to appendvec under this proposal. Does it get replaced? |
Hello, @lurais. The brief sketch is in #28790. It is still WIP as the current get_account API is still tied to hot storage as it requires
I am currently extending the format to allow it to support hot storage as well. The key idea is to use aligned & uncompressed data block for hot-storage, and have a footer field to describe the data block format (in the current doc, the I will share more details and update the doc once the idea is more polished.
@CantelopePeel : If the new format handles hot-storage well (will update the proposal), appendvec will be replaced eventually. |
Revised and published a newer version of the proposal under SIMD: solana-foundation/solana-improvement-documents#37 The new version includes both hot- and cold- storage formats. |
Moved the proposal back to |
Summary of Changes
This PR includes the proposal for the tiered-storage design and
cold-storage format for accounts DB.
It is an updated design proposal based on the previous proposal (#28550),
sketch implementation (#28790), and online/offline discussions with
jwash, brooks, and many Solana engineers.