Primeri poizvedb DynamoDB

Primeri Poizvedb Dynamodb



Baza podatkov je zbirka podatkov – DynamoDB ni izjema. Podatkovne baze vsebujejo veliko podatkov, ki jih je morda težko pridobiti brez vnaprej določenega mehanizma. Tukaj ima ukaz poizvedbe pomembno vlogo.

Kot vsak sistem za upravljanje baz podatkov DynamoDB ponuja različne metode poizvedovanja, prek katerih lahko komunicirate s sistemom za dostop do svojih podatkov in manipuliranje z njimi. Poizvedovanje v DynamoDB je zelo zmogljivo orodje, ki vam omogoča, da pridobite element ali skupino elementov, povezanih z ukazom poizvedbe.

Ta članek opisuje glavne primere poizvedovalnih operacij DynamoDB.







Pogosti primeri poizvedb DynamoDB

Privzeto vedenje za operacijo poizvedbe v DynamoDB je vrnitev vseh postavk, povezanih s poizvedbenimi postavkami. Zanimivo je, da je ukaz poizvedbe v DynamoDB uporaben s tabelami ali sekundarnimi indeksi.



Ne glede na to, vedno zagotovite, da podate pogoj enakosti za vrednost particijskega ključa. Še enkrat, morda boste morali zagotoviti drugačen pogoj za ključ za razvrščanje, če ga uporabite v ukazu.



Drugi parametri, na katere boste naleteli pri poizvedovanju DynamoDB, vključujejo tudi KeyConditionExpression in FilterExpression. KeyConditionExpression podaja ključne vrednosti, ki jih nameravate poizvedovati. Po drugi strani FilterExpression odstrani elemente iz rezultatov poizvedbe, preden prejmete odgovor. Vrednosti ExpressionAttributeValues ​​boste uporabili kot ogradne oznake za omenjene parametre izraza.





Primeri poizvedbe DynamoDB vključujejo:

Iskanje posameznega elementa iz tabele na podlagi primarnih ključev

Uporabite lahko pripomoček Query v DynmoDB, da poiščete posamezen element tako, da se zanašate na kombinacijo particijskega ključa elementa in vrednosti ključa za razvrščanje. Sintaksa za takšno operacijo je naslednja:



aws dynamodb poizvedba \

--table-name MyTableName \

--izraz-pogoja-ključa 'PartitionKey = :pk IN SortKey = :sk' \

--expression-atribut-values '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Zgornji pripomoček za poizvedbe je namenjen pridobivanju postavke z vrednostjo particijskega ključa a1234b in vrednostjo razvrstitvenega ključa odef456b iz tabele MyTableName. Zgornji pripomoček lahko na primer uporabimo za iskanje artikla v naši tabeli »Naročila«. Vrednost particijskega ključa predmeta je lahko wr546gg ki predstavlja Customer_ID, medtem ko je njegova vrednost ključa za razvrščanje lahko 24536433 ki predstavlja številko naročila.

Rezultat je lahko naslednji:

Zgornji rezultat vrne praznične knjige kot edini element, ki ima vrednost particijskega ključa wr546gg in vrednost ključa za razvrščanje 24536433. Prinese vam tudi vse druge dodatne atribute, povezane z elementom. Na naši ilustraciji vrne številko računa in plačani znesek.

Predvsem ukaz poizvedbe vrne prazen seznam, če ni nobenega elementa, ki bi ustrezal podanim vrednostim primarnega ključa.

Pridobi Vsi elementi iz tabele DynamoDB, ki se ujemajo z določenimi vrednostmi atributov

Uporabite izraz filtra, da pridobite vse elemente, ki imajo podobno vrednost atributa v določeni tabeli DynamoDB.

Ukaz za to operacijo poizvedbe je prikazan spodaj.

aws dynamodb poizvedba \

--table-name MyTableName \

--filter-izraz 'OtherAttribute1 = :val' \

--expression-atribut-values '{':val':{'S':'value1'}}'

Z zgornjim ukazom poizvedbe lahko na primer pridobimo več skladb, ki trajajo več kot 5 minut, v naši glasbeni tabeli. Da bi to dosegli, bomo našo vrednost OtherAttribute1 nastavili na 5,00 in MyTableName na Music.

Rezultat je lahko naslednji:

Zaradi jedrnatosti je treba seznam skrajšati. Toda iz rezultatov je naš ukaz poizvedbe iz naše tabele DynamoDB Music pridobil 11 elementov z vrednostjo filterexpression 5,00.

Pridobivanje vseh elementov z določenim obsegom vrednosti atributov

Spodnji ukaz je uporaben pri pridobivanju elementov v določeni tabeli:

aws dynamodb poizvedba \

--table-name \

--izraz-pogoja-ključa 'ime_atributa MED :val1 IN :val2' \

--expression-atribut-values '{':val1':{'N':''},':val2':{'N':''}}'

Seveda boste morali zamenjati vse atribute s svojimi prilagojenimi poverilnicami, kot bi morali v kateri koli drugi ukazni vrstici. Na primer, uporabili bomo našo tabelo zaposlenih s ključnim atributom obsega, imenovanim 'starost'. Prizadevali si bomo za delodajalce, stare med 30 in 42 let.

Naša nova ukazna vrstica bo naslednja:

aws dynamodb poizvedba \

--table-name Uporabniki \

--izraz-pogoja-ključa 'starost MED :val1 IN :val2' \

--expression-atribut-values '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Zagon zgornjega pripomočka bo prinesel odgovor, podoben tistemu na spodnji sliki;

Zgornja slika prikazuje, da je poizvedba vrnila 6 elementov, ki označujejo vrednost atributa za vsako poizvedbo. ScannedCount je število optično prebranih elementov v tabeli, medtem ko je CapacityUnits količina enot, porabljenih med operacijo.

Zaključek

Ker je DynamoDB baza podatkov NoSQL, se operacija njene poizvedbe ne obnaša kot običajna baza podatkov AQL. Ko pa to storite, boste ugotovili, da je operacija precej zmogljiva in bo vašo interakcijo z bazo podatkov poenostavila.