HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thekozmo

no profile record

Submissions

MongoDB vs. Scylladb Architecture Comparison

scylladb.com
3 points·by thekozmo·3 anni fa·0 comments

Rust in Nginx

blog.cloudflare.com
6 points·by thekozmo·3 anni fa·0 comments

Internode Cache Thrashing: Hunting a NUMA Performance Bug

thenewstack.io
7 points·by thekozmo·4 anni fa·0 comments

The Re-Org Rag (I'm My Own VP)

youtube.com
2 points·by thekozmo·4 anni fa·0 comments

I built the 16-bit Hack computer from nand2tetris

hackaday.io
2 points·by thekozmo·4 anni fa·0 comments

Hunt a NUMA performance bug on ARM

p99conf.io
1 points·by thekozmo·5 anni fa·0 comments

Cassandra 4.0 progress over Cassandra 3.11

scylladb.com
1 points·by thekozmo·5 anni fa·0 comments

comments

thekozmo
·3 anni fa·discuss
That's not true. Scylla does multi-threading. Scylla is a single process, single address space. It does pin the threads to individual hyper threads but there are additional other workers in the background as well.
thekozmo
·3 anni fa·discuss
Many need SVB, we (ScyllaDB) received a great service from them in the past. Later on we just used them as one of our banks, obviously, going forward, we're diversifying our services.

The problem for startups is that debt provider who are also a bank require to move most of the business to that provider. It's not the case other types of debt providers. w.r.t debt - everybody use this mechanism, doesn't matter if you're small or big.
thekozmo
·4 anni fa·discuss
ScyllaDB uses AGPL, a good and valid license
thekozmo
·4 anni fa·discuss
There is no magic behind Scylla, mainly lots of hard work, hundreds of years of engineering, based on the former C* design which is based on Dynamo/Bigtable.

The JVM is part of the problem, not all of it. The main issue is that it hides the hardware and makes tracing harder - instruction level and block level. At Scylla we strive for efficiency, every operation is tagged with a priority class for the CPU and I/O schedulers. Folks are welcome to read the blogs about those topic. Lots of details and hard work
thekozmo
·4 anni fa·discuss
We (I'm a co-founder) run the following: - 1B (10^9) rows/sec with 86 servers https://www.scylladb.com/2019/12/12/how-scylla-scaled-to-one... - 1PB with 20 servers https://www.scylladb.com/presentations/operating-at-monstrou...

- Comcast moved from 970 Cassandra nodes (and 60 nodes of cache) to 78 Scylla nodes - https://www.scylladb.com/2020/01/15/comcast-sprinting-from-c...

- Palo Alto Networks run 8600 clusters(!) of ScyllaDB https://www.scylladb.com/2022/06/14/how-palo-alto-networks-r...

ScyllaDB excels in throughput and latency, we have also a better compaction algorithm that saves 37% of storage compared to C*. Usually one can replace lots of small nodes with gigantic nodes that have more resources and it allows much better management.

To run 100PB Scylla will need more than 300 nodes, even thousands but definitely not what Apple throw at the problem.
thekozmo
·4 anni fa·discuss
Listening to SQLite creator podcast (https://corecursive.com/066-sqlite-with-richard-hipp/# ), it does feel that Glauber is right about weird collaboration standards. The guy is against gmail, git, etc. Fossil may be better for SQlite today, w/o many contributors, that's the problem Glauber is trying to solve
thekozmo
·4 anni fa·discuss
This is indeed what we (ScyllaDB) do, pretty much everywhere. It works great for 95% of our users. Discord wanted to add a level of guarantee since they observed a too high level of local disk failures.
thekozmo
·4 anni fa·discuss
Am ScyllaDB but Marc did completely independent work. The client vcpus don't matter that much, the experiment compares the server side, the client shouldn't suck. When we test ScyllaDB or other DBs, we run benchmarks for hours and days. This is just a stateless, static http daemon, so short timing is reasonable.

The whole intent is to make it a learning experience, if you wish to reproduce, try it yourself. It's aligned with past measurements of ours and also with former Linux optimizations by Marc.
thekozmo
·4 anni fa·discuss
Good point. This is more of a tcp stack comparison between the kernel and userspace. Seastar has a sharded (per core) stack, which is very beneficial when the number of threads is high
thekozmo
·4 anni fa·discuss
What's amazing is that the seastar tcp stack hasn't been changed over the past 7 years, while the kernel received plenty of improvements (in order to close the gap vs kernel bypass mechanisms). Still, for >> 99% of users, there is no need to bypass the kernel.
thekozmo
·4 anni fa·discuss
ScyllaDB uses Seastar as an engine and the DynamoDB compatible API use HTTP parsing, so this use case is real. Of course the DB has much more to do than this benchmark with a static http reply but Scylla also uses many more core in the server, thus it is close to real life. We do use the kernel's tcp stack, due to all of its features and also since we don't have capacity for a deeper analysis.

Some K/V workloads are affected by the networking stack and we recently seen issues if we chose not the ideal interrupt mode (multiqueue vs single queue in small machines)
thekozmo
·4 anni fa·discuss
Impressive stuff! Worth to try to run the OSv unikernel (one of my babies) in it.
thekozmo
·4 anni fa·discuss
Indeed quite a journey. If you love DynamoDB and like open source, give Scylla a try (disclosure me==founder): https://www.scylladb.com/alternator/
thekozmo
·5 anni fa·discuss
It's not the open source license which we can't forbid using, it's the enterprise version.
thekozmo
·5 anni fa·discuss
Hmm, AGPL is proprietary? This isn't aligned with the OSI.
thekozmo
·5 anni fa·discuss
Clickhouse and other solutions you mentioned are for analytics while Scylla and Cassandra are for real-time. You can't compare the two types of tech