Skip to content

Designing Data Intensive Applications

kjingers edited this page Dec 30, 2021 · 1 revision

Partitioning (Sharding)

Splitting data records among paritions that each reside on different nodes.

Consistent Hashing:

Hash the primary key and store based on the hash. Then, each partition stores a range of hashes. This allows for keys to be evenly distributed among partitions. However, we lose ability for convenient range queries.

Cassanda Hybrid Hasing Approach

The primary key contains multiple fields, but only the first one is hashed. So, a given key will be stored in the same partition, and will be grouped by one or more fields. This allows for more convenient range queries.

Clone this wiki locally