sql >> Databáze >  >> NoSQL >> Redis

Rozdíl mezi replikací Redis a redis sharding (klastr).

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í.



  1. Jak zvýším hodnotu čísla v Mongoose?

  2. existuje způsob, jak automaticky generovat ObjectId, když je model mongoose nový?

  3. HSET, pokud existuje klíč

  4. Jak se MongoDb instaluje pomocí Meteoru?