Skip to content

Instantly share code, notes, and snippets.

@ilyaigpetrov
Last active January 26, 2020 14:58
Show Gist options
  • Save ilyaigpetrov/9d82a9cae5453785374f to your computer and use it in GitHub Desktop.
Save ilyaigpetrov/9d82a9cae5453785374f to your computer and use it in GitHub Desktop.
Client/Server Data Synchronization Solutions | by https://git.io/ilyaigpetrov

Client/Server Data Synchronization

Open Source

  • Redis
    In-memory db with notifications, may be used alongside other DB.
  • Meteor
    • MongoDB | Livequery | server DDP | DDP client | minimongo
    • Livequery for DB updates subscriptions (MongoDB)
    • Minimongo is MongoDB imitation, used for latency compenstion.
    • Opinionated, heavy, not very modular.
  • ShareDB
    • Backed by MongoDB or in-mem, based on Operational Transformations
    • Was used in Derby (dead?)
  • Hoodie
    Use CoachDB for data sync. Not flexible.
  • Telepat
    Architecture, uses Redis.
  • RethinkDB
    Subscribe to DB updates without additional layer of complexity.

Proprietary

See Also

What is the best way to get live updates from DB?

Data Synchronization in General

  1. Delta-based (more low-level and data related, CRUD) over Event-based sync (more abstract).
  2. Related topics: operational transformation (OT), differential synchronization, etc.

Shortened Link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment