DynamoDB Pagination: கண்ணோட்டம், வழக்குகளைப் பயன்படுத்துதல் மற்றும் எடுத்துக்காட்டுகள்

Dynamodb Pagination Kannottam Valakkukalaip Payanpatuttutal Marrum Etuttukkattukal



உங்கள் வினவல் அல்லது ஸ்கேன் முடிவுகள் பல பக்கங்களில் இயங்கினால், பெரிய அளவிலான தரவை நிர்வகிப்பது தரவு மேலாளர்களுக்கு ஒரு மேல்நோக்கிய பணியாக இருக்கும். DynamoDB இல் உள்ள பேஜினேஷன், பல நிர்வகிக்கக்கூடிய பக்கங்களாக முடிவுகளை உடைப்பதன் மூலம் பெரிய தரவு அளவுகளைக் கையாள தரவுத்தளத்தை செயல்படுத்துகிறது. இந்த எழுதுதல் DynamoDB பேஜினேஷனை விளக்குகிறது மற்றும் பல்வேறு சாத்தியமான பயன்பாட்டு நிகழ்வுகளையும் எடுத்துக்காட்டுகளையும் வழங்குகிறது. DynamoDB இல் உள்ள பேஜினேஷன் மற்ற தரவுத்தளங்களில் உள்ள பேஜினேஷனிலிருந்து எவ்வாறு வேறுபடுகிறது என்பதையும் இது எடுத்துக்காட்டுகிறது.

டைனமோடிபியில் பேஜினேஷன் என்றால் என்ன?

பொதுவாக, பேஜினேஷன் என்பது வார்த்தைப் பக்கங்களிலிருந்து பெறப்பட்ட ஒரு நுட்பமாகும், இது தரவுப் பதிவுகளை பல துண்டுகளாக, பிரிவுகளாக அல்லது பக்கங்களாகப் பிரிக்க தரவுத்தளங்களால் பயன்படுத்தப்படுகிறது. AWS DynamoDB அதிக அளவிலான தரவைச் சேமிப்பதை ஆதரிப்பதால், இது நம்பகமான பேஜினேஷன் திறன்களைக் கொண்டுள்ளது.







ஒரு ஸ்கேன் அல்லது வினவலுக்கு 1 ஜிபி வரை மட்டுமே தரவை மீட்டெடுக்க முடியும் என்பதை DynamoDB பேஜினேஷன் கூறு உறுதி செய்கிறது. இது இயல்புநிலை அமைப்பாக இருந்தாலும், வரம்பைக் குறிப்பிட, வினவலில் வரம்பு அளவுருவைச் சேர்க்கலாம். ஒவ்வொரு ஸ்கேன் வினவலிலும் உள்ள பதிவுகளின் எண்ணிக்கைக்கான வரம்பை நீங்கள் மேலும் அமைக்கலாம்.



குறிப்பிடத்தக்க வகையில், DynamoDB இல் பேஜினேஷனுக்கும் வழக்கமான SQL தரவுத்தளத்தில் பேஜினேஷனுக்கும் இடையே சில வேறுபாடுகள் உள்ளன. மிகவும் வெளிப்படையாக, DynamoDB இல் பெறப்பட்ட ஒவ்வொரு பக்க பதிவும் நேரடி விலையுடன் வருகிறது, இது DynamoDB இல் பேஜினேஷனைப் பயன்படுத்தும் போது எழுதப்படாத விதியாக அமைகிறது. மீட்டெடுக்கப்பட்ட பதிவுகள் மற்றும் நேரடிச் செலவுகள் இரண்டையும் கட்டுப்படுத்துவதில் இந்த அம்சம் பேஜினேஷனை ஒரு முக்கிய காரணியாக ஆக்குகிறது.



DynamoDB இல் Pagination ஐ எவ்வாறு பயன்படுத்துவது





1. வினவல் செயல்பாட்டின் போது பேஜினேஷன்

