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
The core of cr-sqlite drops metadata aggressively to keep DB size down, even when offline for prolonged periods of time or doing thousands of writes per second.
The basic idea is that the network layer would package changes from last_seen db_version to current db_version in a single block and peers would write that block in a single transaction.
Blocks can be as small as a single db_version or as large as the user wants, so long as:
The entire block is applied at once
Blocks are applied in-order
If blocks have not been sent to a peer yet, they can be merged together to save space. There is a balance here between:
having really large blocks but less overall data
having really small blocks but more overall data
The text was updated successfully, but these errors were encountered:
The core of cr-sqlite drops metadata aggressively to keep DB size down, even when offline for prolonged periods of time or doing thousands of writes per second.
This choice, however, impacts how transactions are synced (documented here: https://vlcn.io/blog/how-crsqlite-transactions-work-today) but users can maintain transactional sync in the network layer if desired.
The basic idea is that the network layer would package changes from
last_seen db_version
tocurrent db_version
in a single block and peers would write that block in a single transaction.Blocks can be as small as a single db_version or as large as the user wants, so long as:
If blocks have not been sent to a peer yet, they can be merged together to save space. There is a balance here between:
The text was updated successfully, but these errors were encountered: