Re:CockroachDB 1.0
by nvarsj on Wednesday May 10, 2017 @04:32PM
(#14311402)
I don't really get why you would build a distributed database with dependency on wall time (unless you're Google and can stick atomic clock HW on every node). Why not use vector clocks? Am I missing something?
[ Parent
| on HN ]
Re:CockroachDB 1.0
by irfansharif on Wednesday May 10, 2017 @04:36PM
(#14311441)
the section on lock-free distributed transactions on our design document[1] should answer your question, specifically the sub-section on hybrid logical clocks.
[1]: https://github.com/cockroachdb/cockroach/blob/master/docs/de...
Thanks! Interesting. http://www.cse.buffalo.edu/tech-reports/2014-04.pdf is the relevant paper on hybrid logical clocks, linked in the faq.
Re:CockroachDB 1.0
by smueller1234 on Friday May 12, 2017 @01:56PM
(#14326203)
It may be a nitpick, but Google don't stick atomic clocks or even just GPS clocks into every node. Just into every data center. The difference means that it's actually perfectly feasible to do that for very many other companies running DCs or just in colos. The big news was how they used the fact (that times are synchronised with an upper limit to how far the clocks in two nodes will diverge) as a very significant optimization in Spanner, one of their distributed databases.
Building a distributed database that can optionally benefit from the same optimization actually makes a great deal of sense. Your average hobbyist won't care, but spending some extra few kilo bucks on hardware in a dc and get big throughput improvements out of your database system is a steal.