DynamoDB இல், ஒரு வினவல் 1 MB வரையிலான முடிவுகளை மட்டுமே வழங்கும். ஆனால் உங்கள் முடிவுகளை ஆராய்வதன் மூலம் அதிக முடிவுகள் உள்ளதா என்பதை நீங்கள் திறம்பட உறுதிப்படுத்தலாம். குறிப்பிடத்தக்க வகையில், ஒரு குறைந்த-நிலை வினவல் செயல்பாட்டு முடிவில் LastEvaluatedKey உறுப்பு உள்ளது, இது பூஜ்யமற்றது, உங்கள் வினவலுடன் தொடர்புடைய கூடுதல் உருப்படிகளை நீங்கள் மீட்டெடுக்க வேண்டும் என்பதைக் குறிக்கிறது.

பூஜ்யமாக இல்லாத LastEvaluatedKey உறுப்பு இல்லாத முடிவு, வினவலுடன் பொருந்தக்கூடிய அனைத்து உருப்படிகளும் 1 MB வரம்பிற்குள் பொருந்தும் மற்றும் மீட்டெடுப்பதற்கான உருப்படிகள் எதுவும் இல்லை என்பதைக் குறிக்கிறது. நிச்சயமாக, ஒரு முடிவுக்கான உருப்படிகளின் எண்ணிக்கைக்கான வரம்பை நீங்கள் அமைக்கலாம். பின்வரும் மாதிரி கட்டளையைப் பார்க்கவும்:



aws dynamodb வினவல் \

--டேபிள்-பெயர் MyTableName \

--முக்கிய-நிலை-வெளிப்பாடு 'பார்ட்டிஷன் கீ = :pk \\

--expression-attribute-values ​​'{'
:pk ':{' எஸ் ':' a1234b '}},

--வரம்பு 10 \\

அதே முக்கிய நிபந்தனை வெளிப்பாடு மதிப்புகளைக் கொண்ட உருப்படிகளுக்கு உங்கள் அட்டவணையை வினவ, முந்தைய கட்டளையைப் பயன்படுத்தலாம். டாரி டெக்கிலிருந்து ஆர்டர்_ஐடிகளுக்கு எங்கள் “ஆர்டர்கள்” அட்டவணையைத் தேடலாம். ஒரு பக்கத்திற்கு 10 உருப்படிகள் என்ற வரம்பை நாங்கள் அமைத்துள்ளோம். -limit அளவுருக்கான மற்றொரு விருப்பம், அதே நோக்கத்திற்காக -page-size அளவுருவைப் பயன்படுத்துவதாகும்.

பேஜினேஷன் என்பது AWS CLI இல் 1MB தரவுக்குக் கீழே உள்ள உருப்படிகளுக்கான ஒரு தானியங்கி செயல்பாடாகும். உங்கள் வினவல் ஒரு குறிப்பிட்ட வரிசையிலிருந்து தொடங்க வேண்டுமெனில், கட்டளைக்கு ஒரு பிரத்யேக தொடக்க விசையைச் சேர்க்கலாம்.

பதில் இதுபோல் தெரிகிறது:

வழங்கப்பட்ட முடிவுகள் முதல் பக்கத்தில் 10 Darry Tech ஐக் காட்டுகின்றன. புதிய வினவலை உருவாக்க, உங்கள் தேடலின் வெளிப்பாடு முக்கிய மதிப்புகளுடன் பொருந்தக்கூடிய கூடுதல் ஆர்டர்களைப் பெற LastEvaluatedKey மதிப்புகளைப் பயன்படுத்தலாம். புதிய வினவல் கோரிக்கையானது ExclusiveStartKey அளவுருவில் LastEvaluatedKey மதிப்புகளைக் கொண்டுள்ளது.

தொடரியல் உதாரணம் பின்வருவனவற்றில் காட்டப்பட்டுள்ளது:

aws dynamodb வினவல் \

--அட்டவணை-பெயர் எடுத்துக்காட்டு அட்டவணை \

