Articles

Sharding

Sharding er praksisen med å optimalisere databasebehandlingssystemer ved å skille radene eller kolonnene i en større databasetabell i flere mindre tabeller. De nye tabellene kalles » shards «(eller partisjoner), og hver ny tabell har enten samme skjema, men unike rader (som det er tilfelle for «horisontal sharding») eller har et skjema som er en riktig delmengde av den opprinnelige tabellens skjema (som det er tilfelle for «vertikal sharding»).

Sharding skiller rader av et større bord i flere mindre tabeller for å spre dataene over flere datamaskiner.
med sharding opprettes nye tabeller kalt «shards» (eller partisjoner). Hver ny tabell har enten samme skjema, men unike rader (som det er tilfelle for «horisontal sharding») eller har et skjema som er en riktig delmengde av den opprinnelige tabellens skjema (som det er tilfelle for «vertikal sharding»).

Hvorfor Brukes Sharding?

Sharding er et vanlig konsept i skalerbare databasearkitekturer. Ved å dele en større tabell, kan du lagre de nye biter av data, kalt logiske skår, over flere noder for å oppnå horisontal skalerbarhet og forbedret ytelse. Når den logiske shard er lagret på en annen node, er det referert til som en fysisk shard.

når du kjører en database på en enkelt maskin, vil du til slutt nå grensen for mengden databehandlingsressurser du kan søke på spørsmål, og du vil åpenbart nå en maksimal mengde data som du effektivt kan jobbe med. Ved å skalere horisontalt, kan du aktivere en fleksibel databaseutforming som øker ytelsen på to viktige måter:

  • med massivt parallell behandling kan du dra nytte av alle databehandlingsressursene på tvers av klyngen for hver spørring.
  • fordi de enkelte skjærene er mindre enn den logiske tabellen som helhet, må hver maskin skanne færre rader når de svarer på en spørring.

Horisontal sharding er effektiv når spørringer har en tendens til å returnere et delsett av rader som ofte grupperes sammen. Spørringer som filtrerer data basert på korte datoperioder, er for eksempel ideelle for horisontal deling, siden datoperioden nødvendigvis begrenser spørring til bare et delsett av serverne.

Vertikal sharding er effektiv når spørringer har en tendens til å returnere bare et delsett av kolonner av dataene. For eksempel, hvis noen spørringer bare ber om navn, og andre ber om bare adresser, kan navnene og adressene deles på separate servere.

dessuten kan skjeve databaser tilby høyere nivåer av tilgjengelighet. I tilfelle avbrudd på en ubeskadiget database, er hele programmet ubrukelig. Med en delt database er bare de delene av programmet som stod på de manglende biter av data ubrukelige. I praksis, delte databaser ofte ytterligere redusere virkningen av slike avbrudd ved å kopiere backup skår på flere noder.

Hva Er Forskjellen mellom Sharding og Partisjonering?

Sharding og partisjonering handler begge om å bryte opp et stort datasett i mindre undergrupper. Forskjellen er at sharding innebærer at dataene er spredt over flere datamaskiner mens partisjonering ikke gjør det. Partisjonering handler om å gruppere delsett av data i en enkelt databaseforekomst. I mange tilfeller, begrepene sharding og partisjonering er også brukt synonymt, spesielt når innledes med begrepene «horisontal» og » vertikal.»Dermed kan» horisontal sharding «og» horisontal partisjonering » bety det samme.

Relaterte Emner

Minneberegning

Edge Computing

Grid Computing

Videre Lesing

Hazelcast IMDG 3.12 Introduserer Cp Delsystem

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *