ਡਾਟਾ ਪਾਰਟੀਸ਼ਨਿੰਗ (sharding) ਡਾਟਾ ਨੂੰ ਕਈ ਸਰਵਰਾਂ/ਡਾਟਾਬੇਸਾਂ ਵਿੱਚ ਵੰਡਦਾ ਹੈ ਤਾਂਕਿ ਹਰੇਕ ਇੱਕ ਸਬਸੈੱਟ ਰੱਖੇ — ਜੋ ਡਾਟਾ ਅਤੇ ਲੋਡ ਦੀ ਖਿਤਿਜੀ ਸਕੇਲਿੰਗ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਸਰਵਰ ਤੋਂ ਬਾਹਰ ਸਮਰਥ ਬਣਾਉਂਦਾ ਹੈ। ਪਾਰਟੀਸ਼ਨਿੰਗ ਚੁਣਨਾ (partition key ਅਤੇ strategy) ਗੁਰੂਤਵਪੂਰਨ ਹੈ।
ਪਾਰਟੀਸ਼ਨਿੰਗ/ਸ਼ਾਰਡਿੰਗ ਕੀ ਹੈ
PARTITIONING / SHARDING → divide data into pieces (partitions/shards) across multiple
servers, each holding a SUBSET:
→ no single server holds (or is overwhelmed by) all the data
→ scales STORAGE and LOAD horizontally (each shard handles its portion)
→ enables handling data/throughput beyond one machine's capacity
ਪਾਰਟੀਸ਼ਨਿੰਗ ਰਣਨੀਤੀਆਂ
HASH-based → hash the partition key → assign to a shard:
✓ EVEN distribution (avoids hotspots) ✗ range queries hard; resharding is tricky
RANGE-based → partition by value ranges (e.g. A-M, N-Z; date ranges):
✓ efficient range queries ✗ risk of HOTSPOTS (uneven load if data/access is skewed)
DIRECTORY/lookup → a lookup table maps keys to shards (flexible, but the lookup is overhead)
GEOGRAPHIC → partition by region (data locality)
