notexOPENOverview
Notex/Systems/Sharding

Sharding

Always free to read

What we call a shard in this topic has many names depending on which software you’re using. It’s called a partition in Kafka, a range in CockroachDB, a region in HBase and…

08

PART 2 / DISTRIBUTED SYSTEMS

Sharding

10 LESSONS · 36 MIN
  1. 08.01Sharding and PartitioningWhat we call a shard in this topic has many names depending on which software you’re using. It’s called a partition in Kafka, a range in CockroachDB, a region in HBase and…READING1 MIN
  2. 08.02Pros and Cons of ShardingThe primary reason for sharding a database is scalability. Sharding is a solution if the volume of data or the write throughput has become too great for a single node to…READING5 MIN
  3. 08.03Sharding of Key-Value DataSay you have a large amount of data, and you want to shard it. How do you decide which records to store on which nodes?READING1 MIN
  4. 08.04Sharding by Key RangeOne way of sharding is to assign a contiguous range of partition keys (from a minimum to a maximum) to each shard, like the volumes of a paper encyclopedia, as illustrated in…READING4 MIN
  5. 08.05Sharding by Hash of KeyKey-range sharding is useful if you want records with nearby (but different) partition keys to be grouped into the same shard—for example, this might be the case with…READING9 MIN
  6. 08.06Skewed Workloads and Relieving Hot SpotsConsistent hashing ensures that keys are uniformly distributed across nodes, but that doesn’t mean that the actual load is uniformly distributed. If the workload is highly…READING2 MIN
  7. 08.07Operations: Automatic Versus Manual RebalancingWe have glossed over one important question with regard to rebalancing: does the splitting of shards and rebalancing happen automatically or manually?READING2 MIN
  8. 08.08Request RoutingWe have discussed how to shard a dataset across multiple nodes, and how to rebalance those shards as nodes are added or removed. Now let’s move on to another question: if you…READING4 MIN
  9. 08.09Sharding and Secondary IndexesThe sharding schemes we have discussed so far rely on the client knowing the partition key for any record it wants to access. This is most easily achieved in a key-value data…READING6 MIN
  10. 08.10Recap: ShardingIn this topic we explored different ways of sharding a large dataset into smaller subsets. Sharding is necessary when you have so much data that storing and processing it on a…READING2 MIN
KEEP EXPLORING

One note leads to another.

Back to the library →
⌕
Search across the entire library ⌘ K