VoltDB is out, benchmarks against Cassandra
voltdb.com
voltdb.com
So why benchmark against Cassandra? It's got a lot of buzz around it, of course. What a better way to shove your name into the "NoSQL" ring. Blech.
With regard to the numbers themselves, I would refer the author to the CouchDB boys' discussion of benchmarks (under "Good Benchmarks are Non-Trivial"): http://books.couchdb.org/relax/reference/high-performance
> Commit logs receive every write made to a Cassandra node and have the potential to block client operations [1]
I'm no expert so it may be possible to turn this off but I couldn't find reference to it.
"Cassandra's example configuration shows CommitLogSync set to periodic, meaning that we sync the commitlog every CommitLogSyncPeriodInMS ms, so you can potentially lose up to that much data in a crash ... You can also select "batch" mode, where Cassandra will guarantee that it syncs before acknowledging writes, i.e., fully durable mode"
Cassandra has very fine grained control over just about everything to do with consistency and durability. I believe you can pick your desired level of consistency at access time.
Sure, but the write is not the significant part (it is likely to be cached in memory); the question is how often the commit log is sync'ed to disk. I'm no Cassandra expert, but I believe the default is to fsync() the commit log periodically, but to allow operations to return successfully before an fsync() has occurred. There's also a mode to require fsync() before returning success for an operation.
Reads even more like marketing blogspam!
No they don't. This is the wavy-hands NoSQL defensive shield that reeks of insincerity. If you show Cassandra or Redis or some other solution replacing a MySQL install, well that's just awesome, but don't dare compare if it doesn't come out the winner.
A lot of people have workloads that could work in VoltDB, a classic RDBMS, or Cassandra, equally. There are workloads that only fit in specific silos, but they are less universal than you imply.
>So why benchmark against Cassandra? It's got a lot of buzz around it, of course. What a better way to shove your name into the "NoSQL" ring. Blech.
Okay this is just silly. Cassandra is the big name in the "next gen database" world -- of COURSE any new entrant is going to compare against it.
But...you can. What do you mean you can't compare? Clearly you can, however mortified you might be at that prospect.
A reasonable motorcycle can go from 0-60 in about 4 seconds. A reasonable car can do it in about 9 seconds. But you need to carry two passengers so the car is your only option, and such a comparison doesn't matter to you, but to a lot of people it's interesting if ultimately they just want to get from A to B as quickly as possibly. Then again if you want to transport goods maybe you need a truck, or a train.
This is so silly. Wait -- hand wavy -- that's right, nothing can be compared to Cassandra but pure love itself.
"This is so silly. Wait -- hand wavy -- that's right, nothing can be compared to Cassandra but pure love itself."
C'mon, man. That doesn't further discussion. That sort of statement serves only to incite anger.
Huh? No, I love Cassandra. She's a beaut.
tlack didn't say "it would make more sense to compare an in-memory data store to another in-memory data store". They said "You can't compare memory-only db performance against a disk based db, period.". There's a pretty profound difference between those two statements.
Our point, which perhaps I made poorly, was twofold. 1. You can be both fast and SQL. Nothing about the language itself was ever the bottleneck. 2. VoltDB isn't just for big complicated transactions. You can use SQL for KV-type workloads and perform.
There's 100 other reasons to pick one data layer over another, and the best tool will be different for different problems.
most people, most systems, aren't so hot about in memory datastores -- MySQL had MySQL-Cluster/NDB, and for lots of reasons it had trouble ever taking off.
For certain use cases, and definitely for benchmarking purposes, in memory datastores will always crush the competitors, but in the end, most people like reliable data storage.
Future versions of VoltDB will do more address this single-data-center catastrophe scenario.
I can see the in memory story for read only queries, or transient data.
But perhaps they did something new as well?
edit: citeseer link was broken; replaced with link to shasha's website.
It simply means that after a transaction has been reported as having been committed successfully, it won't ever be rolled back.
When you agree that it's apples to oranges, why continue?