Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
aphyr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
22 ms
·
211.
▲
by
aphyr
7y ago
correct me if i am wrong here... i do: count = count-1 if both txs see count=1, we get count=0 at the end. I, er, don't mean to be rude, but... both grogers and I have already explained that this idea is somewhat less than correct. T
212.
▲
by
aphyr
7y ago
Yes, thank you. I was rushing to get out the door and edited the sentence carelessly! You'll likely see a current value most of the time, even under high contention, but might occasionally see a slightly stale one. As grogers notes,
213.
▲
by
aphyr
7y ago
All those should be possible; you just might not observe the state of the counter as it was a few milliseconds(?) ago, rather than what it might be right now. If you're dealing with extremely frequent updates where the chances of obser
214.
▲
by
aphyr
7y ago
Keep in mind that this analysis focuses on features which are still in beta; while YugaByte DB advertises SQL features throughout their marketing, the documentation does state that SQL isn't production-ready yet. We should expect bugs
215.
▲
Jepsen: YugaByte DB 1.3.1
(jepsen.io)
106 points
by
aphyr
7y ago
|
23 comments
216.
▲
by
aphyr
7y ago
I don't think these particular phantoms are likely to be fixed--they're legal under SI, and that's all TiDB is intended to provide, at least right now. They might do serializability later though!
217.
▲
by
aphyr
7y ago
I've written an outline that might be useful! https://github.com/aphyr/distsys-class
218.
▲
by
aphyr
7y ago
I agree, but I should also note that many of the recent analyses I've published were on systems which wrote their own tests and missed significant errors. Like, "database loses updates frequently in normal operation" signific
219.
▲
by
aphyr
7y ago
Thank you! Clojure is a natural fit for Jepsen: it has access to broad library support (key for testing lots of different databases), makes data manipulation easy (simplifies writing checkers), and has a good concurrency story (important fo
220.
▲
by
aphyr
7y ago
I give suggestions to my clients, and ask them what they care about testing most, and we... pretty much always agree on what direction the research goes next. FS/disk faults I don't have good tooling for yet, so I'd have to i
221.
▲
by
aphyr
7y ago
Hi there! There's work to do on both, and I encourage you to contribute to core if you like! We could really use performance improvements on the checkers--Knossos and set-full are great, but much more expensive than they need to be. It
222.
▲
Jepsen: TiDB 2.1.7
(jepsen.io)
171 points
by
aphyr
7y ago
|
29 comments
223.
▲
by
aphyr
8y ago
Ah, my mistake, thank you! It's been a long while since I talked to the FDB folks and I guess I misunderstood where they were using Paxos!
224.
▲
by
aphyr
8y ago
In short, no: many transactional databases don't rely on clocks for safety. I'm going to speak in broad terms here--there's a lot of nuance and special cases that we can dig into, but I'd like to keep this accessible: Yo
225.
▲
by
aphyr
8y ago
Yeah, you can deploy any type of NTP-alike time synchronization you like. That could be ntpd, chrony, hypervisor-guest synchronization tools, etc etc.
226.
▲
by
aphyr
8y ago
I think the YB team members are probably best equipped to talk about this, but I can note that while some databases do build their own clock synchronization protocol, many prefer to let the OS handle clocks. For one thing, clock sync is sur
227.
▲
by
aphyr
8y ago
Jepsen is not a performance test; we verify safety. I haven't looked at ScyllaDB personally, but you can read about Scylla's own work testing their database here [1], and see some of the issues they found here [2]. [1]: https:&#x
228.
▲
Jepsen: YugaByte DB 1.1.9
(jepsen.io)
115 points
by
aphyr
8y ago
|
43 comments
229.
▲
by
aphyr
8y ago
Gosh, I wish I had a good answer. Riak (and Riak-DT) were the best I knew of in this regard, but Basho folded and I haven't kept track of the level of community/corporate support available. Not sure where Riak stands these days. T
230.
▲
by
aphyr
8y ago
To follow up on this a little bit--many of my clients do their own Jepsen testing, or have analogous tests using their own testing toolkit. When they engage me, the early part of my work is reviewing their existing tests, looking for proble
231.
▲
by
aphyr
8y ago
Ooh, I'll bite! For one, they're different data models. FaunaDB is a document store, so records are fundamentally trees, whereas SQL is oriented around processing tuples. FaunaDB records have queryable metadata; SQL rows (I think?
232.
▲
by
aphyr
8y ago
You're not wrong: networks in general aren't super reliable, and partitions are a real problem! Peter Bailis and I wrote a paper on this in ACM Queue. I've spent much of my professional life exploring the consequences of netw
233.
▲
by
aphyr
8y ago
Yes, there IS a paper! Check out Calvin: Fast Distributed Transactions for Partitioned Database Systems. FaunaDB uses Calvin with some changes to allow more types of transactions, and to improve fault tolerance. :) http://cs.yale
234.
▲
by
aphyr
8y ago
A few other points to consider! FaunaDB is a unique database: its architecture offers linear scalability for transaction throughput (limited, of course, by contention on common records and predicates). That sets it aside from databases whic
235.
▲
FaunaDB 2.5.4
(jepsen.io)
263 points
by
aphyr
8y ago
|
71 comments
236.
▲
by
aphyr
8y ago
Ah, yes, sorry! I forgot exactly how that all shook out. I thiiink that prevents dirty reads, and with client monotonicity you can recover sequential consistency? Not sure how many clients actually do that; maybe they just do regular reads
237.
▲
by
aphyr
8y ago
It is, in fact, not the same for every DB. Databases vary significantly in their default and maximum guarantees for successfully acknowledged writes; Mongo chooses fairly weak ones. By contrast, consider systems like VoltDB, which aims for
238.
▲
by
aphyr
8y ago
To clarify: no, Jepsen, as an organization, has not worked with CosmosDB. I'm delighted they have rigorous tests, and I'm glad our tool has been helpful for them! We just can't say anything about those tests, because we haven
239.
▲
by
aphyr
8y ago
Causal and session are definitely similar, but I'm not entirely sure if causal implies consistent prefix, and conversely, I think causal miiight have stronger implications than just the intersection of MR, MW, RYW, and WFR. Because we
240.
▲
by
aphyr
8y ago
Yeah! Kit's done a bunch of work on Jepsen's core and Knossos, the linearizability checker. This is her first analysis, and I'm excited to see more. :)
More ›