4 ms·
(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 Data
by voidmain 13y ago
(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, 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?
- jbellis 13y ago"We can easily see how to get linearizable consistency if we route all requests [for a partition or region] through a single master [like all the systems you listed]. In a fully distributed system, it is less obvious." 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.