Top all-time · #986
Peter Bailis
Personal blog · bailis.org/blog · on HN as pbailisdatasystems
Peter Bailis's personal blog at bailis.org covers data and systems. Since 2012, 69 different Hacker News readers have linked it 100 times, most often “Linearizability versus Serializability”. No feed was found, so read it on the site itself.
Sometimes recommended · 9 of 35 sampled comments recommend it?
Why HN links it
HN readers link Peter Bailis's blog and papers on database consistency, isolation levels and distributed transactions, such as ACIDRain, RAMP and invariant confluence.
Summarised by Claude from a sample of 35 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Linearizability versus Serializability11 people · 11 mentions · first linked 2014-09-24
- ACIDRain: Concurrency-Related Attacks on Database-Backed Web Applications (2017) [pdf]10 people · 11 mentions · first linked 2017-03-27
- When is "ACID" ACID? Rarely8 people · 11 mentions · first linked 2013-01-22
- Feral Concurrency Control: Empirical Investigation of App Integrity (2015) [pdf]7 people · 7 mentions · first linked 2015-06-01
- Does the Database Community Have an Identity Crisis?4 people · 4 mentions · first linked 2016-05-01
- Scalable Atomic Visibility with RAMP Transactions [pdf]4 people · 4 mentions · first linked 2014-04-07
- Understanding weak isolation is a serious problem3 people · 5 mentions · first linked 2014-09-17
- You Can Do Research Too3 people · 4 mentions · first linked 2016-04-24
- When Does Consistency Require Coordination?3 people · 3 mentions · first linked 2014-11-12
- Scalable Atomic Visibility with RAMP Transactions3 people · 3 mentions · first linked 2014-04-07
What Hacker News says?
Does RAMP or CURE offer any possibility of conditional writes with CRDTs? I have had these papers on my list to read for months, specifically wondering if it could be applied to Garage https://dd.thekkedam.org/assets/documents/publications/Repor... http://www.bailis.org/papers/ramp-sigmod2014.pdf
Comment linking /papers/ramp-sigmod2014.pdf
on “Garage – An S3 object store so reliable you can run it outside datacenters”Submitted ACIDRain: Concurrency-Related Attacks on Database-Backed Web Applications (2017) [pdf] as a story · 139 points
HN discussionLooks like you cross-posted this comment here and on my blog, so I'll also cross-post in my response. I am quite confused by your statement that YugaByte does not claim linearizability. The C of CAP is linearizability (see the original CAP theorem https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.p... ). By claiming to be CP from CAP, you are claiming linearizability. CockroachDB also makes the same CP clai…
Comment linking /blog/linearizability-versus-serializability/
on “NewSQL databases fail to guarantee consistency and I blame Spanner”Submitted Non-blocking transactional atomicity as a story · 136 points
HN discussion> Your business won't succeed if you're hacked daily. Which can be the consequence of setting the wrong isolation level: http://www.bailis.org/papers/acidrain-sigmod2017.pdf
Comment linking /papers/acidrain-sigmod2017.pdf
on “Today’s Top Tech Skills”Submitted Does the Database Community Have an Identity Crisis? as a story · 93 points
HN discussionI've been using Rails for a decade now, across many jobs, and one thing I've experienced fairly consistently is the worst Ruby web apps I have ever dealt with are the ones that weren't written in Rails. I've both seen and spent a lot of time rewriting overgrown Sinatra monstrosities with assorted non-AR ORMs. These apps were generally riddled with XSS since they didn't handle escaping correctly, often had unmaintain…
Comment linking /papers/feral-sigmod2015.pdf
on “Rails has won: The Elephant in the Room”Submitted Hat, not CAP: Introducing Highly Available Transactions as a story · 65 points
HN discussionThis is a bit dumbed down, and ignores the domain terminology required to properly discuss the trade-offs here (which is puzzling given that it links to a post by Aphyr, where you can find incredibly thorough discussions around isolation levels and anomalies). > The fundamental problem with using Kafka as your primary data store is it provides no isolation. This is false. I can only assume the author doesn't know ab…
Comment linking /papers/feral-sigmod2015.pdf
on “Kafka Is Not a Database”Submitted When is "ACID" ACID? Rarely as a story · 63 points
HN discussionI don't see the connection between your reply and the linked article's content. A major point is already made right at the start when an ACID definition is quoted from a book - which makes it clear that that term is too nebulous and, in conclusion, that simply regurgitating some definition is not helpful in practice. On the other hand, if you are actually able to design for all those complex points you may still not…
Comment linking /blog/when-is-acid-acid-rarely/
on “They don't even know the fundamentals”Submitted When Is “ACID” ACID? Rarely (2013) as a story · 54 points
HN discussionAlso, I find the link in the page also very useful to understand the "serializable" and "linearizable". It makes clear definition and has more potential readings on ACID. http://www.bailis.org/blog/linearizability-versus-serializab... Thanks, bailis.
Comment linking /blog/linearizability-versus-serializability/
on “Jepsen: VoltDB 6.3”Submitted Linearizability versus Serializability as a story · 52 points
HN discussionAlso relevant: http://www.bailis.org/blog/how-to-make-fossils-productive-ag... Choice quote from there: > Kill the reference architecture and rethink our conception of “database.” The article titled “Architecture of Database System” should be considered harmful. If a system doesn’t have a buffer pool, it can still be a database, and, in fact, I’d prefer not to read any more papers on “databases” that have buffer poo…
Comment linking /blog/how-to-make-fossils-productive-again/
on “Architecture of a Database System (2007) [pdf]”Submitted Safety and liveness: Eventual consistency is not safe as a story · 44 points
HN discussionThis is some nice work on the issue from Peter Bailis: http://www.bailis.org/blog/understanding-weak-isolation-is-a...
Comment linking /blog/understanding-weak-isolation-is-a-serious-problem/
on “Demystifying Database Systems: An Introduction to Transaction Isolation Levels”Submitted Scalable Atomic Visibility with RAMP Transactions as a story · 39 points
HN discussionYes. I know there are other ways to do simple counters. The counter-example broadly applies to multi-statement operations that feed the output of reads into writes, i.e. in general transactions. And yes, the defaults on many systems are low, but you can turn them up if you have a transactional workload. Read-committed might be fine for a Drupal backend, but it's not truly transactional. Related and neat post: http:/…
Comment linking /blog/understanding-weak-isolation-is-a-serious-problem/
on “MemSQL Launches Unlimited Community Edition”Submitted You Can Do Research Too as a story · 27 points
HN discussionThat may be the case, but all other protocols that guarantee consistency suffer from similar subtle issues (which can be resolved through careful algorithm design). Eventual consistency, however, is never the answer, unless your question is "how do I get eventual consistency?" The consistency required by an application is entirely imposed by the domain, and it is that requirement that causes algorithmic difficulties…
Comment linking /blog/when-does-consistency-require-coordination/
on “Is Redlock Safe? Reply to Redlock Analysis”Submitted When Does Consistency Require Coordination? as a story · 19 points
HN discussionHAT ( http://www.bailis.org/papers/hat-vldb2014.pdf ) looks pretty promising in terms of multi-term transactions. It turns out that you can push the problem off to garbage collection in order to make transaction id generation easy, and garbage collection is easier to be sloppy and heuristic about. The only problem is it isn't clear yet that HATs are as rich as 2PL-based approaches, and that nobody's built an industr…
Comment linking /papers/hat-vldb2014.pdf
on “How To Make An Infinitely Scalable RDBMS”Submitted What's Wrong with Amazon's DynamoDB Pricing? as a story · 13 points
HN discussionIt's not surprising that a simple theorem doesn't deal with practical trade-offs. In my experience if you feel you are running up against the CAP theorem you need to take a moment to think about the real needs of your application and looking for a more detailed theorem isn't going to guide you well, instead you need to think about what you actually want to happen when various kinds of failure occur. In finance for e…
Comment linking /blog/linearizability-versus-serializability/
on “Please stop calling databases CP or AP (2015)”Submitted When is “ACID” ACID? Rarely (2013) as a story · 12 points
HN discussionPost author here. Interesting take, but I'm not sure I agree, or perhaps I misunderstand. In the initial example, I represented 'good' as a set for ease of understanding, but, in practice, unless a client specifically requests an older version of a data item, the system serves the latest value written to 'good'. That is, the system does not expose a read() that returns multiple values. Rather, clients can read_good(…
Comment linking /blog/when-is-acid-acid-rarely/
on “Non-blocking transactional atomicity”Submitted Doing redundant work to speed up distributed queries as a story · 12 points
HN discussionThanks for the feedback--these are great points. (post author, btw) > The problem to me seems to be that the interesting problems always come across the case where updates are not commutative. I agree that many application-level integrity constraints can't be satisfied with commutative updates. However, I've been surprised how frequently they can work for many web applications and how frequently "fuck-it" integrity…
Comment linking /blog/non-blocking-transactional-atomicity/
on “Non-blocking transactional atomicity”Submitted You Can Do Research Too as a story · 9 points
HN discussion