ДинамоДБ пагинација: преглед, случајеви коришћења и примери

Dinamodb Paginacija Pregled Slucajevi Koriscena I Primeri



Управљање огромним количинама података може бити тежак задатак за менаџере података, углавном ако се ваш упит или резултати скенирања нађу на више страница. Пагинација у ДинамоДБ-у омогућава бази података да рукује великим количинама података разбијањем резултата на више страница којима се може управљати. Овај текст објашњава ДинамоДБ пагинацију и пружа различите могуће случајеве употребе и примере. Такође наглашава како се пагинација у ДинамоДБ-у разликује од пагинације у другим базама података.

Шта је пагинација у ДинамоДБ-у?

Генерално, пагинација, изведена из речи странице, је техника коју користе базе података да поделе записе података на више делова, сегмената или страница. А пошто АВС ДинамоДБ подржава складиштење великих количина података, има поуздане могућности пагинације.







ДинамоДБ компонента пагинације осигурава да можете да преузмете само до 1 ГБ података по скенирању или упиту. Иако је то подразумевана поставка, можете да додате параметар ограничења у упит да бисте одредили ограничење. Даље можете поставити ограничење за број записа у сваком упиту за скенирање.



Значајно је да постоји неколико разлика између пагинације у ДинамоДБ-у и пагинације у типичној СКЛ бази података. Најочигледније је да сваки пагинирани запис који се преузима у ДинамоДБ-у има директну цену, што ово чини неписаним правилом када се користи пагинација у ДинамоДБ-у. Ова карактеристика чини пагинацију виталним фактором у ограничавању и преузетих записа и директних трошкова.



Како користити пагинацију у ДинамоДБ-у





1. Пагинација током операције упита

У ДинамоДБ-у, упит враћа само резултате до 1 МБ. Али можете ефикасно потврдити да ли има више резултата тако што ћете пажљиво испитати своје резултате. Посебно, резултат операције упита ниског нивоа садржи елемент ЛастЕвалуатедКеи који није нул да би указао да постоји више ставки повезаних са вашим упитом које треба да преузмете.

Резултат без ЛастЕвалуатедКеи елемента који није нулл, подразумева да се све ставке које одговарају упиту уклапају у ограничење од 1 МБ и да више нема ставки за преузимање. Наравно, можете поставити и ограничење за број ставки по резултату. Погледајте следећи пример команде:



авс динамодб упит \

--табле-наме Име моје табеле \

--израз-услов-кључ „ПартитионКеи = :пк \

--екпрессион-аттрибуте-валуес '{'
:пк ':{' С ':' а1234б '}},

--ограничење 10 \

Можете да користите претходну команду да бисте у табели поставили упит за ставке са истим вредностима израза услова кључа. Хајде да претражимо нашу табелу „Поруџбине“ за ИД-ове налога из Дарри Тецх-а. Такође смо поставили ограничење на 10 ставки по страници. Друга опција за параметар –лимит је коришћење параметра –паге-сизе за исту сврху.

Пагинација је аутоматска операција у АВС ЦЛИ за ставке испод 1 МБ података. Можете додати ексклузивни почетни кључ команди ако желите да ваш упит почиње од одређеног редоследа.

Одговор изгледа овако:

Достављени резултати показују 10 Дарри Тецх на првој страници. Можете да користите вредности ЛастЕвалуатедКеи да бисте добили више налога који одговарају вредностима кључа израза ваше претраге да бисте направили нови упит. Нови захтев за упит садржи вредности ЛастЕвалуатедКеи у параметру ЕкцлусивеСтартКеи.

Пример синтаксе је приказан у наставку:

авс динамодб упит \

--табле-наме ПримерТабела \

--израз-услов-кључ „ПартитионКеи = :пк \

--екпрессион-аттрибуте-валуес '{'
:пк ':{' С ': Дарри Тецх' \

--ограничење 10 \

--екцлусиве-старт-кеи '{'
ПартитионКеи ':{' С ': Дарри Тецх' }, 'Кључ за сортирање' :{ 'С' : '5356' }} '

Претходна команда производи следеће налоге компензације на следећој страници, почевши од ИД-а налога који има наведени примарни кључ, тј. {“ПартитионКеи”:{“С”: Дарри Тецх”},”СортКеи”:{“С”: ”5356-си”}}.

2. Пагинација током операција скенирања

Такође је могуће користити пагинацију за операције скенирања. Све функционише на исти начин као и са командама упита. Међутим, потребно је да користите атрибут филтер-екпрессион. Команда изгледа као оно што имамо овде:

авс динамодб скенирање \

--табле-наме Моја табела \

--филтер-израз „АттрибутеНаме = :валуе“ \

--израз-атрибут-вредности '{':валуе':{'С':'АБЦ123'}}' \

--лимит двадесет \

--екцлусиве-старт-кеи '{'ПартитионКеи':{'С':'АБЦ123'},'СортКеи':{'С':'КСИЗ987'}}'

Претходна команда повлачи до 20 ставки по страници из табеле МиТабле, почевши од ставке чији је примарни кључ {“ПартитионКеи”: “АБЦ123”, “СортКеи”: “КСИЗ987”}. Филтрира резултате тако да укључује само ставке у којима атрибут АттрибутеНаме има вредност „АБЦ123“.

У одговору, ЛастЕвалуатедКеи поље садржи примарни кључ последње ставке у скупу резултата. Ову вредност можете користити као ЕкцлусивеСтартКеи у накнадном скенирати операција за преузимање следеће странице резултата.

Закључак

Пагинација у ДинамоДБ-у побољшава управљивост подацима. Међутим, важно је знати да ли ће ваши системи имати користи од пагинације. Неопходно је да користите пагинацију ако имате дугачку листу ставки у апликацији. Док је приказана илустрација фокусирана на АВС ЦЛИ позив, такође можете да користите пагинацију са АВС СДК-овима као што је Питхон-ов Бото3 или било који СДК који желите.