The FoundationDB team blogged about its distributed database, covering fault tolerance, testing, the CAP theorem and time-series data design.
HN commenters cite its Jepsen post to argue FoundationDB's internal testing was rigorous, and discuss the database after Apple acquired it.
Do any of you know if Apple has acquired companies which are partially open-source (FDB SQL layer) with a substantial technologist user-base before?
Knowing their past behavior would be an interesting indicator of what is most likely to follow here.
According to the TC article (and their website), FDB is no longer available for download and there is a "goodbye"-esque type of message on their community site [0]. Their github [1] repos have all now been made private. This seems most unfortunate for anyone who's included FDB in their tech stack.
For reference, FoundationDB has been compared to Google's F1 database [2] [3], so this is Apple purchasing a pretty shiny piece of technology.
[0] http://community.foundationdb.com/index.html
[1] https://github.com/FoundationDB/
[2] http://blog.foundationdb.com/7-things-that-make-google-f1-and-the-foundationdb-sql-layer-so-strikingly-similar
[3] F1: A Distributed SQL Database That Scales - http://research.google.com/pubs/pub41344.html
I love that someone is actually testing database fault tolerance in public, instead of just assuming that anything with replication is fault tolerant...
Stateful distributed systems are really, really hard to get right. The only hope is to do a LOT of simulation. Not that testing is a substitute for designing things right, but no one is smart enough to be sure they've thought of all cases.
At FoundationDB we do this sort of testing millions of times over: http://foundationdb.com/white-papers/testing/
so that we can let people plug and unplug our servers at trade shows without fear (video): http://blog.foundationdb.com/post/50924738464/foundationdb-fault-tolerance-demo-video
and ultimately so that applications on top of our system face a somewhat less scary world.
It looks like you've read the Call Me Maybe series of posts over at aphyr.com. He tests a number of distributed systems (Mongo, Riak, Cassandra, etc) and their behavior under network partitions and almost all of them fuck up and lose data. A summary of results can be found at [1].
Amazon has used a TLA+ model for their distributed systems and found a bunch of bugs [2].
Seriously, everybody fucks this up. Please please learn a model checker and check your algorithm.
[1] In the "Summary of Jepsen Test Results" section: http://blog.foundationdb.com/call-me-maybe-foundationdb-vs-jepsen
[2] https://research.microsoft.com/en-us/um/people/lamport/tla/amazon.html
"Open source has had the reputation of producing good imitations, but not innovation. Perhaps Cassandra’s origins as a hybrid of Dynamo and Bigtable did not disprove this, but Apache Cassandra’s development of lightweight transactions and CQL are true industry firsts."
Cassandra's misleadingly named "lightweight transactions" are, at best, a novel implementation of a feature that has been around for a long time - Compare and Set.
We wrote a blog post about this called "Those Are Not Transactions". http://blog.foundationdb.com/post/60455516312/those-are-not-transactions-cassandra-2-0
FoundationDB. Kyle didn't bother running Jepsen against FDB because foundationdb's internal testing was much more rigorous that Jepsen. The foundationdb team ran it themselves and it passed with flying colors:
http://blog.foundationdb.com/call-me-maybe-foundationdb-vs-jepsen
Sadly, fdb has been bought by Apple[1], and you can't download it anymore. I sincerely hope foundationdb gets opensourced or something.
[1] http://techcrunch.com/2015/03/24/apple-acquires-durable-database-company-foundationdb/
> I think FoundationDb got great scores from Aphyr,
FoundationDB ran Jepsen internally and reported stuff[0], Kyle never worked with it.
[0] http://blog.foundationdb.com/call-me-maybe-foundationdb-vs-jepsen half broken now, none of the images load for me. @aphyr seems to have taken them at their word wrt testing though: https://twitter.com/aphyr/status/405017101804396546