DynamoDB lappušu veidošana: pārskats, lietošanas gadījumi un piemēri

Dynamodb Lappusu Veidosana Parskats Lietosanas Gadijumi Un Piemeri



Liela apjoma datu pārvaldīšana var būt grūts uzdevums datu pārvaldniekiem, galvenokārt tad, ja jūsu vaicājums vai skenēšanas rezultāti nonāk vairākās lapās. Lapu ievietošana DynamoDB ļauj datu bāzei apstrādāt lielus datu daudzumus, sadalot rezultātus vairākās pārvaldāmās lapās. Šis raksts izskaidro DynamoDB lappušu kārtošanu un sniedz dažādus iespējamos lietošanas gadījumus un piemērus. Tas arī uzsver, kā lappušu maiņa DynamoDB atšķiras no lappušu noteikšanas citās datu bāzēs.

Kas ir lappušu veidošana DynamoDB?

Parasti lappušu šķirošana, kas iegūta no vārdu lapām, ir paņēmiens, ko izmanto datu bāzes, lai sadalītu datu ierakstus vairākos gabalos, segmentos vai lapās. Tā kā AWS DynamoDB atbalsta liela datu apjoma uzglabāšanu, tam ir uzticamas lappušu veidošanas iespējas.







DynamoDB lappušu veidošanas komponents nodrošina, ka vienā skenēšanas vai vaicājuma laikā varat izgūt tikai līdz 1 GB datu. Lai gan tas ir noklusējuma iestatījums, vaicājumā varat pievienot ierobežojuma parametru, lai norādītu ierobežojumu. Varat arī iestatīt ierobežojumu ierakstu skaitam katrā skenēšanas vaicājumā.



Konkrēti, pastāv dažas atšķirības starp lappušu piešķiršanu DynamoDB un lappušu noteikšanu tipiskā SQL datu bāzē. Acīmredzot katrs lappušu ieraksts, kas tiek izgūts DynamoDB, ir saistīts ar tiešām izmaksām, padarot to par nerakstītu noteikumu, izmantojot lappušu piešķiršanu DynamoDB. Šī funkcija padara lappušu lapu par būtisku faktoru gan izgūto ierakstu, gan tiešo izmaksu ierobežošanai.



Kā DynamoDB izmantot lappuses





1. Lapu šķirošana vaicājuma darbības laikā

Programmā DynamoDB vaicājums atgriež tikai rezultātus līdz 1 MB. Bet jūs varat efektīvi pārbaudīt, vai ir vairāk rezultātu, rūpīgi pārbaudot rezultātus. Konkrēti, zema līmeņa vaicājuma darbības rezultāts satur LastEvaluatedKey elementu, kas nav nulle, lai norādītu, ka ir vairāk ar jūsu vaicājumu saistītu vienumu, kurus vajadzētu izgūt.

Rezultāts bez LastEvaluatedKey elementa, kas nav nulle, nozīmē, ka visi vienumi, kas atbilst vaicājumam, iekļaujas 1 MB ierobežojumā, un izguvei vairs nav vienumu. Protams, jūs varat arī iestatīt ierobežojumu vienumu skaitam vienam rezultātam. Skatiet šādu komandas paraugu:



aws dynamodb vaicājums \

-- tabulas nosaukums Mana tabulas nosaukums \

--atslēgas nosacījuma izteiksme 'PartitionKey = :pk \

--izteiksmes-atribūta-vērtības '{'
:pk ':{' S ':' a1234b '}},

-- limits 10 \

Varat izmantot iepriekšējo komandu, lai vaicātu tabulā vienumus ar vienādām atslēgas nosacījumu izteiksmes vērtībām. Ļaujiet mums meklēt tabulā “Pasūtījumi”, lai atrastu pasūtījuma ID no Darry Tech. Mēs arī noteicām ierobežojumu līdz 10 vienumiem vienā lapā. Vēl viena parametra –limit opcija ir tam pašam mērķim izmantot parametru –page-size.

Lapu šķirošana ir automātiska darbība AWS CLI vienumiem, kuru datu apjoms ir mazāks par 1 MB. Komandai varat pievienot ekskluzīvu sākuma atslēgu, ja vēlaties, lai vaicājums sāktos no noteikta pasūtījuma.

Atbilde izskatās šādi:

Sniegtie rezultāti parāda 10 Darry Tech pirmajā lapā. Varat izmantot LastEvaluatedKey vērtības, lai iegūtu vairāk pasūtījumu, kas atbilst jūsu meklēšanas izteiksmes atslēgas vērtībām, lai izveidotu jaunu vaicājumu. Jaunais vaicājuma pieprasījums satur LastEvaluatedKey vērtības parametrā ExclusiveStartKey.

Sintakses piemērs ir parādīts tālāk.

aws dynamodb vaicājums \

-- tabulas nosaukums PiemērsTabula \

--atslēgas nosacījuma izteiksme 'PartitionKey = :pk \

--izteiksmes-atribūta-vērtības '{'
:pk ':{' S ': Darry Tech' \

-- limits 10 \

--ekskluzīvs sākuma taustiņš '{'
PartitionKey ':{' S ': Darry Tech' }, 'Kārtošanas atslēga' :{ 'S' : '5356' }} '

Iepriekšējā komanda veido nākamos ieskaita rīkojumus nākamajā lapā, sākot ar pasūtījuma ID, kuram ir norādītā primārā atslēga, t.i., {'PartitionKey':{'S': Darry Tech'},'SortKey':{'S': ”5356-sy”}}.

2. Lapu šķirošana skenēšanas laikā

Ir iespējams arī izmantot lappušu piešķiršanu skenēšanas darbībām. Viss darbojas tāpat kā ar vaicājuma komandām. Tomēr jums ir jāizmanto atribūts filtra izteiksme. Komanda izskatās šādi:

aws dynamodb skenēšana \

-- tabulas nosaukums MyTable \

--filtra izteiksme 'AttributeName = :value' \

--izteiksme-atribūta vērtības '{':value':{'S':'ABC123'}}' \

-- limits divdesmit \

--ekskluzīvs sākuma taustiņš '{'PartitionKey':{'S':'ABC123'},'SortKey':{'S':'XYZ987'}}'

Iepriekšējā komanda izņem līdz 20 vienumiem vienā lapā no tabulas MyTable, sākot ar vienumu, kura primārā atslēga ir {'PartitionKey': 'ABC123', 'SortKey': 'XYZ987'}. Tas filtrē rezultātus, iekļaujot tikai tos vienumus, kuru atribūtam AttributeName ir vērtība “ABC123”.

Atbildē, LastEvaluatedKey lauks satur rezultātu kopas pēdējā vienuma primāro atslēgu. Varat izmantot šo vērtību kā Ekskluzīvs StartKey nākamajā skenēt darbību, lai izgūtu nākamo rezultātu lapu.

Secinājums

Lapu ievietošana DynamoDB uzlabo datu pārvaldību. Tomēr ir svarīgi zināt, vai jūsu sistēmas gūs labumu no lapām. Ja lietojumprogrammā ir garš vienumu saraksts, ir jāizmanto lappuse. Lai gan sniegtā ilustrācija ir vērsta uz AWS CLI izsaukumu, varat arī izmantot lappušu piešķiršanu ar AWS SDK, piemēram, Python's Boto3 vai jebkuru SDK, kuru vēlaties.