GitHub has been working on a re-architecture since our last major feature release, which was GitHub Issues in April.
And we can't wait to roll it out.
GitHub has been working on a re-architecture since our last major feature release, which was GitHub Issues in April.
And we can't wait to roll it out.
So, the new Github architecture is shared nothing?
This is a pet peeve of mine -- what does "shared nothing" even mean?
A database, a "NoSQL" key store, and memcached are all sharing something, and that something is a contention point.
Specifically in this context, how do you implement transactional SCM semantics without sharing something (such as a distributed lock system?).
The bad part about shared nothing is quite simple, it's damn hard to do, and harder to get right. One of the biggest problems is handling conflicting data between nodes. You either have to handle the conflict with your application, or your database needs to automatically choose the best copy (based on date etc).