Globale sekundære indekser er egnet for applikasjoner og programmer som kan trenge å utføre flere typer spørsmål ved hjelp av sett med forskjellige attributter som spørringskriterier. De globale sekundære indeksene støtter slike applikasjoner. Å opprette en eller flere GSI -er på bordet ditt vil hjelpe deg med å utstede spørringsforespørslene mot indeksene i Amazon DynamoDB.
Spesielt kan en DynamoDB -tabell ha flere globale sekundære indekser. Dette er utrolig verdifullt for applikasjoner, siden det å ha flere sekundære nøkler i en enkelt tabell forbedrer datatilgangen ved å bruke attributtene andre enn primærnøklene. Dessuten kan GSIS støtte ikke-unike attributter, og gi mer fleksibilitet ved å la deg kjøre spørsmålene mot ikke-nøkkelattributter.
Hvordan lage en global sekundærindeks
Selv om du kan opprette en global sekundærindeks når du opprinnelig oppretter en tabell, som det er vanlig når du oppretter lokale sekundære indekser, har du også fleksibiliteten til å legge til en global sekundærindeks etter å ha opprettet en tabell. Når du velger den tidligere metoden, kan DynamoDB automatisk fylle ut GSI -en din ved å bruke dataene i den allerede opprettet tabellen.
La oss kort diskutere de to metodene:
en. Opprette en global sekundærindeks for et nytt bord
Du kan opprette en GSI ved hjelp av AWS Management Console. Logg inn på AWS -kontoen din på konsollen og klikk på DynamoDB.
Klikk på tabeller og gå til CREATE TABLE -delen som du normalt gjør når du oppretter en ny tabell. Denne delen lar deg tilpasse bordene dine på riktig måte. Nevn bordet ditt som ønsket og klikk på Tilpass innstillinger.
En ny seksjon vises nederst på forrige side når du klikker på Customize -innstillinger. Det nye grensesnittet lar deg opprette de lokale sekundære eller globale sekundære indeksene. Klikk på "Opprett global indeks" -boksen og fortsett.
Det forrige trinnet fører deg inn i den endelige delen der du trenger å oppgi detaljene i din globale sekundære indeks ved å definere dens partisjonstast, indeksnavn, sortertast og attributtprognoser.
b. Lag en global sekundærindeks for et eksisterende bord
Det finnes to alternativer for å opprette en global sekundærindeks - AWS CLI -kommandoer eller ved hjelp av AWS Management Console. Å bruke CLI -kommandoen er ganske grei. Alt du trenger er Name-Index-kommandoen og definer tabellenavnet ditt i kommandoen.
AWS DynamoDB Update-Table \
--Bordnavn Musikksamling \
--attributtdefinisjoner AttributeName = Navn, AttributeType = S \
--Global-Secondary-indeks-oppdatering \
"[" Create ": " indexName ":" name-index "," Keyschema ": [" AttributeName ":" Navn "," KeyType ":" Hash "], \
"ProvisionedThroughput": "ReadCapacityUnits": 10, "WriteCapacityUnits": 5, "Projeksjon": "ProjectionType": "All"] ""
Hvis du vil bruke AWS Management Console, kan du gå til listen over tabeller, velg tabellen du har tenkt å opprette en global sekundærindeks, og naviger til fanen Indexes. Klikk på fanen "Opprett indeks".
Å klikke på fanen "Opprett indeks" tar deg til Global Secondary Index Wizard der du tilpasser indeksen din med de aktuelle attributtene.
Bruke Dynamo Global Secondary Tables
Følgende er noen av DynamoDB Global Secondary Indexes bruker tilfeller:
en. Spørring av den globale sekundære indeksen
Du kan bruke spørringskommandoen fra DynamoDB API for å utføre spørringsoperasjonene på dine globale sekundære indekser. Spørringskommandoen er som vist på følgende:
AWS DynamoDB -spørring \
--Bordnavn Musikksamling \
--indeksnavn sangtitle-indeks \
--Key-condition-expression "sangtitle =: navn" \
--Expression-Attribute-Values '": Name": "S": "Topping Charts"'
"ConsumedCapacity": NULL
b. Skanning DynamoDB Global Secondary Tables
Du kan også kjøre en skanneoperasjon på GSI -en din ved å bruke DynamoDB -skannekommandoen. Vanligvis ser skannekommandoen slik ut:
$ aws dynamoDB skanning \
--Bordnavn Musikksamling \
--indeksnavn daterelease \
$ Lokal
c. Attributtfremskrivninger
Anslag er sett med attributter som er kopiert fra tabeller til sekundære indekser. Vanligvis er partisjonsnøkler, sorteringsnøkler og forskjellige andre attributter blant de mest projiserte i indekser for å støtte spørsmålskravene til applikasjonene dine.
Spørring av en indeks gjør det mulig for Amazondb å få tilgang til eventuelle attributter i projeksjonen som den får tilgang til attributtene som er i deres uavhengige tabeller. Forsikre deg om at du spesifiserer attributtene som vil bli projisert i indeksen din. De tre alternativene levert av DynamoDB inkluderer følgende:
Konklusjon
Det bringer oss til slutten av denne opplæringen. Du vil finne DynamoDB ganske nyttig for enhver dedikert utvikler fra forklaringen. Ta deg god tid og lær hvordan du lager og bruker DynamoDB Global Secondary Tables.