Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
aphyr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
27 ms
·
301.
▲
by
aphyr
13y ago
The question of consensus and mutability are, to some extent, separable; immutable data does not provide liveness without consensus guarantees. See, for instance, Datomic's design, where a strong coordinator is needed to serialize upda
302.
▲
Cassandra: safety and consistency
(aphyr.com)
12 points
by
aphyr
13y ago
|
0 comments
303.
▲
Kafka 0.8's proposed replication design and partition tolerance
(aphyr.com)
36 points
by
aphyr
13y ago
|
0 comments
304.
▲
by
aphyr
13y ago
Absolutely agreed; I'm just saying that as the Pagerduty postmortem demonstrates, CP availability becomes trickier as you increase the number of sites--and there are unavoidable minimum latency bounds due to the speed of light. Those b
305.
▲
by
aphyr
13y ago
Meanwhile, http://blog.pagerduty.com/2013/04/outage-post-mortem-april-1...
306.
▲
by
aphyr
13y ago
You're presuming that all reads occur after the system has quiesced. This is not always the case. I'm happy your write pattern works for you, and that you measure your consistency; I'm just trying to keep folks honest about w
307.
▲
by
aphyr
13y ago
No, they are not isolated in the sense of ACID. This behavior violates P0.
308.
▲
by
aphyr
13y ago
Like I said, mean free paths will vary depending on your write profile. None of this alters my original assertion, which is that row operations are not isolated.
309.
▲
by
aphyr
13y ago
Yeah, I'm curious about how you achieved those numbers. Jepsen's code is open source ( http://github.com/aphyr/jepsen ) and I've written extensively about the techniques involved; see http://a
310.
▲
by
aphyr
13y ago
you'd be able to write them atomically To clarify, this is only the case if you use Cassandra 2.0 transactions; normal batched writes are not atomic in the sense you're probably thinking.
311.
▲
by
aphyr
13y ago
Rows are not isolated. You might see (X1, Y1), (X1, Y2), (X2, Y1), or (X2, Y2) if timestamps happen to conflict. https://gist.github.com/aphyr/6402464
312.
▲
by
aphyr
13y ago
if that were considered a likely scenario When timestamps are selected by the Cassandra nodes, I can replicate this failure in 2% to 5% of writes. When timestamps collide, I can replicate this failure in 99.9% of writes. Given that the
313.
▲
by
aphyr
13y ago
The world of consistency is rich: not all systems require serializability, linearizability, or any one write winning. It might be interesting to skim http://pmg.csail.mit.edu/papers/adya-phd.pdf , http://ftp.
314.
▲
by
aphyr
13y ago
...a single multi-cell update to a given record is guaranteed to be _atomic_, and if you have two concurrent multi-cell updates to a single record, they are guaranteed to eventually resolve to a consistent ordering of those operations (tho
315.
▲
by
aphyr
13y ago
Sorry, I was speaking loosely. More formally: In a system which uses LWW as the conflict resolution strategy, there exist no circumstances under which you can guarantee that a value written to a given key will be causally connected to any f
316.
▲
by
aphyr
13y ago
If I wanted to keep multiple values in a column around I'd use a Map or a Set instead! [edit: thanks iamalesky, correction on cell keys] If you're following along at home, Lists are implemented by choosing a UUID cell key for ea
317.
▲
by
aphyr
13y ago
But... you will lose data if your conflict resolution strategy is LWW, unless you do all writes to unique objects. Siblings+vclocks are provably equivalent to that strategy; they just allow you to garbage-collect unnecessary parts of the
318.
▲
by
aphyr
13y ago
I concur; this is punting on the resolution problem. As far as I can determine in testing with Jepsen, there are no cases where one can safely (e.g. in a way which guarantees some causal connection of your write to a future state of the sys
319.
▲
by
aphyr
13y ago
I wouldn't say so. Many-worlds is an interpretation of QM, and to my knowledge, all verified QM formalisms treat time as a continuous parameter; not a discrete one.
320.
▲
by
aphyr
13y ago
Ah, here we go. Aaronson 2002 shows that Wolfram's model cannot be consistent with experimental evidence: In physics, we examine Wolfram's proposal for a deterministic model underlying quantum mechanics, with 'long-range thr
321.
▲
by
aphyr
13y ago
Cellular automata violate continuity and isotropy, which means they're inconsistent with the continuous spatial formalism used in special relativity, general relativity, classical electrodynamics, and as far as I know, quantum electrod
322.
▲
by
aphyr
13y ago
Since c is a velocity, 1/c doesn't have units of time; it has units of time/distance. Special and general relativity (at least, as commonly formulated) also assume that space and time are isotropic and continuous, which means
323.
▲
by
aphyr
13y ago
Might be worth keeping in mind that the State Department has a significant interest in TOR's continued existence, contributing roughly 60% of the TOR Foundation's annual income. Unsurprising, because TOR is a powerful tool for act
324.
▲
by
aphyr
13y ago
If you're using a sharded Redis, your problem is a collection of problems satisfying the above law. What I'm getting at is that if performance is seriously a problem, few things beat a dedicated service with concurrent, in-proce
325.
▲
by
aphyr
13y ago
Twilio's write volume is on the order of tens of thousands of writes per second. https://twitter.com/dN0t/status/360119871318659074?p=p
326.
▲
by
aphyr
13y ago
These ones, for starters: http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?result... On good server hardware, Postgres will happily push 100-200K small transactions per second. Naturally the definition of &qu
327.
▲
by
aphyr
13y ago
I should mention that promoting a secondary to a primary in an asynchronously replicated system can (and almost certainly will, under load) result in the loss of committed transactions. Redis has two resynchronization modes. One just recove
328.
▲
by
aphyr
13y ago
Slides for this talk are here, too: http://aphyr.com/media/jepsen-ricon-east.pdf
329.
▲
by
aphyr
13y ago
Over the last ten years, I've read a lot of code. I maintain my own code, and I maintain others' code. Because I am not that smart, I try to simplify everything--to make large problems tractable for my little brain to reason abo
330.
▲
by
aphyr
13y ago
You're right; it does need a (map key) line to be equivalent. I was thinking of http://www.leancrew.com/all-this/2011/12/more-shell-less-egg... , which wants the counts too. :) On a side note, I'd li
More ›