powersync-ja / powersync.dart

SDK that enables local-first and real-time reactive apps with embedded SQLite for Flutter/Dart clients
https://www.powersync.com
133 stars 18 forks source link

powersync-sqlite-core 0.3.0 #185

Closed rkistner closed 1 month ago

rkistner commented 1 month ago

Release notes: https://github.com/powersync-ja/powersync-sqlite-core/releases/tag/v0.3.0

This release removes major performance bottlenecks during incremental sync. Previously, incremental sync would have overhead proportional to the number of synced rows, which typically caused noticeable latency when syncing around 10-100k+ rows. Now, the overhead is only proportional to the number of buckets synced.

The performance improvements required a restructure in the data storage format. Data is migrated automatically, and an app can downgrade back to v0.2.0 or v0.2.1 of powersync-sqlite-core.

Changes:

  • Persist checksums to improve incremental sync performance.
  • Restructure persistence of REMOVE operations to further improve incremental sync performance.
  • Create internal views on powersync_init() instead of extension init, to support SQLCipher.