Elasticsearch og systemer for fulltekstsøk · leksjon

Sharding og replikaer forklart

Få en forståelse av sharding for horisontal skalering og replikaer for høy tilgjengelighet og feiltoleranse i Elasticsearch.

Leksjon 1 av 411 trinn

Sharding og replikaer forklart er en gratis leksjon i Elasticsearch og systemer for fulltekstsøk på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Elasticsearch og systemer for fulltekstsøk, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Elasticsearch og systemer for fulltekstsøk inneholder totalt 4 leksjoner.

Skalere Elasticsearch-data

Velkommen til en viktig leksjon om skalering og pålitelighet i Elasticsearch! Når datamengden vokser, er én enkelt server kanskje ikke nok.

I dag skal vi utforske to grunnleggende konsepter: sharding og replikaer. De er avgjørende for å håndtere store datasett og sørge for at søketjenesten forblir tilgjengelig.

Utfordringen med datavekst

Forestill Dem at applikasjonen Deres blir svært populær, og at De samler inn millioner av dokumenter hver dag. Én Elasticsearch-server (kalt en node) har begrensninger:

  • Lagringskapasitet: Den kan bare lagre en begrenset mengde data.
  • Prosesseringskraft: Det tar tid å søke gjennom enorme datamengder.
  • Enkelt feilpunkt: Hvis denne ene serveren går ned, er søketjenesten Deres utilgjengelig!

Vi trenger en måte å distribuere data på og sikre kontinuerlig tilgjengelighet.

Introduksjon til sharding

Sharding er måten Elasticsearch håndterer horisontal skalering på. Tenk på det som å dele en svært stor bok opp i flere mindre, uavhengige bøker.

Hver «mindre bok» kalles en shard. Når De indekserer dokumenter, distribuerer Elasticsearch dem på tvers av disse shardene. Dette gjør det mulig å lagre mer data og behandle spørringer raskere ved å bruke flere servere.

Primærsharder: datadistribusjon

Når De oppretter en indeks, angir De et bestemt antall primærsharder. Hvert dokument De legger til i indeksen, tilhører én av disse primærshardene.

Disse shardene distribueres på tvers av nodene i Elasticsearch-klyngen. Det betyr at hvis De har 3 primærsharder og 3 noder, kan hver node inneholde én primærshard, slik at belastningen fordeles.

Konfigurere primærsharder

De angir antallet primærsharder når De oppretter en indeks. Når en indeks først er opprettet, kan De ikke endre antallet primærsharder for den.

Slik oppretter De en indeks med 3 primærsharder:

PUT /my_products_index
{
  "settings": {
    "number_of_shards": 3
  }
}

Behovet for replikaer

Sharding hjelper med skalering, men hva med pålitelighet? Hvis én node (og primærsharden på den) svikter, mister De en del av dataene, og søketjenesten kan bli ufullstendig eller utilgjengelig.

Det er her replikaer kommer inn. De er kopier av primærshardene og er laget for å gi høy tilgjengelighet og feiltoleranse.

Replikasharder: sikkerhet og hastighet

En replikashard er en nøyaktig kopi av en primærshard. Hvis en node som har en primærshard, svikter, kan en replikashard forfremmes til å bli den nye primærsharden. Dette hindrer datatap og nedetid.

Replikaer har også en annen funksjon: De kan håndtere leseforespørsler! Det betyr at De kan skalere søkegjennomstrømningen ved å ha flere kopier av dataene klare til å svare på spørringer.

Konfigurere replikasharder

De kan angi antallet replikasharder når De oppretter en indeks, eller endre det senere for en eksisterende indeks. Et vanlig oppsett er 1 replika (det vil si 2 kopier av dataene totalt: 1 primærshard + 1 replika).

Slik oppretter De en indeks med 3 primærsharder og 1 replika per primærshard:

PUT /my_products_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}

Sharder og replikaer sammen

Elasticsearch distribuerer primær- og replikasharder intelligent på tvers av ulike noder. Dette er avgjørende for robusthet!

  • En primærshard og replikaene dens plasseres aldri på samme node.
  • Hvis en node svikter, kan Elasticsearch bruke en replika på en annen node for å holde dataene tilgjengelige.
  • Dette oppsettet sikrer høy tilgjengelighet og gjør at klyngen kan fortsette å fungere selv om noder svikter.

Hurtigsjekk

De har lært om de grunnleggende konseptene sharding og replikaer. La oss se om De kan identifisere hovedrollene deres.

Oppsummering: sharding og replikaer

Godt jobbet! I denne leksjonen har vi forklart sharding og replikaer, to viktige konsepter for enhver robust Elasticsearch-distribusjon.

  • Sharding (primærsharder) gjør det mulig å dele dataene opp i mindre deler, slik at De kan skalere horisontalt for lagring og prosessering.
  • Replikaer (replikasharder) er kopier av primærsharder som gir feiltoleranse (høy tilgjengelighet) og bedre lesehastighet.

Sammen gjør de Elasticsearch-klyngen skalerbar, robust og effektiv!

Gratis å komme i gang

Lær deg Elasticsearch og systemer for fulltekstsøk med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Sharding og replikaer forklart» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Elasticsearch og systemer for fulltekstsøk, inkludert «Sharding og replikaer forklart», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Elasticsearch og systemer for fulltekstsøk inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sharding og replikaer forklart»?

Få en forståelse av sharding for horisontal skalering og replikaer for høy tilgjengelighet og feiltoleranse i Elasticsearch. Du øver på Elasticsearch og systemer for fulltekstsøk med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Elasticsearch og systemer for fulltekstsøk?

Ingen tidligere erfaring er nødvendig. Elasticsearch og systemer for fulltekstsøk på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Sharding og replikaer forklart»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Elasticsearch og systemer for fulltekstsøk-leksjonen?

Ja. Alle Elasticsearch og systemer for fulltekstsøk-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Sharding og replikaer forklart
  2. Klyngehelse og overvåking
  3. Noderoller og arkitektur
  4. Shard-allokering og rebalansering
← Tilbake til Elasticsearch og systemer for fulltekstsøk