Shard

Shard

2 min to complete

Each Scylla node consists of several independent shards, which contain their share of the node’s total data. Scylla creates a one shard per core (technically, one shard per hyperthread, meaning some physical cores may have two or more virtual cores). Each shard operates on a shared-nothing architecture basis. This means each shard is assigned its RAM and its storage, manages its schedulers for the CPU and I/O, performs its compactions (more about compaction later on), and maintains its multi-queue network connection. Each shard runs as a single thread, and communicates asynchronously with its peers, without locking.

From the outside, nodes are viewed as a single object. Operations are performed at the node level.

To check the number of physical cores on the server, and how each map to a Scylla shard, run the following from any server running Scylla:

docker exec -it Node_Z bash
./usr/lib/scylla/seastar-cpu-map.sh -n scylla

More information here.

To report this post you need to login first.