DynamoDB leheküljed: ülevaade, kasutusjuhtumid ja näited

Dynamodb Lehekuljed Ulevaade Kasutusjuhtumid Ja Naited



Mahukate andmemahtude haldamine võib andmehalduritele olla ülesmäge, peamiselt siis, kui teie päring või skannimistulemused jooksevad mitmele lehele. Leheküljed DynamoDB-s võimaldavad andmebaasil käsitleda suuri andmekoguseid, jagades tulemused mitmeks hallatavaks leheküljeks. See kirjutis selgitab DynamoDB lehekülgede jagamist ning pakub erinevaid võimalikke kasutusjuhtumeid ja näiteid. Samuti toob see esile, kuidas DynamoDB-s lehekülgede lehekülgede tähistamine erineb teiste andmebaaside lehekülgedest.

Mis on DynamoDB-s lehekülgede kirjutamine?

Üldjuhul on sõnadest lehekülgedest tuletatud lehekülgede tähistamine meetod, mida andmebaasid kasutavad andmekirjete jagamiseks mitmeks tükiks, segmendiks või leheküljeks. Ja kuna AWS DynamoDB toetab suurte andmemahtude salvestamist, on sellel usaldusväärsed lehekülgede otsimise võimalused.







DynamoDB lehekülgede muutmise komponent tagab, et saate skannimise või päringu kohta tuua ainult kuni 1 GB andmeid. Kuigi see on vaikeseade, saate piirangu määramiseks päringule lisada piirangu parameetri. Lisaks saate igas skannimispäringus määrata kirjete arvu piirangu.



Eelkõige on DynamoDB lehekülgede ja tüüpilise SQL-andmebaasi lehekülgede vahel mõned erinevused. Ilmselgelt kaasneb iga DynamoDB-s allalaaditud leheküljega kirjega otsene kulu, mistõttu on see DynamoDB-s lehekülgede kasutamisel kirjutamata reegel. See funktsioon muudab lehekülgede lugemise oluliseks teguriks nii otsitud kirjete kui ka otseste kulude piiramisel.



Lehekülje kasutamine DynamoDB-s





1. Leheküljed päringutoimingu ajal

DynamoDB-s tagastab päring ainult kuni 1 MB tulemused. Kuid tulemusi kontrollides saate tõhusalt kinnitada, kas tulemusi on rohkem. Eelkõige sisaldab madala taseme päringutoimingu tulemus LastEvaluatedKey elementi, mis ei ole null, mis näitab, et teie päringuga on seotud rohkem üksusi, mida peaksite hankima.

Tulemus ilma LastEvaluatedKey elemendita, mis ei ole null, tähendab, et kõik päringule vastavad üksused mahuvad 1 MB limiidi sisse ja toomiseks pole enam üksusi. Loomulikult saab määrata ka piirangu üksuste arvule ühe tulemuse kohta. Vaadake järgmist näidiskäsku:



aws dynamodb päring \

--tabeli nimi Minu tabelinimi \

--võtme-tingimuse avaldis 'PartitionKey = :pk \

--avaldise-atribuudi väärtused '{'
:pk ':{' S ':' a1234b '}},

--piirang 10 \

Eelmise käsu abil saate oma tabelist päringuid teha samade võtmetingimuse avaldise väärtustega üksuste kohta. Otsige oma tabelist „Tellimused” Darry Techi order_IDs. Samuti seadsime piiranguks 10 üksust lehel. Teine võimalus parameetri –limit jaoks on kasutada samal eesmärgil parameetrit –page-size.

Lehtede lehitsemine on AWS-i CLI-s automaatne toiming alla 1 MB andmete puhul. Kui soovite, et päring algaks konkreetsest tellimusest, võite käsule lisada eksklusiivse stardivõtme.

Vastus näeb välja selline:

Esitatud tulemused näitavad esimesel lehel 10 Darry Techi. Saate kasutada LastEvaluatedKey väärtusi, et saada uue päringu koostamiseks rohkem tellimusi, mis vastavad teie otsingu avaldise võtmeväärtustele. Uus päringupäring sisaldab LastEvaluatedKey väärtusi parameetris ExclusiveStartKey.

Süntaksi näide on näidatud järgmisel:

aws dynamodb päring \

--tabeli nimi NäideTabel \

--võtme-tingimuse avaldis 'PartitionKey = :pk \

--avaldise-atribuudi väärtused '{'
:pk ':{' S ': Darry Tech' \

--piirang 10 \

--eksklusiivne algusklahv '{'
PartitionKey ':{' S ': Darry Tech' }, 'Sorteerimisvõti' :{ 'S' : '5356' }} '

Eelmine käsk loob järgmisel lehel järgmised tasaarvestuskäsud, alustades tellimuse ID-st, millel on määratud primaarvõti, st {'PartitionKey':{'S': Darry Tech'},'SortKey':{'S': ”5356-sy”}}.

2. Lehtede jagamine skannimistoimingute ajal

Skannimistoimingute jaoks on võimalik kasutada ka lehekülgede jagamist. Kõik toimib samamoodi nagu päringukäskude puhul. Siiski peate kasutama atribuuti filter-expression. Käsk näeb välja selline, nagu meil siin on:

aws dynamodb skannimine \

--tabeli nimi MinuTabel \

--filtri avaldis 'Atribuudinimi = :väärtus' \

--avaldis-atribuut-väärtused '{':value':{'S':'ABC123'}}' \

--piira kakskümmend \

--eksklusiivne algusklahv '{'PartitionKey':{'S':'ABC123'},'SortKey':{'S':'XYZ987'}}'

Eelmine käsk eemaldab tabelist MyTable kuni 20 üksust lehekülje kohta, alustades üksusest, mille primaarvõti on {'PartitionKey': 'ABC123', 'SortKey': 'XYZ987'}. See filtreerib tulemused, et kaasata ainult need üksused, mille atribuudi AttributeName väärtus on „ABC123”.

Vastuses on LastEvaluatedKey väli sisaldab tulemusekomplekti viimase üksuse primaarvõtit. Saate seda väärtust kasutada kui Eksklusiivne StartKey järgnevas skannida toiming järgmise tulemuste lehe hankimiseks.

Järeldus

Leheküljed DynamoDB-s parandavad andmete hallavust. Siiski on oluline teada, kas teie süsteemid saavad lehekülgedest kasu. Kui teil on rakenduses pikk üksuste loend, on vaja kasutada lehte. Kuigi esitatud illustratsioon keskendub AWS-i CLI-kutsele, saate kasutada ka lehekülgede muutmist AWS-i SDK-dega, nagu Pythoni Boto3 või mis tahes eelistatud SDK.