Skip to content

Distribution

uwiger edited this page Jul 5, 2012 · 1 revision

There are a number of issues to nail down for the distribution support:

  • Scalability: how do we want to scale? Smart distribution of device groups and users, as well as load-balancing feeds, will probably inform the data model scalability
  • Consistency: Replication and netsplit tolerance; kvdb is prepared for automatic attributes (e.g. vector clocks).
  • Locking: need to avoid deadlocks and livelocks, while not killing scalability or jeopardizing consistency

Scalability

TBD

Consistency

One option is to grab one of the existing frameworks, e.g.

  • Riak core (although Dizzy doesn't recommend this, considering our requirements)
  • HyperDex (but haven't really looked into this yet)

Locking

I (Ulf) am finalizing a slightly unusual locking library, called ddd(Distributed Deadlock Detection). The underlying algorithm was model-checked by Thomas Arts several years ago (I came up with it in 1992), but it has never been 'productified'. See more on Locking.

Clone this wiki locally