Live data from Hacker News

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

scylladb.com

81–90 of 99 posts

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

#81
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.

"a) IO is such a large portion of the problem" I'm very interested in a cluster benchmark therefor, say 10 servers, as Cassandra claims to scale very well. With a cluster IO has a higher performance impact than one server with local RAID IO.

The way ScyllaDB works, it'd be really weird if it didn't scale at least as well as Cassandra.

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

#82
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.

Are there any recent comparative benchmarks of hypertable? I looked around but couldn't find any.

Not that I know of. Anecdotally though, it has some advantages, but doesn't exactly crush the competition.

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

#83
post #64

Earlier quoted context omitted.

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

Dell's servers you point to do not have 48 logical cores, either. That cpu runs $2.2K by itself.

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

#84
post #64

Earlier quoted context omitted.

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

[deleted]

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

#85
post #79
post #69

Earlier quoted context omitted.

http://www.scylladb.com/technology/memory/ By the way, I think you're replying to one of the devs of Scylla.

So, in general, I understand there is lots of stuff going on in Scylla that does distinguish it, at least from Cassandra. There is the user space networking logic for IO. However, a lot of the IO overhead with disk, for example.

>However, a lot of the IO overhead with disk, for example.

That's why they benchmarked this workload on a 4x SSD RAID configuration :). Given that i/o bandwidth and throughput continues to increase, processor frequency isn't, and core counts are going up, it's prudent to design a system that can take advantage of this.

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

#86
post #85
post #79

Earlier quoted context omitted.

So, in general, I understand there is lots of stuff going on in Scylla that does distinguish it, at least from Cassandra. There is the user space networking logic for IO. However, a lot of the IO overhead with disk, for example.

>However, a lot of the IO overhead with disk, for example. That's why they benchmarked this workload on a 4x SSD RAID configuration :). Given that i/o bandwidth and throughput continues to increase, processor frequency isn't, and core counts are going up, it's prudent to design a system that can take advantage of this.

Yeah, and a 4x SSD RAID configuration is kind of overkill in the extreme for most Cassandra set ups.

I'm sure there is a way to set up IO subsystems so that Cassandra becomes a huge bottleneck, but that's a pretty specialized context.

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

#87
post #75
post #62

Earlier quoted context omitted.

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

> The test hardware configuration includes: > 1 DB server (Cassandra / Scylla) The whole point of Cassandra is to run a cluster of servers to handle load at scale with minimal friction instead of having to buy a big single machine or spend all your time/money trying to run a clustered RDBMS. This test doesn't measure the correct thing.

Cassandra's performance scales linearly with the number of nodes though, so per-node performance definitely matters. Probably not 10x, but probably not 1x either.

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

#88

Earlier quoted context omitted.

Agreed, but which architectural features are you referring to?

Over the last decade, the distributed system nature of modern server hardware internals has become painfully evident in how software architectures scale on a single machine. The traditional approaches -- multithreading, locking, lock-free structures, etc -- are all forms of coordination and agreement in a distributed system, with the attendant scalability problems if not used very carefully. At some point several yea…

> one process per core, each locked to a single core; use locked local RAM only (effectively limiting NUMA); direct dedicated network queue (bypass kernel); direct storage I/O (bypass kernel)

I have no idea how to do any of these things. What are the system/api calls to lock a process to a kernel? How do you bypass kernel IO?

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

#89
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…

It's not exactly guild knowledge, there's just a log of legacy baggage with open source projects that were started by random people and became popular before much thought was given to the architecture. This model has been considered by Cassandra devs for at least the last two years, and there are open JIRA tickets associated with it, it just hasn't been considered a priority.

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

#90
post #76

Earlier quoted context omitted.

Over the last decade, the distributed system nature of modern server hardware internals has become painfully evident in how software architectures scale on a single machine. The traditional approaches -- multithreading, locking, lock-free structures, etc -- are all forms of coordination and agreement in a distributed system, with the attendant scalability problems if not used very carefully. At some point several yea…

I think that's a generalization that simply shifts the burden elsewhere, and cannot be said to be "the right" architecture in general. There is a reason CPUs implement cache-coherence on top of their "innate" shared-nothing design, and the reason is abstraction. If you don't need certain abstractions, then a sharded approach is indeed optimal, but if you do, then you have to implement them at some level or another, a…

You can still offer isolated transactions, tunable consistency, etc. within a shard though, which Cassandra does.

And yes, you can write high performance Java, but for whatever reasons the Cassandra codebase isn't an example of that. They just did a big storage engine rewrite and the result is slower.

https://issues.apache.org/jira/browse/CASSANDRA-7486

Post reply on HN