Live data from Hacker News

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

scylladb.com

51–60 of 99 posts

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

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

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

#53

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…

[deleted]

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

#54

Earlier quoted context omitted.

How does one bypass the kernel for network and disk IO? I've never heard of doing this before (e.g. IO is always a system call)

Oracle has long argued the value of bypassing the file system and associated kernel drivers with its raw devices and ASM. It'd be interesting to see such a thing land in other platforms.

[deleted]

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

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

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

#58

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…

How does one bypass the kernel for network and disk IO? I've never heard of doing this before (e.g. IO is always a system call)

For network, the kernel is bypasses through dpdk. For disk, the syscalls are there. But they are always async IO with O_DIRECT. So the OS wont cache and buffer anything. So that is what you bypass

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

#59

Finally, back to sanity of great old-school products, like Informix, by dropping Java (the whole scam) for C++14 and by paying attention to details of an underlying OS (again). Same trend, by the way, is in Android development.

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…

You are placing way too much weight in microbenchmarks. You simply can't use them to make a sweeping statement like you just did. Writing code that is identical to one another from language to language is not idiomatic and is not representative of how you would write each in a large scale project such as cassandra.

Java has a ton of overhead that C++ doesn't. Each object has metadata which results in more "cold data" in the cache. Each object is a heap allocation (unless you're lucky enough to hit the escape analysis optimization), which again leads to less cache locality because things are distributed around memory. Then there's the garbage collector. Then bounds checking.

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

#60
post #35
post #27

Earlier quoted context omitted.

Except that problem has been largely addressed now.

I really really really want to see Aphyr attack the patched version to see if he thinks the fix actually worked.

Datastax is presenting on the topic at their Summit on thursday http://cassandrasummit-datastax.com/agenda/testing-cassandra...
Post reply on HN