--முக்கிய-நிலை-வெளிப்பாடு 'பார்ட்டிஷன் கீ = :pk \\

--expression-attribute-values ​​'{'
:pk ':{' எஸ் ': டேரி டெக்' \\

--வரம்பு 10 \\

--பிரத்தியேக-தொடக்க விசை '{'
பகிர்வு விசை ':{' எஸ் ': டேரி டெக்' }, 'SortKey' :{ 'எஸ்' : '5356' }} '

முந்தைய கட்டளையானது, குறிப்பிட்ட முதன்மை விசையைக் கொண்ட ஆர்டர் ஐடியில் தொடங்கி அடுத்த பக்கத்தில் அடுத்த செட்டாஃப் ஆர்டர்களை உருவாக்குகிறது, அதாவது {“பார்ட்டிஷன் கீ”:{“எஸ்”: டாரி டெக்”},”SortKey”:{“S”: ”5356-sy”}}.

2. ஸ்கேன் செயல்பாட்டின் போது பேஜினேஷன்

ஸ்கேன் செயல்பாடுகளுக்கு பேஜினேஷனைப் பயன்படுத்தவும் முடியும். வினவல் கட்டளைகளைப் போலவே அனைத்தும் செயல்படுகின்றன. இருப்பினும், நீங்கள் வடிகட்டி-வெளிப்பாடு பண்புக்கூறைப் பயன்படுத்த வேண்டும். கட்டளை இங்கே இருப்பது போல் தெரிகிறது:

aws dynamodb ஸ்கேன் \

--டேபிள்-பெயர் MyTable \

--வடிகட்டி-வெளிப்பாடு 'பண்புப்பெயர் = :மதிப்பு' \\

--வெளிப்பாடு-பண்பு-மதிப்புகள் '{':மதிப்பு':{'S':'ABC123'}}' \\

--அளவு இருபது \\

--பிரத்தியேக-தொடக்க விசை '{'PartitionKey':{'S':'ABC123'},'SortKey':{'S':'XYZ987'}}'

முந்தைய கட்டளையானது MyTable அட்டவணையில் இருந்து ஒரு பக்கத்திற்கு 20 உருப்படிகள் வரை திரும்பப் பெறுகிறது, அதன் முதன்மை விசை {“PartitionKey”: “ABC123”, “SortKey”: “XYZ987”}. AttributeName பண்புக்கூறு 'ABC123' மதிப்பைக் கொண்டிருக்கும் உருப்படிகளை மட்டும் சேர்க்க முடிவுகளை வடிகட்டுகிறது.

பதிலில், தி LastEvaluatedKey புலத்தில் முடிவுத் தொகுப்பில் உள்ள கடைசி உருப்படியின் முதன்மை விசை உள்ளது. இந்த மதிப்பை நீங்கள் பயன்படுத்தலாம் பிரத்தியேக ஸ்டார்ட் கீ ஒரு அடுத்தடுத்து ஊடுகதிர் முடிவுகளின் அடுத்த பக்கத்தை மீட்டெடுப்பதற்கான செயல்பாடு.

முடிவுரை

DynamoDB இல் பேஜினேஷன் தரவை நிர்வகிக்கும் திறனை மேம்படுத்துகிறது. இருப்பினும், உங்கள் கணினிகள் பேஜினேஷனில் இருந்து பயனடைகின்றனவா என்பதை அறிவது மிக அவசியம். பயன்பாட்டில் உள்ள உருப்படிகளின் நீண்ட பட்டியல் உங்களிடம் இருந்தால் பேஜினேஷனைப் பயன்படுத்துவது அவசியம். வழங்கப்பட்ட விளக்கப்படம் AWS CLI அழைப்பில் கவனம் செலுத்தும் போது, ​​Python's Boto3 அல்லது நீங்கள் விரும்பும் SDK போன்ற AWS SDKகளுடன் பேஜினேஷனையும் பயன்படுத்தலாம்.