Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
1–8 of 8 posts
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#2Cassandra'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-...
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#3"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 - Com…
The "lightweight" qualifier was carefully chosen to suggest both that it is based on optimistic concurrency (no deadlocks) as well as less general than traditional "heavyweight" transactions.
Thanks for reading!
[1] http://www.datastax.com/dev/blog/lightweight-transactions-in...
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#4"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 - Com…
As I made clear [1], the novelty is in allowing opt-in to linearizability in a Dynamo-based system. To the best of my knowledge, Cassandra is indeed the first to offer this. The "lightweight" qualifier was carefully chosen to suggest both that it is based on optimistic concurrency (no deadlocks) as well as less general than traditional "heavyweight" transactions. Thanks for reading! [1] http://www.datastax.com/dev/bl…
Jon, it's cool to see what you're working on. I followed your Spyced blog for quite a while after I left the CB community but had no idea you were project chair for Cassandra (just thought you were just really interested in the technology).
As a tangent to this tangent :) My scrape-and-report economic stats reports and Childs Play charity efforts on CB were key factors in getting a really interesting job with a trading company. So thank you for giving me a platform to do those things.
Best of luck to you with datastax and I hope you and your family are well.
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#5Earlier quoted context omitted.
As I made clear [1], the novelty is in allowing opt-in to linearizability in a Dynamo-based system. To the best of my knowledge, Cassandra is indeed the first to offer this. The "lightweight" qualifier was carefully chosen to suggest both that it is based on optimistic concurrency (no deadlocks) as well as less general than traditional "heavyweight" transactions. Thanks for reading! [1] http://www.datastax.com/dev/bl…
[tangent] Jon, it's cool to see what you're working on. I followed your Spyced blog for quite a while after I left the CB community but had no idea you were project chair for Cassandra (just thought you were just really interested in the technology). As a tangent to this tangent :) My scrape-and-report economic stats reports and Childs Play charity efforts on CB were key factors in getting a really interesting job wi…
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#6"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 - Com…
As I made clear [1], the novelty is in allowing opt-in to linearizability in a Dynamo-based system. To the best of my knowledge, Cassandra is indeed the first to offer this. The "lightweight" qualifier was carefully chosen to suggest both that it is based on optimistic concurrency (no deadlocks) as well as less general than traditional "heavyweight" transactions. Thanks for reading! [1] http://www.datastax.com/dev/bl…
I can easily believe that adding CAS in combination with Cassandra's other features and design choices was harder than providing it in other contents, and that it required novel ideas! As an architect of a distributed, transactional, ordered, fault tolerant k/v store I know quite well that providing multiple properties in combination is usually superlinearly difficult :-) It's also clearly not true that open source projects only copy, unless you are inclined to believe that there is nothing new under the sun at all.
But in your view, do (for example) MongoDB, Zookeeper, HBase, Couchbase, and etcd also provide "lightweight transactions"?
If not, why not? If so, why is a new name for this feature necessary?
Re: Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0
#7Earlier quoted context omitted.
As I made clear [1], the novelty is in allowing opt-in to linearizability in a Dynamo-based system. To the best of my knowledge, Cassandra is indeed the first to offer this. The "lightweight" qualifier was carefully chosen to suggest both that it is based on optimistic concurrency (no deadlocks) as well as less general than traditional "heavyweight" transactions. Thanks for reading! [1] http://www.datastax.com/dev/bl…
(Jonathan, please read this comment in a completely respectful tone of voice, because I'm not, and I'm sure Nick was not, trying to start a FoundationDB vs Datastax pissing contest!) I can easily believe that adding CAS in combination with Cassandra's other features and design choices was harder than providing it in other contents, and that it required novel ideas! As an architect of a distributed, transactional, ord…
Again, the innovation here is not the functionality per se, which is surely not novel to any INGRES user from the 70s. The innovation is in implementing and integrating it for an eventually-consistent, Dynamo style system.
As for the name, well, there are two hard problems in computer science. Early talks about "putting CAS in Cassandra" got me a lot of blank looks; lightweight transactions seems to work quite well to get the audience/reader in the right conceptual neighborhood.