Sharding je téměř opakem replikace, i když jde o ortogonální koncepty a dobře spolupracují.
Sdílení, také známé jako dělení, je rozdělení dat podle klíče; Zatímco replikace, známá také jako zrcadlení, znamená kopírování všech dat.
Sdílení je užitečné pro zvýšení výkonu, snížení zásahu a zatížení paměti u kteréhokoli zdroje. Replikace je užitečná pro získání vysoké dostupnosti čtení. Pokud čtete z více replik, snížíte také počet přístupů na všechny zdroje, ale požadavky na paměť pro všechny zdroje zůstanou stejné. Je třeba poznamenat, že i když můžete zapisovat na slave, replikace je pouze master->slave. Tímto způsobem tedy nemůžete škálovat zápisy.
Předpokládejme, že máte následující n-tice:[1:Jablko], [2:Banán], [3:Třešeň], [4:Durian] a máme dva stroje A a B. S Sharding bychom mohli ukládat klíče 2,4 na stroj A; a klíče 1,3 na počítači B. S Replikací ukládáme klíče 1,2,3,4 na počítači A a 1,2,3,4 na počítači B.
Sdílení se obvykle implementuje prováděním konzistentního hash klíče. Výše uvedený příklad byl implementován s následující hashovací funkcí h(x){return x%2==0?A:B}.
Abychom spojili koncepty, mohli bychom replikovat každý střípek. Ve výše uvedených případech by všechna data (2,4) stroje A mohla být replikována na stroji C a všechna data (1,3) stroje B mohla být replikována na stroji D.
Jakékoli úložiště párů klíč–hodnota (redis je pouze jedním příkladem) podporuje sharding, i když některé funkce křížového klíče již nebudou fungovat. Redis podporuje replikaci ihned po vybalení.