Connect Faster to Scylla with a Shard-Aware Port

Token-awareness, Shard-awareness

  • Horizontally — a single Scylla cluster consists of multiple nodes, each of them storing a portion of the total data.
  • Vertically — a single Scylla node is further split into multiple shards. Each shard is exclusively handled by a single CPU core and handles a subset of the node’s data.

Problems with the Old Approach

Introducing the “Shard-Aware” Port

An Experiment

  • Cluster: 3 nodes, each using i3.8xlarge instance type with Scylla 4.3 installed. Each node had 30 shards.
  • Loaders: 3 instances of type c5.9xlarge. On each loader we ran 50 scylla-bench instances in parallel, each writing 5k rows per second with concurrency 100.

Limitations

  • Supported: Our fork of GoCQL, starting from version 1.5.0. See the README for details.
  • Supported: C++ driver for Scylla, starting from version 2.15.2–1. See the documentation for details.
  • Mostly supported: Scylla Rust Driver, starting from version 0.1.0. The shard-aware port is detected automatically and used if enabled in Scylla, but the fallback mitigations described in the “Limitations” section are not implemented at the time of writing this blog. See the README for more information about the driver.
  • Not supported yet: This feature is not yet implemented in our Python driver nor our Java driver, but we intend to support this feature in both in the coming future.

--

--

--

The monstrously-fast NoSQL database.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Ruby Basics: Creating A Simple CLI Game

Bankruptcy Attorney Salt Lake City

Why You Should Migrate Your Data Centers to the Cloud

Cloud computing

Decode Ways

​​🚀METASTORM X BSC NETWORK

R in Production, DevOps, and the Importance of Empathetic Witnesses

Docker: Building Images for Multiple Architectures

Crodo.io — New IDO site on the Cronos network. EN (part 7.4 — Backers)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
ScyllaDB

ScyllaDB

The monstrously-fast NoSQL database.

More from Medium

GoFrame 101: Enable TLS/SSL with rk-boot

Kubernetes scaler for dedicated stateful servers

Why Valoreo decided to use Golang

In conversation with Google’s gRPC | Part1