Live data from Hacker News

ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

scylladb.com

61–70 of 99 posts

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#61
post #57
post #33

Wait, did I read that right? the test was with (1) one server? What's the point of that? Smells like a cooked up test.

The point of that is to show how efficient a node can be, because that is what is replaced. All the external facing things for scylla is the same as Cassandra. That includes all the ring stuff and all network protocols. So you should expect similar cluster behavior.

Cassandra is an open source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.......

There is nothing commodity about a server with 128GB RAM.

When you introduce other nodes, you get chatter and network traffic....

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#62
post #51

"A Cassandra compatible NoSQL column store, at 1MM transactions/sec per server." Personal pet-peeve of mine. Using "TPS" or "Transactions/sec" to measure something that is in no way transactional. Maybe ops/sec, reads/sec, updates/sec, or something...

Add my pet peeve: not listing latency stats. Big Tables does millions of ops/sec but it can take 5(!) seconds to complete one. That's the stat that matters to customers.

http://www.scylladb.com/technology/cassandra-vs-scylla-laten...

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#63
post #57

Earlier quoted context omitted.

The point of that is to show how efficient a node can be, because that is what is replaced. All the external facing things for scylla is the same as Cassandra. That includes all the ring stuff and all network protocols. So you should expect similar cluster behavior.

Cassandra is an open source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure....... There is nothing commodity about a server with 128GB RAM. When you introduce other nodes, you get chatter and network traffic....

> There is nothing commodity about a server with 128GB RAM.

Except I can launch higher than that on EC2, so that's not fact.

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#64
post #57

Earlier quoted context omitted.

The point of that is to show how efficient a node can be, because that is what is replaced. All the external facing things for scylla is the same as Cassandra. That includes all the ring stuff and all network protocols. So you should expect similar cluster behavior.

Cassandra is an open source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure....... There is nothing commodity about a server with 128GB RAM. When you introduce other nodes, you get chatter and network traffic....

Nothing commodity about a server with 128GB RAM? At list price, you can configure one of dell's entry-level servers with 128GB of RAM for less than $3,500.

http://www.dell.com/us/business/p/poweredge-rack-servers

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#65
post #28

Earlier quoted context omitted.

I really appreciate your insight, but I didn't understand why you keep implying "open source" as some kind of lack-behind design?

In practice, open source databases use more traditional, simpler architectures for which there is a lot of literature. Ironically, you see a lot more creativity and experimentation in closed source database architectures, and this has accrued some substantial benefits to those implementations. The architecture at the link looks unusual compared to open source databases but it is actually a common architecture pattern…

What aspect of the architecture seems unusual?

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#66
post #50
post #26

Earlier quoted context omitted.

It's particularly flawed given: a) IO is such a large portion of the problem b) Hypertable isn't just way, way faster.

IO is not only a large part. It is the main part. That is why it is important to get it right : scylla for instance does not leave the cache to the OS. It has its own caches for everything. Never blocks on IO or page faults because all IO bypasses the kernel. And those are just two tiny examples.

> scylla for instance does not leave the cache to the OS. It has its own caches for everything

Uh-huh... that's all pretty common for databases. Cassandra would fit that description.

> Never blocks on IO or page faults because all IO bypasses the kernel.

That just seems nonsensical. Sometimes, you are waiting for IO. That's just reality. It is conceivable you bypass the kernel for I/O, but that creates a lot of complexity and limitations. Near as I can tell though, they do talk to the kernel for IO.

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#67

Earlier quoted context omitted.

10x speedup (same algorithms, same architecture) replacing Java with C++ is not possible (~2x at max). One of the latest benchmarks I've seen is "Comparison of Programming Languages in Economics" [1] for code without any IO just number crunching, has a 1.91 to 2.69 speedup of using C++ compared to Java. So any code involving IO is going to be slower. Replacing bad Java code with excellent machine aligned C++ a 10x sp…

[Edit: The LMAX guys showed how much more performance is possible with aligning code with CPU/hardware (in this case for Java) http://mechanical-sympathy.blogspot.de/ ]

That's at a microbenchmark, cpu bound level. You usually aren't at that point.

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#68
post #27

Earlier quoted context omitted.

Except that problem has been largely addressed now.

Right, I should add that it was two years ago. My point is that the age of a project has nothing to do with the correctness of its Paxos implementation.

Jepsen's finding wasn't that there was a bug in Paxos. It was in how it handled conflicts.

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#69
post #66
post #50

Earlier quoted context omitted.

IO is not only a large part. It is the main part. That is why it is important to get it right : scylla for instance does not leave the cache to the OS. It has its own caches for everything. Never blocks on IO or page faults because all IO bypasses the kernel. And those are just two tiny examples.

> scylla for instance does not leave the cache to the OS. It has its own caches for everything Uh-huh... that's all pretty common for databases. Cassandra would fit that description. > Never blocks on IO or page faults because all IO bypasses the kernel. That just seems nonsensical. Sometimes, you are waiting for IO. That's just reality. It is conceivable you bypass the kernel for I/O, but that creates a lot of compl…

http://www.scylladb.com/technology/memory/

By the way, I think you're replying to one of the devs of Scylla.

Re: ScyllaDB: Drop-in replacement for Cassandra that claims to be 10x faster

#70

Very nice. Broadly speaking, this is the correct style of architecture for a database engine on modern hardware. It is vastly more efficient in terms of throughput than the more traditional architectures common in open source. It also lends itself to elegant, compact implementations. I've been using similar architectures for several years now. While I have not benchmarked their particular implementation, my first-han…

I agree as well, on the networking aspect since based on their diagram they are utilizing Intel NICs which Intel provides this DPDK to bypass the kernel space and access the hardware from the application itself. Now my question is how portable Scylla be in terms of NIC vendors?

I believe dpdk supports non-Intel NICs as well. Would also be interesting to compare scylla with kernel networking vs Cassandra.
Post reply on HN