Sobes.tech
Junior — Middle

Můžete vysvětlit rozdíly mezi mechanismy shardování a replikace databází?

sobes.tech AI

Odpověď od AI

Shardování a replikace jsou dva různé přístupy ke škálování databází.

Replikace je proces kopírování dat z jednoho serveru (master) na jiné servery (repliky). Repliky se obvykle používají ke zvýšení dostupnosti a rozložení zátěže při čtení. Záznamy se obvykle zapisují na master, a čtení lze provádět z replik. Pokud master selže, lze přepnout na repliku.

Shardování je rozdělení dat na části (shardy), z nichž každý je uložen na samostatném serveru. To umožňuje horizontální škálování databáze, rozdělením zátěže a objemu dat mezi více strojů. Každý záznam spadá do konkrétního shardu podle klíče (například user_id).

Příklad:

  • Replikace: jeden server s úplnou kopií dat + několik serverů s kopiemi pro čtení.
  • Shardování: 10 serverů, každý ukládá 1/10 dat.

Tímto způsobem replikace zlepšuje odolnost proti chybám a škálovatelnost čtení, zatímco shardování umožňuje škálování zápisu a objemu dat.