Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Bazy danych
Bazy danychhard

Replikacja vs sharding — jaki problem rozwiązuje każde z nich?

Tagi
#replication#sharding#scaling
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Replikacja kopiuje te same dane na wiele węzłów (lepsza skala odczytu i dostępność). Sharding dzieli dane między węzłami (lepsza skala zapisu/rozmiaru), ale komplikuje zapytania i transakcje.

Odpowiedź zaawansowana

Głębiej

Replikacja

Replikacja utrzymuje **kopie tego samego zbioru danych** na wielu węzłach.

  • Częsty model: primary/replica (leader/follower).
  • Plusy: wysoka dostępność, skala odczytu (read repliki), łatwiejszy failover.
  • Minusy: lag replikacji (stale reads), złożoność failover, throughput zapisów nadal ograniczony przez primary.

Sharding

Sharding dzieli zbiór danych na **partycje** (shardy) rozłożone na węzły.

  • Plusy: skala rozmiaru danych i przepustowości zapisów.
  • Minusy: trudniejsze zapytania (cross-shard joiny/agregacje), transakcje rozproszone, resharding, dobór shard key.

Praktyka

  • Zacznij od replikacji dla HA i skali odczytu.
  • Sharding rozważ dopiero, gdy jeden węzeł nie wyrabia rozmiarem danych lub zapisami.
  • W praktyce często łączy się oba: każdy shard jest replikowany.

Typowe pułapki

  • Zły shard key i hotspoty (jeden shard dostaje większość zapisów).
  • Założenie, że sharding jest „przezroczysty” (często trzeba zmienić wzorce zapytań).
  • Odczyt z replik bez świadomości laga/wymagań spójności.

Powiązane pytania

Bazy danych
Partitioning vs sharding: jaka jest różnica?
#database#partitioning#sharding
Bazy danych
Dlaczego długie transakcje są niebezpieczne w bazie na produkcji?
#transactions#locks#mvcc
Bazy danych
Partycjonowanie vs sharding: jaka jest różnica?
#scaling#partitioning#sharding
Chmura
Skalowanie poziome vs pionowe: jaka jest różnica?
#cloud#scaling#horizontal
MongoDB
Balancer w sharded MongoDB (migracje chunków): co może pójść źle i jak zmniejszyć wpływ?
#mongo#sharding#balancer